PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

30-04-2022, 12:43
|
BH8
Registrierter Benutzer
|
|
Registriert seit: Feb 2013
Beiträge: 30
|
|
PHP Script und Formular in einer Datei
Habe ein Formular (html Datei) und einen PHP Script (PHP-Datei)
kann man das in EINER Datei machen, ich möchte damit folgendes erreichen
1. Das eingegebene im Formularfeld auswerten, ob es den bestimmten Inhakt hat (z.B. 4-stellige Zahl, oder erste Stelle der Eingabe ist ein "?"
2. wenn das Eingegebene nicht korrekt ist, dann soll das Formular angezeigt bleiben
3. wenn die Eingabe richtig ist, dann soll der PHP Teil in der Datei ausgeführt werden
Kann mir da bitte jemand helfen
|

30-04-2022, 13:25
|
BH8
Registrierter Benutzer
|
|
Registriert seit: Feb 2013
Beiträge: 30
|
|
Habe es mal versucht, aber es geht leider nicht.
Wenn ich das Formular absende, kommt des echo nicht und es wird wieder das Formular angezeigt.
Das Formular soll nur angezeigt bleiben, wenn das Eingegebene nicht korrekt ist (hab ich noch keine Abfrage gemacht)
Und wenn alles stimmt, dann soll das Echo (oder der ganze PHP-Code ausgeführt werden
<div>
PHP-Code:
<?php //Formulareingabe prüfen if ($_POST[submit] && $_POST[check] == "1") { //Das was passieren soll, wenn das Formular abgeschickt wurde ### echo 'Formular abgesendet'; } // if Ende ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Suche</title> <link rel="stylesheet" href="layout.css"> </head> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="codeingabe"> <input type="text" id="code" name="code" autofocus><br><br> <input type="submit" name="btnG" value="Suche"> <input type="hidden" value="1" name="check"> </form> </body> </html>
|

30-04-2022, 13:29
|
KRaFFiX
Registrierter Benutzer
|
|
Registriert seit: Apr 2014
Beiträge: 3
|
|
Vergiss die Quotes nicht - dann brauchst du auf Check gar nicht mehr überprüfen.
PHP-Code:
<?php
//Formulareingabe prüfen
if ($_POST['submit']) {
//Das was passieren soll, wenn das Formular abgeschickt wurde ###
echo 'Formular abgesendet';
} // if Ende
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Suche</title>
<link rel="stylesheet" href="layout.css">
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="codeingabe">
<input type="text" id="code" name="code" autofocus><br><br>
<input type="submit" name="submit" value="Suche">
<input type="hidden" value="1" name="check">
</form>
</body>
</html>
Achtung: der Submit-Button muss auch genauso heißen.
|

30-04-2022, 13:34
|
ArneDrews
Registrierter Benutzer
|
|
Registriert seit: Jan 2016
Beiträge: 44
|
|
- Das Prinzip nennt sich Affenformular
- Array Indizes werden mit Quotes angegeben, sonst sind es Konstanten
- PHP_SELF solltest Du besser nicht verwenden
- Soll das Formular nach der Verareitung erneut angezeigt werden? Wenn nicht,benötigst Du ein exit. Evtl. zusammen mit einer header Umleitung
|

30-04-2022, 13:34
|
BH8
Registrierter Benutzer
|
|
Registriert seit: Feb 2013
Beiträge: 30
|
|
Es geht leider nicht. Egal ob ich da was eingeben in das Formularfeld oder nicht. Beim Absenden bleibt immer das Formular stehen und das ECHO wird nicht ausgeführt
|

30-04-2022, 13:37
|
ArneDrews
Registrierter Benutzer
|
|
Registriert seit: Jan 2016
Beiträge: 44
|
|
Lass Dir als erstes mal ein var_dump($_POST) ausgeben, dann siehst Du, was im POST Kanal drin steckt.
Beim ersten Aufruf führt das zu einem Warning, das ist normal, wichtig ist, dass Du nach dem Absenden etwas drin stehen hast.
|

30-04-2022, 13:40
|
BH8
Registrierter Benutzer
|
|
Registriert seit: Feb 2013
Beiträge: 30
|
|
Zitat:
Zitat von ArneDrews
- Das Prinzip nennt sich Affenformular
- Array Indizes werden mit Quotes angegeben, sonst sind es Konstanten
- PHP_SELF solltest Du besser nicht verwenden
- Soll das Formular nach der Verareitung erneut angezeigt werden? Wenn nicht,benötigst Du ein exit. Evtl. zusammen mit einer header Umleitung
|
Das Formular soll nur immer dann weiter angezeigt werden, wenn die Eingabe nicht stimmt (es soll z.B. immer eine 4-stellige, oder 8 stellige Zahl da rein und das mal mit "?" beginnend oder nur die Zahl:
z.B. 1234 oder 12345678 oder ?1234 oder ?12345678
wenn die Eingabe richtig ist, dann soll mein PHP-Code ausgeführt werden (im Beispiel hab ich nur ein ECHO) der richtige PHP-Code springt dann zu einer anderen Website mittels
echo '<meta http-equiv="refresh" content="1; url=' . htmlspecialchars($url, ENT_COMPAT, 'UTF-8') . '">';
|

30-04-2022, 13:44
|
ArneDrews
Registrierter Benutzer
|
|
Registriert seit: Jan 2016
Beiträge: 44
|
|
Den Sprung zu einer anderen Website kannst Du auch mit header() machen, dazu brauchst Du keinen HTML Tag. Bei dem Meta-Tag werden ja Informationen an den Browser gesendet, das benötigst Du ja nicht.
PHP-Code:
header('location: https://www.example.com');
exit;
Etwas zweck entfremdet, aber besser, wie das HTML Meta-Tag.
|

30-04-2022, 13:52
|
BH8
Registrierter Benutzer
|
|
Registriert seit: Feb 2013
Beiträge: 30
|
|
ich habe es derzeit alles in 2 Dateien und das funzt ja auch soweit gut.
- Habe ber noch keine Abfrage des INPUT Feldes auf die Eingaberichtigkeit
- wollte das in EINE Datei haben
also dass nur beim Absenden (und wenn die Eingabe einer Vorgabe entspricht)
--> mein PHP-Script abgearbeitet wird (der alleine geht wunderbar)
dabei dann das Formular nicht wieder angezeigt wird.
Und wenn die Eingabe nicht nach einer Vorgabe ist, soll das Formular weiter angezeigt werden mit evtl. einem Hinweis "Eingabe falsch oä."
|

30-04-2022, 13:55
|
ArneDrews
Registrierter Benutzer
|
|
Registriert seit: Jan 2016
Beiträge: 44
|
|
Ja... und was ist mit #6 und #8?
Probiert, ignoriert oder nicht verstanden?
Wenn der Codeblock nicht ausgeführt wird, scheint die Bedingung der IF-Klause falsch zu sein, bzw. false zu ergeben. => #6
Ob in zwei oder einer Datei, eine direkte Umleitung über den Browser macht keinen Sinn => #8
Code, der funktioniert, ist nicht immer automatisch eine gute Lösung.
|

30-04-2022, 14:03
|
BH8
Registrierter Benutzer
|
|
Registriert seit: Feb 2013
Beiträge: 30
|
|
#6
array(3) { ["code"]=> string(4) "1234" ["submit"]=> string(5) "Suche" ["check"]=> string(1) "1" }
Die Post-Eingabe funktioniert ja
#8
weiß nicht wie ich das machen muss.
Ich habe derzeit diese Weiterleitung zur Googlesuche mit dem im PHP errechnetem Wert der an die Googlesuche angehangen ist .
Das geht alles wunderbar
Sorry, bin leider blutiger Anfänger und möchte nun eben nur noch, dass ich die Eingabe des Wertes im Formular "kontrolliere" auf Richtigkeit.
Das Beispiel aus #3 geht, habe da den namen erst falsch gehabt.
|

30-04-2022, 18:26
|
ArneDrews
Registrierter Benutzer
|
|
Registriert seit: Jan 2016
Beiträge: 44
|
|
Das submit ist im dump von $_POST ja ersichtlich, von daher sollte das auch funktionieren. Aber der Value ist "Suche" vom Typ string. Du benötigst aber einen bool:
PHP-Code:
if (isset($_POST['submit']))
{
echo 'Formular abgesendet';
}
|

30-04-2022, 18:39
|
BH8
Registrierter Benutzer
|
|
Registriert seit: Feb 2013
Beiträge: 30
|
|
Zitat:
Zitat von ArneDrews
Das submit ist im dump von $_POST ja ersichtlich, von daher sollte das auch funktionieren. Aber der Value ist "Suche" vom Typ string. Du benötigst aber einen bool:
PHP-Code:
if (isset($_POST['submit'])) { echo 'Formular abgesendet'; }
|
danke, es lag am "name" der erst nicht "submit" war :-)
es funktioniert jetzt alles supi
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|