Die Verwendung von if (isset ($ _ POST ['submit'])), um kein Echo anzuzeigen, wenn das Skript geöffnet ist, funktioniert nicht

8

Ich habe ein kleines Problem mit meinem if(isset($_POST['submit'])) Code. Was ich möchte, sind einige Echos und eine Tabelle, die nicht angezeigt wird, wenn das Skript geöffnet ist, aber ich möchte, dass es angezeigt wird, wenn auf die Schaltfläche "Senden" für das Formular geklickt wurde. Das Problem ist jedoch, dass, wenn ich die if(isset($_POST['submit'])) -Funktion einschließe, wenn ich auf den Submit-Button klicke, die Echos und die Tabelle überhaupt nicht angezeigt werden. Warum ist das und können Sie mir bitte mit diesem Problem helfen.

Unten ist der Code:

%Vor%

Jede Hilfe wird sehr geschätzt werden, danke.

    
BruceyBandit 15.10.2011, 03:07
quelle

6 Antworten

25

Sie müssen Ihrem submit <input> einen Namen geben oder er wird nicht verfügbar sein mit $_POST['submit'] :

%Vor%     
Clive 15.10.2011, 03:12
quelle
8

Was Sie überprüfen

%Vor%

aber es gibt keinen Variablennamen namens "submit". Nun, ich möchte, dass Sie verstehen, warum es nicht funktioniert. Lass uns dir vorstellen, wenn du deinen Sendbutton-Namen löschst <input type="submit" value="Submit" name="delete" /> und check if(isset($_POST['delete'])) , dann funktioniert es in diesem Code, den Sie keinen Namen zu senden geben und prüfen, ob es existiert oder nicht mit isset(); -Funktion, so dass PHP keine Variable wie "submit" finden, so ist es nicht Jetzt arbeitest du folgendes:

%Vor%     
Mohit Bumb 15.10.2011 08:03
quelle
6

Sie haben Ihren Absenden-Button nie benannt, was das Formular betrifft, ist es nur eine Aktion.

Entweder:

  1. Benennen Sie den Absenden-Button ( <input type="submit" name="submit" ... /> )
  2. Testen Sie stattdessen if (!empty($_POST)) , um zu erkennen, wann Daten veröffentlicht wurden.

Denken Sie daran, dass die Schlüssel im $_POST superglobal nur für benannte Eingabeelemente angezeigt werden. Also, es sei denn, das Element hat das Namensattribut, es wird nicht zu $_POST (oder $_GET / $_REQUEST )

durchkommen     
Brad Christie 15.10.2011 03:11
quelle
1

Sie müssen Ihrem Absenden-Button einen Namen geben

%Vor%

Dann können Sie die Schaltfläche mit $_POST['login']

aufrufen     
Cristina Nogués 16.03.2015 10:51
quelle
1

Die Funktion $_post benötigt den Namenswert wie:

%Vor%

Rufen Sie

auf %Vor%     
saied lakhdar 27.09.2016 22:03
quelle
1

Was ist daran falsch?

%Vor%

login.php

%Vor%     
Himanshu Kriplani 15.03.2017 18:18
quelle

Tags und Links