Jürgen: Wie geb ich bei $_POST['news'] 2 namen an?

Hallo!

Erstmal das script von mir

<?php

if($_POST['submit']) {
 if(!$_POST['name']) {
 echo "Please enter your name";
 }
 if(!$_POST['news']) {
 echo "You have to add some news!";
 }
 else {
  if($_POST['name']) {
  echo "<b>Thank you $name, your news has been added.</b>\n";
  }
  }
}

?>

In dem script überprüfe ich ob ein name eingegeben wurde oder news.
Wenn aber keines von beidem eingegeben wird krieg ich beide Meldungen.Nun könnte ich natürlich hergehen und nach Please enter your name ein <br> angeben, aber es muss doch auch gehen beide Felder auf einmal abzufragen oder?

Dabei hab ich versucht herauszufinden wie ich bei $_POST['name' zwei Namen angeben kann.
Also if(!$_POST['name' UND 'news')]
Ist das so richtig if(!$_POST['name' . 'news')] ?
Glaub nicht oder? Weil ein Punkt verbindet doch die zwei?
Ich hab ein 700 Seiten dickes Buch über PHP und konnte darauf keine Antwort finden *seufz*. Schon eine Frechheit oder?

Ich möchte also drei Dinge abfragen, Wenn Feld Name leer ist dann echo....Oder Wenn Feld News leer ist dann echo.... Oder Wenn Feld Name UND News leer ist dann echo....

Vielen Dank schon mal im voraus,

Liebe Grüße aus Wien,
Jürgen

  1. Hallo!

    Erstmal das script von mir

    <?php

    if($_POST['submit']) {
    if(!$_POST['name']) {
    echo "Please enter your name";
    }
    if(!$_POST['news']) {
    echo "You have to add some news!";
    }
    else {
      if($_POST['name']) {
      echo "<b>Thank you $name, your news has been added.</b>\n";
      }
      }
    }

    ?>

    In dem script überprüfe ich ob ein name eingegeben wurde oder news.
    Wenn aber keines von beidem eingegeben wird krieg ich beide Meldungen.Nun könnte ich natürlich hergehen und nach Please enter your name ein <br> angeben, aber es muss doch auch gehen beide Felder auf einmal abzufragen oder?

    Dabei hab ich versucht herauszufinden wie ich bei $_POST['name' zwei Namen angeben kann.
    Also if(!$_POST['name' UND 'news')]
    Ist das so richtig if(!$_POST['name' . 'news')] ?
    Glaub nicht oder? Weil ein Punkt verbindet doch die zwei?
    Ich hab ein 700 Seiten dickes Buch über PHP und konnte darauf keine Antwort finden *seufz*. Schon eine Frechheit oder?

    Ich möchte also drei Dinge abfragen, Wenn Feld Name leer ist dann echo....Oder Wenn Feld News leer ist dann echo.... Oder Wenn Feld Name UND News leer ist dann echo....

    Vielen Dank schon mal im voraus,

    Liebe Grüße aus Wien,
    Jürgen

    1. Das posting kommt gleich

      1. Das posting kommt gleich

        ROFL!

      2. Das posting kommt gleich

        Danke ist schon gelöst worden von Sven.
        Danke dir aber für deine bemühungen :)

        Liebe Grüße,

        Jürgen

  2. Hallo Jürgen

    Ich hab ein 700 Seiten dickes Buch über PHP und konnte darauf keine Antwort finden *seufz*. Schon eine Frechheit oder?

    LOOOOOOOL

    In dem Buch wird sicherlich nur der Syntax und so erklärt,
    nicht aber jede Projektlösung gezeigt.
    Das ist dann Dein Bier.

    Das ganze machst am besten mit IF und ELSE dann wirds IMHO übersichtlicher.

    Hier ist mein PSEUDO-Code(!!) in richtiges PHP umschreiben wirst Du das, mit deinem 700-Seiten-Buch *ggg*

    IF("user" überhaupt eingeloggt)
    {
        if("name" leer)
        {
        namen angeben
        }

    if("news" leer)
        {
        keine News da
        }
    }

    else
    {
    nicht eingeloggt
    }

    LG
    Aquariophile

  3. Moin!

    Ich möchte also drei Dinge abfragen, Wenn Feld Name leer ist dann echo....Oder Wenn Feld News leer ist dann echo.... Oder Wenn Feld Name UND News leer ist dann echo....

    Dann mach das doch einfach:

    if (!$_POST['name'] && !$_POST['news])
    {
      //Wenn Name und News nicht gesetzt sind ...
    }
    else if (!$_POST['name'])
    {
      //Wenn Name nicht gesetzt ist
    }
    else if (!$_POST['news'])
    {
      //Wenn News nicht gesetzt ist
    }
    else
    {
      //Name und News sind gesetzt
    }

    Wenn du dir die Sache genauer betrachtest: Erst wird danach gefragt, ob beide Felder leer sind. Wenn das der Fall ist, wird der Rest dann übersprungen. Ansonsten wird geschaut, ob Name oder News einzeln leer sind (wenn ja, wird der Rest übersprungen.

    Sind beide Felder nicht leer, kommt das letzte else zum Zuge.

    - Sven Rautenberg

    1. Moin!

      Hiya!

      Dann mach das doch einfach:

      if (!$_POST['name'] && !$_POST['news])
      {
        //Wenn Name und News nicht gesetzt sind ...
      }
      else if (!$_POST['name'])
      {
        //Wenn Name nicht gesetzt ist
      }
      else if (!$_POST['news'])
      {
        //Wenn News nicht gesetzt ist
      }
      else
      {
        //Name und News sind gesetzt
      }

      Danke schön, ich wusste eben nicht wie ich if $variable1 UND $variable2 abfragen kann, aber jetzt weiss ich das man dafür && verwenden muss (kann).

      Vielen Dank.
      Werds jetzt gleich mal ausprobieren.

      Jürgen