letavino
Goto Top

Anfängerfrage HTML Formular ausblenden

Hallo, ich fange gerade an, mich in PHP einzuarbeiten und habe versucht eine kleine Problemstellung zu lösen.
Das ganze dient nur der Übung, also macht euch keine Gedanken um die Sinnhaftigkeit ;)

Das Programm sollte Vor und Nachnamen einlesen, eine Fehlermeldung anzeigen, wenn etwas nicht ausgefüllt wurde, dabei das Formular erneut anzeigen und wenn alles korrekt ist, eine Seite ohne Formular mit der Zeile: "Ihr Name ist..." ausgeben.
Problem: Das Formular verschwindet nicht.
Wie kann ich dies (am besten mit einfachsten Mitteln) ändern?
Wahrscheinlich nur eine Kleinigkeit, aber ich komme einfach nicht drauf.

Ich möchte außerdem die Felder so vordefinieren, dass bei einer vergessenen Eingabe nur das leere Feld ausgefüllt werden muss und nicht beide.
Ich dachte schon an: value="$vorname", was aber auch nicht ganz richtig zu sein scheint.

Ich hoffe ihr könnt mir schnell helfen!

Lg Florian


>
<?php echo'   
<html>
<head>
<title>Test</title>
<body>
';  

if(!isset($a)){
 
echo
'<form method="post">  
<PRE>
<FONT SIZE=4> Vorname: </FONT>           <input name="vorname" type="text"><br />  
<FONT SIZE=4> Nachname: </FONT>          <input name="nachname" type="text"><br /><br />  
                            <input name="abschicken" type="submit" value="Abschicken"/>  
</PRE>
</form>';  
};

if(isset($_POST['abschicken']))   
  {
  $vorname = $_POST['vorname'];  
  $nachname = $_POST['nachname'];  
  
  if (($nachname == '') && ($vorname != ''))  
     {  
     echo("Sie m&uuml;ssen ihren Nachnamen eingeben!");  
     };
     
  if (($nachname != '') && ($vorname == ''))  
     {
     echo("Sie m&uuml;ssen ihren Vornamen eingeben!");  
     };      
  
  if (($nachname == '') && ($vorname == ''))  
     {
     echo("Sie m&uuml;ssen ihren Vor- und Nachnamen eingeben!");  
     } 
  
  if (($nachname != '') && ($vorname != ''))   
     {
     $a=1;
     echo("Ihr Name ist: $vorname $nachname");  
     };};
echo'    
</body>
</html>'; ?>  

Content-Key: 151578

Url: https://administrator.de/contentid/151578

Printed on: April 23, 2024 at 20:04 o'clock

Member: nxclass
nxclass Sep 22, 2010 at 18:00:00 (UTC)
Goto Top
mal der Reihe nach ...
  • Daten einlesen
  • ggf. Daten prüfen
  • HTML code aufbauen (mit Formular oder ohne - kann nun entschieden werden)

wo wird $a gesetzt ? und wo prüfst du es? - da stimmt was nicht!

Das Script wird von oben nach unten abgearbeitet ... dann klappt es auch mit value="$vorname"
Member: Letavino
Letavino Sep 22, 2010 at 18:11:21 (UTC)
Goto Top
Zitat von @nxclass:
wo wird $a gesetzt ? und wo prüfst du es? - da stimmt was nicht!

Ich dachte mir $a als Abfragewert, ob die Daten korrekt waren.
Sind sie es, wird $a gesetzt und das Formular wird ausgeblendet.
Aber da habe ich bestimmt noch einen Gedankenfehler drin.

Das Script wird von oben nach unten abgearbeitet ... dann klappt es auch mit value="$vorname"

Ich werde es spätestens morgen noch einmal ausprobieren.
Ich hatte heute noch Probleme mit den " und ', dann hat er sich über die Variable beschwert (weil sie ja erst weiter unten einen Wert bekommt)
und dann hat er den Vorgabewert nicht übernommen.
Member: nxclass
nxclass Sep 22, 2010 at 18:17:57 (UTC)
Goto Top
dann hat er sich über die Variable beschwert (weil sie ja erst weiter unten einen Wert bekommt)
Genau das ist es

... setze mal Zeile 21 - 45 - an den Anfang deines Scripts - bzw. vor Zeile 09

Strings mit " - werden geparst - d.h. Variablen und Sonderzeichen ( /n /t usw. ) ersetzt. (das dauert natürlich etwas)
Strings mit ' werden wie Konstanten behandelt und nicht angefasst.
Member: Letavino
Letavino Sep 22, 2010 at 18:44:12 (UTC)
Goto Top
Nach dem Verschieben des PHP Blocks funktioniert alles wie gewünscht.
Vielen Dank für die schnelle und kompetente Hilfe! face-smile
Daumen hoch!