Verlinkung HTML zu PHP

romeo046

Grünschnabel
Hallo, ich hab mir nun schon einiges zu dem Thema durchgelesen, aber ich komm einfach nicht weiter :(
Ich habe eine HTML-Seite (neureg.html) welche ich mit neureg.php verbinden möchte. Diese soll die angegebenen Daten in die Datenbank speichern (tut sie auch brav) und mich dann auf Profl.html weitergeleiten. Das tut sie nicht.
Auf neureg.html hab ich einen Button mit anmelden. Wenn ich diesen klicke erscheint eine neue Seite, welche mir den gesamten Quelltext von neureg.php anzeigt.

Hier mal der HTML-Code:
HTML:
<form action="neureg.php" method="post">
           <table>
             <tr>
               <td> <p>Username</p> </td>
               <td> <p>
                 <label for="Username"></label>
                 <input type="text" name="username" id="username" onblur="checkInput(this)"><span id="usernameError"></span>
                </p>
               </td>
             </tr>
           
             <tr>
               <td> <p>Vorname</p> </td>
               <td> <p>
                 <label for="Vorname"></label>
                 <input type="text" name="Vorname" id="Vorname" onblur="checkInput(this)"><span id="VornameError"></span>
                </p>
               </td>
             </tr>
           
             <tr>
               <td> <p>Nachname</p> </td>
               <td> <p>
                 <label for="Nachname"></label>
                 <input type="text" name="Nachname" id="Nachname" onblur="checkInput(this)"><span id="NachnameError"></span>
                </p>
               </td>
             </tr>
           
             <tr>
               <td> <p>Ort</p> </td>
               <td> <p>
                 <label for="Ort"></label>
                 <input type="text" name="Ort" id="Ort" onblur="checkInput(this)"><span id="OrtError"></span>
                </p>
               </td>
             </tr>
           
             <tr>
               <td> <p>E-Mail</p> </td>
               <td> <p>
                 <label for="Email"></label>
                 <input type="text" name="Email" id="Email" onblur="checkInput(this)"><span id="EmailError"></span>
                </p>
               </td>
             </tr>
           
             <tr>
               <td> <p>Passwort</p> </td>
               <td> <p>
                 <input type="password" size="24" maxlength="50"
                 name="passwort" onblur="checkInput(this)"><span id="passwortError"></span><br>
                </p>
               </td>
             </tr>
           
             <tr>
               <td> <p>Passwort erneut</p> </td>
               <td> <p>
                 <input type="password" size="24" maxlength="50"
                 name="passwort2" onblur="checkInput(this)"><span id="passwort2Error"></span><br>
                </p>
               </td>
             </tr>
           
           
             <tr>
               <td> <input type="submit" onclick="window.location.href='Profil.html'" name="anmelden" id="anmelden" value="Anmelden"> </td>
               <!-- onclick="window.location.href='Profil.html'" -->
               <td> </td>
             </tr>
           </table>
         </form>

PHP:
und nun php:
<?php
/*Verbindung zur Datenbank*/
$verbindung = mysql_connect("localhost", "root" , "")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("mae") or die ("Datenbank konnte nicht ausgewählt werden");

/*Übergeben der Variablen*/
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];
$Vorname = $_POST["Vorname"];
$Nachname = $_POST["Nachname"];
$Ort = $_POST["Ort"];
$Email = $_POST["Email"];


/*Überprüfen ob Passwort und Benutzername eingegeben wurden, Überprüfen ob Passwörter übereinstimmen, */
if($passwort != $passwort2 OR $username == "" OR $passwort == "" )
  {
  echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"neureg.html\">Zurück</a>";
  exit;
  }

$passwort = md5($passwort);

$result = mysql_query("SELECT id FROM accounts WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);

/*eintragen der Daten in DB*/
if($menge == 0)
  {
  $eintrag = "INSERT INTO accounts (username, passwort, Vorname, Nachname, Ort, Email) VALUES ('$username', '$passwort', '$Vorname', '$Nachname','$Ort', '$Email')";
  $eintragen = mysql_query($eintrag);

   /*Verhalten nach erfolgreichem eintragen*/
  if($eintragen == true)
  {
     //echo"<a href=\"Profil.html\"> Profil</a>";
  header("Location: Profil.html");
     exit;
  }
  else
  {
  echo "Fehler beim Speichern des Benutzernames.";
  }


  }

else
  {
  echo "Benutzername schon vorhanden. <a href=\"neureg.html\">Zurück</a>";
  }
?>

Vielen Dank schonmal :)
 
Zuletzt bearbeitet:
Wärst du bitte so gut, die Quellcodes in die zugehörigen Highlight-Tags zu packen.

Also [code=html]...[/code] und [code=php]...[/code].

Und [code = php] mit den Leerzeichen führt(e) nicht zum gewünschten Ergebnis.

Vielen Dank!

romeo046 hat gesagt.:
So hab den ersten jetzt auch schön gemacht. Sonst wird die Seite ja ewig lang ;)
Und nun kannst du den doppelten Beitrag über den "Löschen"-Link wieder entfernen ;)
Mod. Anm. (ComFreek): Beiträge zusammengeführt, überflüssige gelöscht. Danke für die Meldung!

Zu deinem Problem; soweit ich das recht überblicke, dürfte die Ursache hier in Zeile 40 liegen:
PHP:
header("Location: Profil.html");

Lies dir hierzu mal den Abschnitt PHP: header - Manual durch.
 
Danke schonmal für deine Hilfe!
Ich habe den header nun zu
PHP:
header("Location: http://Profil.html");
     
     exit;

geändert und in der html-Datei die form-action zu
HTML:
<form action="http://127.0.0.1/neureg.php" method="post">
weil er es mir anders nicht mehr gespeichert hat.
Nun zeigt er mir an:
INSERT INTO accounts (username, passwort, Vorname, Nachname, Email, Ort) VALUES ('fd', '36eba1e1e343279857ea7f69a597324e', 'fd', 'dd', 'fddd@','fdd')
Also das was er tun soll und auch tut aber er leitet immernoch nicht weiter :(
Hab ich was überlesen auf der vorgeschlagenen Seite?
 
Ok danke. Jetzt noch ne blöde Frage: was ist meine Domain? Ist das der Ordner in dem meine ganzen HTML-CSS-PHP Sachen liegen? Mehr hab ich ja nicht. :confused:
 
Ich habe nun:
PHP:
header("Location:http://localhost/htdocs/Projekt/Profil.html");

Das Ergebnis ist das gleiche (Auch wenn ich htdocs weg lasse). Ich bekomme immer angezeigt:
SQL:
INSERT INTO accounts (username, passwort, Vorname, Nachname, Email, Ort) VALUES ('dsa', '08c6a51dde006e64aed953b94fd68f0c', 'dsa', 'das', 'dsa@','da')

Ich bin am verzweifeln :(
 
Zuletzt bearbeitet von einem Moderator:
Ich vermute einen Syntaxfehler bei Anführungszeichen etc.:
Bitte die aktuelle komplett Datei herzeigen.

PS: mysql_query ist böse.
 
PHP:
 <?php
 error_reporting(E_ALL);
 /*Verbindung zur Datenbank*/
$verbindung = mysql_connect("localhost", "root" , "")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("mae") or die ("Datenbank konnte nicht ausgewählt werden");

/*Übergeben der Variablen*/
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];
$Vorname = $_POST["Vorname"];
$Nachname = $_POST["Nachname"];
$Ort = $_POST["Ort"];
$Email = $_POST["Email"];


/*Überprüfen ob Passwort und Benutzername eingegeben wurden, Überprüfen ob Passwörter übereinstimmen, */
if($passwort != $passwort2 OR $username == "" OR $passwort == "" )
  {
  echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"neureg.html\">Zurück</a>";
  exit;
  }

$passwort = md5($passwort);

$result = mysql_query("SELECT id FROM accounts WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);

/*eintragen der Daten in DB*/
if($menge == 0)
  {
  $eintrag = "INSERT INTO accounts (username, passwort, Vorname, Nachname, Ort, Email) VALUES ('$username', '$passwort', '$Vorname', '$Nachname','$Ort', '$Email')";
  $eintragen = mysql_query($eintrag);

   /*Verhalten nach erfolgreichem eintragen*/
  if($eintragen == true)
  {
     //echo"<a href=\"Profil.html\"> Profil</a>";
  header("Location:http://localhost/htdocs/Projekt/Profil.html ");
     
     exit;
  }
  else
  {
  echo "Fehler beim Speichern des Benutzernames.";
  }


  }

else
  {
  echo "Benutzername schon vorhanden. <a href=\"neureg.html\">Zurück</a>";
  }
?>

So ist es aktuell :)
 
Zurück