Announcement

Collapse
No announcement yet.

PHP Werte in die Datenbank schreiben problematik.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PHP Werte in die Datenbank schreiben problematik.

    Hallo zusammen,

    Momentan habe ich folgendes Problem. Auf meiner Webpage möchte ich die Werte innerhalb eines Formulares über PHP in meine Datenbank schreiben. Struktur sieht wie folgendermaßen aus:

    Form ID = "Registration" method = "POST" action = "registration.php"
    {
    Benutzername: [Textboxform]
    Passwort: [Passwortform]
    Name: [Textboxform]
    Vorname: [Textboxform]
    Adresse: [Textboxform]
    Button: Name = "registrieren"
    }

    Unterhalb dieser Form ist dann ein Registrierenbutton, der den Namen "Registrieren" besitzt, damit ich ihn ansprechen kann. Das Form besitzt die ID = "Registration" und ich verwende die method = "POST" action = "registration.php" innerhalb dieser Datei steht folgender Code.

    Code:
    <?php
    
    	if (!empty($_POST["Registrieren"]))
        	{
        	 $Benutzername = $_POST["Benutzername"];
             $Passwort = $_POST["Passwort"];
             $Vorname = $_POST["Vorname"];
             $Nachname = $_POST["Nachname"];
    
            Danach gewährleiste ich die Datenbankverbindung.
    
    	 $db = mysqli_connect("localhost", "root", "", "database");
    	  if(!$db)
    	  {
    	        exit("Verbindungsfehler: ".mysqli_connect_error());		
              }
    
     $eintrag = 
    "INSERT INTO benutzer (Benutzername, Passwort, Anrede, Vorname, Nachname, Strasse, Hausnummer, PLZ, Ort, Land, Geburtsdatum,     Mailadresse) 
    VALUES ( '$Benutzername', '$Passwort' ,'$Anrede', '$Vorname', '$Nachname' ,'$Strasse' ,'$Hausnummer', '$PLZ' , '$Ort' , '$Geburtsdatum' , '$Land', '$email')";
    
          $eintragen = mysqli_query ($db, $eintrag);
           }
    
    ?>
    Speicher meine Abfrage in eine Variable und setzte sie in meine Datenbank. Nun kommt der Fehler. Die Werte stehen nicht in der Datenbank, ich bin nicht allzu erfahren in PHP und bin eher der C# Programmierer, wo ich mehr Erfahrung habe. Dort muss ich lediglich einen Verweis auf eine SQL.dll ins Projekt einfügen und die Datenbankverbindung öffnen, die Query übergeben und die Werte auslesen / einlesen und die Verbindung schließen. Was einem viel klarer ist. (Ich nutze im übrigen den Dreamweaver CC 2014 um die Webpage zu designen/programmieren)

    Ich brauche dringend Unterstützung, meine Site zu beenden. Das wäre mir sehr wichtig Wie oben genannt, ist das einzige Problem was ich erkenne das Eintragen der Daten in die Datenbank. Ich weiß nicht wo der Fehler zufinden ist.

    Mit freundlichen Grüßen,

    Breedi
    Zuletzt editiert von Breedi; 01.07.2014, 11:21.

  • #2
    Prüfe deine Reihenfolge
    Land, Geburtsdatum, Mailadresse)
    zu
    $Geburtsdatum' , '$Land', '$email')";
    Christian

    Comment


    • #3
      Habe dies behoben, dennoch übergibt er nicht die Daten in meine Datenbank

      Hier nochmal der HTML-Quellcodeteil!
      Code:
      	  <form action="registrierung.php" method="post" name="Registration" id="Registration">
      	    <p>
              <label for="Benutzername">Benutzername:</label>
              <input name="Benutzername" type="text" required id="Benutzername">
              <label for="Passwort">Passwort:</label>
              <input name="Passwort" type="password" required id="Passwort">
              <label for="Anrede">Anrede:</label>
              <select name="Anrede" required id="Anrede">
                <option>Herr</option>
                <option>Frau</option>
              </select>
              <label for="Vorname">Vorname:</label>
              <input name="Vorname" type="text" required id="Vorname">
              <label for="Nachname"><br>
                Nachname:</label>
              <input name="Nachname" type="text" required id="Nachname">
              <label for="Strasse">Strasse:</label>
              <input name="Strasse" type="text" required id="Strasse">
              <label for="Hausnummer">Hausnummer:</label>
              <input name="Hausnummer" type="text" required id="Hausnummer">
      	    Postleitzahl
      	    <label for="Postleitzahl">:</label>
              <input name="Postleitzahl" type="text" required id="Postleitzahl" maxlength="5">
      	    </p>
      	    <p>
      	      <label for="Ort">Ort:</label>
                <input name="Ort" type="text" required id="Ort">
                <label for="Land">Land:</label>
                <select name="Land" required id="Land">
                  <option>Deutschland</option>
                  <option>Schweiz</option>
                  <option>Österreich</option>
                </select>
                <label for="Geburtsdatum">Geburtsdatum:</label>
                <input name="Geburtsdatum" type="date" required id="Geburtsdatum">
      	      <label for="email">Email:</label>
                <input name="email" type="email" required id="email">
      	    </p>
      	    <p>
      	      <input type="submit" name="Senden" id="Senden" value="Registrieren">
      	    </p>
      	  </form>
      Zuletzt editiert von Breedi; 01.07.2014, 15:38.

      Comment


      • #4
        Dann würde ich mal debuggen und die Fehlerauswertung von MySQL bemühen. Daran sollte man das Problem erkennen können

        http://www.php.net/manual/de/function.mysql-error.php
        Christian

        Comment


        • #5
          Hallo,

          ich hoffe dein Code ist nur ein abgespeckter Beispielcode und landet nicht wirklich so in deiner Webseite und auf einem Live-Server!
          Formulardaten ungefiltert, ungeprüft und unmaskiert in einen SQL-String zu verketten ist ein absolutes Programmier-NoGo. Hier öffnest du SQL-Injection Tür und Tor.
          Bei Verwendung von MySQLi sollte man unbedingt auf Parametrisierte Abfragen, also Prepared-Statements setzen, um zumindest das Maskierungsproblem zu vermeiden.

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X