BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Problem mit Formularsubmit (http://www.black-board.net/thread.php?threadid=16762)


Geschrieben von MarsTheGod am 06.04.2004 um 13:05:

  Problem mit Formularsubmit

Hi, ich habe mal folgendes "Passwortvergessenformular" zusammen programmiert:

<p align="center">
<?
include ("db.php");
$proof6=empty($button6);
if($proof6=="1")
{
$button6="0";
}

if ($button6==" Absenden ")
{
$query = "SELECT * FROM xchange_user WHERE nickname='$nickname'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$passwort = $row['passwort'];
$email = $row['email'];
}

$email_to = "$nickname <$email>"; //Absender-Email
$email_from_mail = "MLRecords@gmx.de"; //Absender-Name
$email_from_name = "MLRecords"; //Betreff in der Mail
$email_betreff = "Passwort vergessen"; //BCC
$email_to_bcc = "MLRecords@gmx.de";

$emailbody='

Hallo ' . $nickname . ',
<br><br>
da du deine Zugangsdaten vergessen hast, kriegst du sie hiermit erneut zugesendet.
<br><br>
Dein Benutzername ist: ' . $nickname . '
<br><br>
Dein Passwort ist: ' . $passwort . '
<br><br>
Viel Spaß noch beim Bannerexchange,
<br><br>
Ciao MLRecords
';
$header="From:$email_from_name<$email_from_mail>\n";
$header .= "Reply-To: $email_from_mail\n";
$header .= "Bcc: $email_to_bcc\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $REMOTE_ADDR\n";
$header .= "Content-Type: text/html";
mail($email_to,$email_betreff,$emailbody,$header);

?>
Die E-Mail wurde erfolgreich versandt. <br><a href="index.php?var=login.php">Hier geht es zurück zum Login.</a>
<?
}
elseif ($button6=="0") {
?><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="20%" id="AutoNumber1">
<form method="post" action="index.php?var=forgot.php">
<tr><td>Benutzername: </td><td><input type="text" name="nickname" value=""></td></tr>
<tr><td><input type="submit" name="button6" value=" Absenden "></td></tr>
</table>

<?
}

?>
</p>



Hier habe ich jetzt folgendes Problem. Beim Klick auf den Button wird man sofort zur entsprechenden Ausgabe weiter geleitet. Aber wenn man mit Entertaste weiter will, passiert überhaupt nichts. Das Script gibt es in Aktion unter http://mlrecords.lima-city-webspace.de/xchange/index.php?var=forgot.php



Geschrieben von HeaD am 06.04.2004 um 13:46:

 

Beim druck auf Enter kann es passieren das der Submitwert nicht so übergeben wird, versuch mal:

statt

if ($button6==" Absenden ")

nimm mal

if ($_REQUEST[button6]==" Absenden ")

Ansonsten wüsste ich auch nichts, in Google hab ich zwar viel gefunden aber die lösen alles mit JavaScript und da ich niemals für sowas JavaScript nutze und eigendlich immer mit $_REQUEST arbeite könnt vielleicht da der Fehler liegen...

Wenn das auch nicht geht, schreib mal an einer Stelle an der Du immer eine Ausgabe hast, print_r($_REQUEST) und check mal was passiert beim klicken und was beim enter drücken passiert, ob die Werte dort stehen...



Geschrieben von MarsTheGod am 06.04.2004 um 13:54:

 

Nee, funktioniert immer noch nicht. Die Variable für Button6 bleibt stur auf 0, wenn ich Enter drücke. Wenn ich Klicke wechselt sie auf Absenden.



Geschrieben von LX am 06.04.2004 um 13:57:

Achtung

Dann mach's doch über ein <input type="hidden">. Das wird sowohl bei ENTER als auch beim Klicken auf SUBMIT gesendet.



Geschrieben von MarsTheGod am 06.04.2004 um 14:18:

 

Das mit dem hidden klappt. Danke. Nur komisch, dass es in der oberen Variante auch mit meinen anderen Formularen auf der Seite klappt.



Geschrieben von HeaD am 06.04.2004 um 14:49:

 

ich frag mich auch grade wieso das nur so geht, ich hab noch nie das Problem gehabt...


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH