• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

while und ausgabe?!

Status
Für weitere Antworten geschlossen.

wolf360

Neues Mitglied
Hey,

ich hab ein Problem, ich habe in einer while-schleife eine Überprüfung mit if und else und die gebn ein echo aus... blos wir durch die while schleife das echo zig mal wiederholt.!? geht es irgendwie das die ausgabe nur einmal dasteht anstatt 100 mal ?!

gruß wolf360
 
Hey,

ich hab ein Problem, ich habe in einer while-schleife eine Überprüfung mit if und else und die gebn ein echo aus... blos wir durch die while schleife das echo zig mal wiederholt.!? geht es irgendwie das die ausgabe nur einmal dasteht anstatt 100 mal ?!

gruß wolf360

Hi,

vllt. kannst Du ein wenig Sourcecode dabei packen, dann kann man versuchen zu helfen.

Gruß Sven
 
des is etz mal nur ein beispiel:

PHP:
<?php
     $zahl= 3;

   while($test = 3) {

       if($zahl = 3) {
         echo "Richtig";
       }
      else{
        echo "Falsch";
      }
   }
?>

hauptsächlich will ich eine dauerhafte überprüfung eines formulars?!
 
Ich will eine liste angeben was alles ausgefüllt werden muss, sobald ein eintrag vorhanden ist, verschwindet dieser punkt dann..?!

Wenn ich das ausgefüllte formular erst auf einer nächste seite oder durch eine aktuallisierung prüfe, muss der benutzer alles nochmal eingeben!
 
Ich will eine liste angeben was alles ausgefüllt werden muss, sobald ein eintrag vorhanden ist, verschwindet dieser punkt dann..?!

Wenn ich das ausgefüllte formular erst auf einer nächste seite oder durch eine aktuallisierung prüfe, muss der benutzer alles nochmal eingeben!

Da hast Du aber einen Fehler in Deiner Denkweise.

Es ist durchaus legitim, das Formular beim Submit auf der selben Seite zu prüfen. Zudem können eingegebene Werte gehalten werden, sodass eine Neueingabe des Benutzers nicht erforderlich ist.

Ein Beispiel (Ganz simpel):

PHP:
<?php

// POST VARS
$myNumber = $_POST['myNumber'];

// ERROR ARRAY
$formError = array();

// DEFAULT
$formError['number'] = false;

if(isset($_POST['send']))
{
  if(isset($myNumber) && is_numeric($myNumber))
  {
   // mach was
  }
  else
  {
    $formError['number'] = true;
  }
}
?>

<html>
<head>
  <title>My Test</title>
</head>
<body>

<form target="_self" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

Nummer : <input type="text" <?php if($formError['number'] == true) echo "style='border-color:red;'"; ?> name="myNumber" value="<?php echo $_POST['myNumber']; ?>">

<input type="submit" name="send" value="Sumbit">

</form>

</body>
</html>
 
so viel code nur damit der eintrag behalten wird?! oha... xD besonders hab ich auch nicht alles verstanden...

geht das echt nich kürzer?!
 
wieso checkst du net einfach, ob die felder gesetzt wurden oder nicht?

klar, dass das so viel ist, denn dein vorhaben ist nicht gerade das praktischste.

Nils aka XraYSoLo
 
ja aber wenn ich nur chekce ob sie gesetzt wurdn wird ja bei einem fehlen die seite neu geladn und alle einträge die gemacht wurdn werdn gelöscht?!
 
also etwas kürzen lässt es sich noch, aber was dein Vorhaben angeht wirst du um etwas Code nicht herumkommen.

Hier, das dürfte die, denke ich, kürzeste lösung sein
PHP:
<?php
$number = (empty($_POST['number'])) ? false :
          (is_numeric($_POST['number'])) ? true : false;
if($number)
{
  $number = $_POST['number'];
  //number ist in Ordnung, tu was
}
else
{
  ?>
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  Nummer :
  <input type="text" name="number"
  value="<?php echo (empty($_POST['number'])) ? '' : $_POST['number']; ?>"
  style="<?php echo (isset($_POST['number'])) ? 'border:1px solid red;' : ''; ?>"
  >
  <input type="submit" name="send" value="Sumbit">
  </form>
  <?php
}
?>

Macht aber nichts anderes als der schon gepostete code, nur das es etwas weniger zeichen sind xD
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben