PHP Userdaten-in Mqsql eintragen geht nicht :/

10/07/2013 19:07 12345manu#1
Hallo lieber epvpler!

unnezwar hab ich ein Problem mit meinem PHP-Code ich wollte so ne Art Tabellen Browsergame machen (noch ganz am Anfang) und wollte dafür eine emailverifizierung machen, leider werden die userdaten nicht in meine Tabelle reingeschrieben :/

Hier der Code der Verifizierung:

PHP Code:
<?php

$userreg 
$_GET["userreg"];
$pwreg $_GET["pwreg"];
$ereg $_GET["ereg"];

If (!(isset(
$_GET["userreg"]) && $_GET["pwreg"] && $_GET["ereg"]))
{
echo

"<html xmlns=http://www.w3.org/1999/xhtml xml:lang=en lang=en>

   <head>
    <title>Browsergame-Validierung</title>
    <link rel=stylesheet typ=text/css href=style.css/>
   </head>

   <body>
    <p>Es ist ein Fehler aufgetreten, bitte Versuche es erneut<p>
    <a href="
."index.php".">Startseite </a><a href="."registrierung.php"."> Registrierung</a>
    </form>
   </body>
</html>"
;

}

else

{

$user $_GET["userreg"];
$pw $_GET["pwreg"];
$e $_GET["ereg"];

$handle mysqli_connect("localhost""root""**passwort**" ,"userdatas");
mysqli_query($handle"INSERT INTO users (id, name, passwort, email) VALUES (NULL, '$user', '$pw', '$e')");

echo

"<html xmlns=http://www.w3.org/1999/xhtml xml:lang=en lang=en>

   <head>
    <title>Browsergame-Validierung</title>
    <link rel=stylesheet typ=text/css href=style.css/>
   </head>

   <body>
    <p>Danke für deine Registrierung "
.$userreg." du kannst dich jetzt einloggen.<p>
    <a href="
."index.php".">Startseite</a>
    </form>
   </body>
</html>"
;
}

?>
Hier der Code der die Email losschickt:

PHP Code:
<?php

echo

"<?xml version="."1.0"." encoding="."UTF-8"."?>

<!DOCTYPE html
    PUBLIC "
."-//W3C//DTD XHTML 1.0 Strict//EN".
    
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd".">

<html xmlns="
."http://www.w3.org/1999/xhtml"." xml:lang="."en"." lang="."en".">

   <head>
    <title>Browsergame</title>
    <link rel="
."stylesheet"." typ="."text/css"." href="."style.css"."/>
   </head>

   <body>
    <form action="
."registrierung.php"." meth="."get".">
        <p>Gib Hier deinen Benutzernamen ein</p>
       <input type="
."text"." name="."userreg"." size="."20"." maxlength="."16"."/>
        <p>Gib hier dein Passwort ein</p>
       <input type="
."password"." name="."pwreg"." size="."20"." maxlength="."20"."/>
           <p>Gib Hier deine Emailadresse ein</p>
       <input type="
."text"." name="."ereg"." size="."20"." maxlength="."50"."/>
       <input type="
."submit"." name="."bestaetigungsbutton"." value="."Registrieren".">
    </form>
   </body>
</html>"
;

If (!(isset(
$_GET["userreg"]) && $_GET["pwreg"] && $_GET["ereg"]))
{
echo
"<body>
   <p>Bitte gib Nutzername, Passwort und Email an</p>"
;
}

$userreg $_GET["userreg"];
$pwreg $_GET["pwreg"];
$ereg $_GET["ereg"];

If (isset(
$_GET["userreg"]) && $_GET["pwreg"] && $_GET["ereg"])

{

$finallink "http://therealhanf.1x.de/validate.php?userreg=".$userreg."&pwreg=".$pwreg."&ereg=".$ereg;
$sub "Deine Registrierung bei TheRealHanf";
$header 'From: [Only registered and activated users can see links. Click Here To Register...]"\r\n" ;

$nachricht "Danke für deine Registrierung ".$userreg.
"\n"."Dein Passwort lautet: ".$pwreg.
"\n"."Um die Registrierung abzuschließen klicke auf Folgenden Link:".
"\n" $finallink;

mail $ereg $sub $nachricht $header);


echo
   
"<body>
   <p>Danke für deine Registrierung, eine Email mit deinen Daten wurde soeben an dich versendet.</p>"
;
}

?>
Für die Test's habe ich immer folgenden Link verwendet:

[Only registered and activated users can see links. Click Here To Register...]

Zum testen der Seiten benutze ich XAMPP Ver. 3.2.1

Anbei noch ein paar Screenshots meiner Datenbank

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
10/07/2013 19:24 ωօղძεɾlმղძ#2
Ich sehe paar 100 Fehler....
10/07/2013 19:27 kissein#3
Was sagt Dein Referenzhandbuch von PHP an dieser Stelle?
Desweiteren aktivier bitte das Debugging Level im Apache und füge folgenden PHP Code in die erste Zeile Deiner Dateien:
Quote:
error_reporting(E_ALL);
Evtl. hilft Dir auch eine IDE mit Syntaxhighlighting den Quellcode zu verbessern.
10/07/2013 19:28 12345manu#4
Soooooooooo viele sind das auch wieder nicht :O außerdem kann ich nichts dafür wenn epvp keine spoiler unterstützt ;)

Das Referenzbuch hat nichts dazu also zwar die Befehle wie man was einträgt und habs auch nach dem Schema gemacht, leider funktioniert es trotzdem nicht ;)

Quote:
Originally Posted by kissein View Post
Debugging Level im Apache
Debugging... was? o.O

Quote:
Originally Posted by kissein View Post
IDE mit Syntaxhighlighting
Synta? xD sry bin sehr neu in php :O
10/07/2013 19:47 ωօղძεɾlმղძ#5
Quote:
Originally Posted by 12345manu View Post
außerdem kann ich nichts dafür wenn epvp keine spoiler unterstützt ;)

Wie war das nochmal?
10/07/2013 20:09 12345manu#6
Ich glaube nicht das das mein Problem war :D
10/07/2013 20:18 Savey#7
Soar, melde ich mich auch nochmal zu Worte, ich als PHP Flop sehe dort keine Fehler.
Öhh, ich empfehle dir mal in ein php Forum schauen, die helfen da sehr gut :)
10/07/2013 20:19 12345manu#8
Ja, Danke Nils für deine hilfreiche Antwort... also b2t jemand nö idee? :/
10/08/2013 00:50 Mikesch01#9
Also da gibts wirklich einige Unschönheiten^^

Aber was mir hier deutlich auffält ist dies:
PHP Code:
mysqli_query($handle"INSERT INTO users (id, name, passwort, email) VALUES (NULL, '$user', '$pw', '$e')"); 
Benutze bitte auto_increment beim Primärschlüssel und lass die ID in dem INSERT-Query weg. Du schreibst somit nie eine hinein.

Mein Vorschlag:
PHP Code:
mysqli_query($handle"INSERT INTO users (name, passwort, email) VALUES ('".$user."', '".$pw."', '".$e."')"); 
10/16/2013 21:41 holyshit390#10
Tipp:

Statt immer
PHP Code:
[...] '".$var."','".$var2."' [...] 
zuschreiben kannste auch
PHP Code:
[...] '{$var}','{$var2}' [...] 
machts dir vielleicht etwas übersichtlicher :)