Webdesign in Siegen

if-Abfrage

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

if-Abfrage

Beitragvon kwd am 14.04.2008, 11:10

Hi,

es geht um eine einfache (ähm.. :roll: ) if-Abfrage.. irgendwas mache ich falsch:

Code: Alles auswählen
<form method="post" action="gutschein.php">
<select name="auswahl[]" size="3" multiple="multiple">
<option value="1">Auswahl 1</option>
<option value="2">Auswahl 2</option>
<option value="3">Auswahl 3</option>
</select>
<input type="submit" name="senden" value="Senden">
</form>

<?php
$auswahl = $_POST['auswahl'];
echo 'Ausgew&auml;hlt wurden: ';
for($i=0;$i<count($auswahl);$i++)
{
echo $auswahl[$i];
if ($auswahl==1)
{
   echo 'test';
   }

elseif ($auswahl==2)
{
   echo 'test2';
   }

elseif ($auswahl==3)
{
   echo 'test3';
   }
}
?>


Es wird wohl jeweils die if-Zeile das Problem sein bzw. ich finde mal wieder die richtige Syntax nicht, habe fast alle durch (aber die richtige war, wie man sieht, noch nicht dabei). Kann mir jemand helfen?
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: if-Abfrage

Beitragvon Avedo am 14.04.2008, 11:24

Hallo!
Ich gehe nun einfach mal davon aus, dass die Datei, in der das Formular liegt gutschein.php heißt?! Zu deinem Code. Du solltest erstmal prüfen, ob eine Variable $_POST['auswahl'] überhaupt existiert und ob sie eventuell leer ist. Dementsprechend, solltest du das ganze auch behandeln. Wäre auch nicht falsch zu überprüfen, ob das Formular überhaupt gesendet wurde. Zudem hat die for()-Schleife da nichts zu suchen. Benutze foreach, da dein $_POST['auswahl'] ein Array ist. Wieso? Keine Ahnung du hast es so definiert. Musst also noch so einiges machen.
MfG, Andy
Ich bin zu Mimis Religion konvertiert!
I'm so tired of slitting the throats of people calling me a violent psychopath.
Benutzeravatar
Avedo
Mitglied
 
Beiträge: 464
Registriert: 09.12.2007, 20:12
Wohnort: Göttingen

Re: if-Abfrage

Beitragvon Eyecatcher am 14.04.2008, 11:50

Versuchs mal so, ohne den seltsamen Array im Namen
Code: Alles auswählen
    <form method="post" action="gutschein.php">
    <select name="auswahl" size="3" multiple="multiple">
    <option value="1">Auswahl 1</option>
    <option value="2">Auswahl 2</option>
    <option value="3">Auswahl 3</option>
    </select>
    <input type="submit" name="senden" value="Senden">
    </form>

Code: Alles auswählen
<?php
    $auswahl = $_POST['auswahl'];
    if(!empty($auswahl)
    {
    echo 'Ausgew&auml;hlt wurden: ';
    if ($auswahl==1)
        echo 'test 1';
    else if ($auswahl==2)
        echo 'test 2';
    else if ($auswahl==3)
        echo 'test 3';
    }
    ?>

Ein anderer Weg, aber in dem Fall mit der selben Ausgabe:
Code: Alles auswählen
$auswahl = $_POST['auswahl'];
    if(!empty($auswahl)
         echo 'Ausgew&auml;hlt wurden: test '.$auswahl;
    ?>
Demnächst: php-studio.com
Benutzeravatar
Eyecatcher
Mitglied
 
Beiträge: 249
Registriert: 01.03.2008, 21:56
Wohnort: Espelkamp

Re: if-Abfrage

Beitragvon kwd am 14.04.2008, 14:43

Huhu,

Code: Alles auswählen
Parse error: syntax error, unexpected '{' in /www/htdocs/xx/gutschein.php on line 83


Code: Alles auswählen
80. <?php
81.    $auswahl = $_POST['auswahl'];
82.    if(!empty($auswahl)
83.    {
84.     echo 'Ausgew&auml;hlt wurden: ';
85.     if ($auswahl==1)
86.        echo 'test 1';
87.    else if ($auswahl==2)
88.        echo 'test 2';
89.    else if ($auswahl==3)
90.        echo 'test 3';
91.     }
92.    ?>




Mal janz bäck tu see ruts :mrgreen:

So funktionierts:

Code: Alles auswählen
<form method="post" action="gutschein.php">
<select name="auswahl[]" size="3" multiple="multiple">
<option value="1">Auswahl 1</option>
<option value="2">Auswahl 2</option>
<option value="3">Auswahl 3</option>
</select>
<input type="submit" name="senden" value="Senden">
</form>

<?php
$auswahl = $_POST['auswahl'];
echo 'Ausgew&auml;hlt wurde: ';
for($i=0;$i<count($auswahl);$i++)
{
echo $auswahl[$i];
}
?>


Also ist wohl die if-Geschichte das Problem..
Zuletzt geändert von kwd am 14.04.2008, 14:46, insgesamt 2-mal geändert.
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: if-Abfrage

Beitragvon Avedo am 14.04.2008, 14:45

Hallo!
Das ist doch wirklich einfach. Da kannst du auch selbst drauf kommen. Eine Klammer fehlt.
Code: Alles auswählen
82.    if(!empty($auswahl)

wird zu
Code: Alles auswählen
82.    if(!empty($auswahl))

MfG, Andy
Ich bin zu Mimis Religion konvertiert!
I'm so tired of slitting the throats of people calling me a violent psychopath.
Benutzeravatar
Avedo
Mitglied
 
Beiträge: 464
Registriert: 09.12.2007, 20:12
Wohnort: Göttingen

Re: if-Abfrage

Beitragvon kwd am 14.04.2008, 14:49

Wahrscheinlich schiel ich schon, man sollte auch mal Pausen machen :oops: Danke!
LG

Mona
kwd
Mitglied
 
Beiträge: 35
Registriert: 24.03.2008, 15:30
Wohnort: Niedersachsen

Re: if-Abfrage

Beitragvon Manuel am 15.04.2008, 21:21

Ach auch sowas passiert... :)
An solchen Fehlern suche ich auch meist am längsten wenns dich tröstet ;)

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8389
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Re: if-Abfrage

Beitragvon =Max= am 16.04.2008, 07:41

Ich löse das immer so:
Code: Alles auswählen

<form method="post" action="gutschein.php">
<select name="auswahl" size="3" multiple="multiple">
<option value="1">Auswahl 1</option>
<option value="2">Auswahl 2</option>
<option value="3">Auswahl 3</option>
</select>
<input type="submit" name="senden" value="Senden">
</form>

<?php
$auswahl = $_POST['auswahl'];
echo 'Ausgew&auml;hlt wurden: ';
for($i=0;$i<count($auswahl);$i++)
{
echo $auswahl[$i];
if ($auswahl == '1')
{
   echo 'test';
   }

elseif ($auswahl == '2')
{
   echo 'test2';
   }

elseif ($auswahl == '3')
{
   echo 'test3';
   }
}
?>

=Max=
Mitglied
 
Beiträge: 375
Registriert: 14.01.2007, 18:59

Re: if-Abfrage

Beitragvon Manuel am 16.04.2008, 09:47

Für solche Ausgaben würde ich dir übrigens unbedingt einen "Switch" empfehlen, um immer wiederkehrende elseif zu vermeiden.
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8389
Registriert: 10.12.2004, 19:29
Wohnort: Asbach


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast