Sponsor-Board.de
Warum wird mein Benutzer nicht übergeben?

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Scripting (/forumdisplay.php?fid=108)
+---- Thema: Warum wird mein Benutzer nicht übergeben? (/showthread.php?tid=36460)


Warum wird mein Benutzer nicht übergeben? - Fredix - 04.03.2013 23:43

Habe hier dieses Script

PHP-Code:
if ($_POST[submit]){
$usernick '';
if (isset (
$_POST['usernick'])) {
    
$usernick $_POST["usernick"];
}
else
{
    echo 
"$usernick";
    die(
'Kein Benutzer Übergeben');
}
$sqlSecureUsernick mysql_real_escape_string($usernick);

$emailnick '';
if (isset (
$_POST['emailnick'])) {
    
$emailnick $_POST["emailnick"];
}
else
{
    die(
'Kein Benutzer Übergeben');
}
$sqlSecureEmailNick mysql_real_escape_string($emailnick);

$kommentar '';
if (isset (
$_POST['kommentar'])) {
    
$kommentar $_POST["kommentar"];
}
else
{
    die(
'Kein Benutzer Übergeben');
}
$sqlSecureKommentar mysql_real_escape_string($kommentar);

$ip=getenv("REMOTE_ADDR");
$timeget time();
$datum date("d.m.Y",$timeget);
$timeget time();
$uhrzeit date("H:i",$timeget); 

$eintrag "INSERT INTO kommentar (username, usernick, email, ip, uhrzeit, datum, kommentar) VALUES ('$username', '$sqlSecureUsernick', '$sqlSecureEmailNick', '$ip', '$uhrzeit', '$datum', '$sqlSecureKommentar')";
$eintragen mysql_query($eintrag);
echo 
"Ihr Kommentar wurde gespeichert!";
}else{
echo 
"Gebe deinen Kommentar zu dem Auto von $username ab!";
 echo 
'<form action="'.htmlentities($_SERVER['PHP_SELF']).'" method="post">';
echo 
'Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="usernick"><br>

Deine Email Adresse:<br>
<input type="text" size="24" maxlength="50"
name="emailnick"><br>

Dein Kommentar:<br>
<textarea name="kommentar" cols="50" rows="10"></textarea><br>'
;

 echo 
'<input type="submit" name="submit" value="Abschicken" />';
 echo 
'</form>';

jedoch wird mir immer nur angezeigt es wird kein benutzer übergeben..
Wieso?


RE: Warum wird mein Benutzer nicht übergeben? - Buchstabensalat - 04.03.2013 23:51

Es wäre vielleicht hilfreich nicht immer die selbe Meldung rauszugeben, egal, was fehlt Biggrin


RE: Warum wird mein Benutzer nicht übergeben? - Fredix - 04.03.2013 23:53

Habe ich bearbeitet ^^ Nachdem ich es auch gesehen habe xD
Fehler bleibt aber


RE: Warum wird mein Benutzer nicht übergeben? - Dream-Code - 04.03.2013 23:54

Ich würde auch anstatt mit real_escape_string mit Prepared Statements arbeiten, um die Sicherheit zu erhöhen. Und wegen dem eigentlichen Problem muss ich Buchstabensalat zustimmen, verschiedene Meldungen würden helfen, das Problem zu lokalisieren.


RE: Warum wird mein Benutzer nicht übergeben? - Fredix - 04.03.2013 23:57

Habe ja bereits geschrieben das ich es geändert habe aber trotzdem der gleiche Fehler bleibt der gibt mir nicht die Daten aus dem Formular aus


RE: Warum wird mein Benutzer nicht übergeben? - Dream-Code - 04.03.2013 23:59

Könntest du einmal das neue Skript posten und vllt auch einen Demolink bereitstellen, damit ich mir ein Bild machen kann?


RE: Warum wird mein Benutzer nicht übergeben? - Buchstabensalat - 05.03.2013 00:02

Mal davon abgesehen, dass ich mir nicht sicher bin, ob die erste zeile nicht eher $_POST['submit'] lauten muss.

Sicher, dass der Fehler in diesem teilabschnitt liegen muss? Weil das scheint ja nicht das komplette script zu sein. (irgendwo wird ja auch noch $username gesetzt z.b.)


RE: Warum wird mein Benutzer nicht übergeben? - Fredix - 05.03.2013 00:03

PHP-Code:
if ($_POST[submit]){
$user '';
if (isset (
$_POST['user'])) {
    
$user $_POST["user"];
}
else
{
    echo 
"$user";
    die(
'Kein Benutzer Übergeben');
}
$sqlSecureUser mysql_real_escape_string($user);

$emailnick '';
if (isset (
$_POST['emailnick'])) {
    
$emailnick $_POST["emailnick"];
}
else
{
    die(
'Keine Email Übergeben');
}
$sqlSecureEmailNick mysql_real_escape_string($emailnick);

$kommentar '';
if (isset (
$_POST['kommentar'])) {
    
$kommentar $_POST["kommentar"];
}
else
{
    die(
'Kein Kommentar Übergeben');
}
$sqlSecureKommentar mysql_real_escape_string($kommentar);

$ip=getenv("REMOTE_ADDR");
$timeget time();
$datum date("d.m.Y",$timeget);
$timeget time();
$uhrzeit date("H:i",$timeget); 

$eintrag "INSERT INTO kommentar (username, usernick, email, ip, uhrzeit, datum, kommentar) VALUES ('$username', '$sqlSecureUser', '$sqlSecureEmailNick', '$ip', '$uhrzeit', '$datum', '$sqlSecureKommentar')";
$eintragen mysql_query($eintrag);
echo 
"Ihr Kommentar wurde gespeichert!";
}else{
echo 
"Gebe deinen Kommentar zu dem Auto von $username ab!";
 echo 
'<form action="'.htmlentities($_SERVER['PHP_SELF']).'" method="post">';
echo 
'Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="user"><br>

Deine Email Adresse:<br>
<input type="text" size="24" maxlength="50"
name="emailnick"><br>

Dein Kommentar:<br>
<textarea name="kommentar" cols="50" rows="10"></textarea><br>'
;

 echo 
'<input type="submit" name="submit" value="Abschicken" />';
 echo 
'</form>';


Online Demo leider nicht da es aktuell nur offline läuft also auf meinem Rechner


RE: Warum wird mein Benutzer nicht übergeben? - Buchstabensalat - 05.03.2013 00:05

alternativ kannst du die ja auch mal $_POST komplett ausgeben lassen (print_r($_POST)Wink (dabei würde ich dann empfehlen in den seiten quelltext zu gucken, da der browser die print_r ausgabe natürlich formatiert Tongue)


RE: Warum wird mein Benutzer nicht übergeben? - Dream-Code - 05.03.2013 00:07

@Buchstabensalat: die Prüfung einer POST-Variablen ist auch in der von Fredix genannten Form machbar, daran liegt es nicht :/
@Fredix: wird nur der fehlende Username oder auch andere Formularelemente bemängelt?
Der Rest des Scripts bzw. andere Dateien wären hier wie Salat schon sagte hilfreich.


RE: Warum wird mein Benutzer nicht übergeben? - Fredix - 05.03.2013 00:39

Habe den Fehler gefunden mit dem User dlite.
Ich bin von einer user.php?user=blabla gekommen aber auf die user.php selber direkt gekommen