Formular ausführen - Button bzw Enter Taste

proloser

Erfahrenes Mitglied
Hallo,

ich habe ein Formular, wenn ich auf den Button "suchen" klicke funktionert es und die Namen werden aufgelistet!

Sobald ich die Taste "Enter" drücke sollte es doch normal auch funktionieren aber das Problem ist damit keine Namen aufgelistet werden ...


HTML:
<form action="datei.php" method="POST">
  <input type="text" name="submit_search" size="38">
  <input type="submit" value="suchen" name="search_check">
</form>


datei.php
PHP:
if($_POST['search_check']) { 
  $res=mysql_query("SELECT * FROM buyer WHERE nachname LIKE '%$submit_search%'"); 
  while($row=mysql_fetch_array($res)) {
   echo "$row[nachname]";
  }
}
 
Hallo,

der Name des Submit-Buttons wird nur dann in die verschickten Formulardaten integriert, wenn das Formular auch tatsächlich durch Betätigen dieses Buttons verschickt wird. Dies ist beim Drücken der Eingabetaste nicht der Fall. Du könntest stattdessen die verwendete Abfragemethode mit $_SERVER['REQUEST_METHOD'] überprüfen.

Grüße,
Matthias
 
'REQUEST_METHOD'

Welche Anforderungsmethode benutzt wurde, um auf die Seite zuzugreifen, z. B. 'GET', 'HEAD', 'POST', 'PUT'.

Das heißt $_SERVER['REQUEST_METHOD'] könnte in deinem Fall POST enthalten, wenn du dein Formular abschickst... Völlig egal ob mit submit oder per Enter Taste.
 
Wie soll denn das funktionieren?

Auf die art? Sry aber ich checks echt nicht!

PHP:
if($_SERVER['REQUEST_METHOD']) {  
  $res=mysql_query("SELECT * FROM buyer WHERE nachname LIKE '%$submit_search%'");  
  while($row=mysql_fetch_array($res)) { 
   echo "$row[nachname]"; 
  } 
}
 
Hallo,

also ich würds einfach so machen :
PHP:
if($_POST) {   
  $res=mysql_query("SELECT * FROM buyer WHERE nachname LIKE '%$submit_search%'");   
  while($row=mysql_fetch_array($res)) {  
   echo "$row[nachname]";  
  }  
}
 
Also proloser,

ganz easy...

Wenn du mit der Maus auf deinen Button klickst bekommste ja die $_POST['search_check']; übertragen...

Aber wenn du das formular via Enter weiterschickst bekommste logischerweise nicht diese variable, da wir ja net druff geklickt haben, also hat dir Meister [FLEX] vorgeschlagen, einfach mit PHP zu prüfen, ob diese Seite über die Methode "POST" geöffnet wurde.

Wenn wir in den Internet Explorer oben eine Seite eintippen ist das eine "GET"-Methode...
Formulare haben dafür die "POST"-Methode...

Also prüfe einfach mit der "REQUEST_METHOD" ob wir eine POST-Anfrage an das Dokument haben, wenn ja, kann die auswertung beginnen ;D

MFG
Hawkster
 
Würde mit einem Button auf der Seite funktionieren aber ich hab mehrere und desshalb muss ich im PHP Script abfragen welcher Button gedrückt wurde.
 
Zurück