if-elseif-schleifen problem, parse error oder endlosschleife

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
kOOni
Mitglied
Beiträge: 9
Registriert: 23.02.2003 11:39
Kontaktdaten:

if-elseif-schleifen problem, parse error oder endlosschleife

Beitrag von kOOni »

Man soll in einem script

in ein Formular schreiben, es abschicken, das nächste ausfüllen, es abschicken usw.

das eine baut sich auf dem vorherigen auf, außer beim ersten formular.

nun wollt ich das über eine forschleife lösen, hier mein code:

Code: Alles auswählen

for($if=0;$if<=2;$if++)

{

        if($if=0)

        {

              echo "irgendwas";

        }



        if($if=1)

        { 

              echo "irgendwas2";

        }



        if($if=2)

        {

             echo "irgendwas3";

        }

}
doch da werden nur die drei if-inhalte ausgegeben:

Code: Alles auswählen

 irgendwasirgendwas2irgendwas3
und wenn ich es über if-elseif-else löse kommt eine endlosschleife zustande, hier der code:

Code: Alles auswählen

for($if=0;$if<=1;$if++)

{

        if($if=0)

        {

              echo "irgendwas";

        }



        elseif($if=1)

        { 

              echo "irgendwas2";

        }



        else

        {

             echo "irgendwas3";

        }
bitte helft.


kOOni
--agitate-hagal--
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Man sollte vielleicht bedenken, dass der Vergleichsoperator bei PHP aus zwei Gleichheitszeichen besteht. :-D
Da du bei jedem Vergleich der Variable $if einen neuen Wert zuweist, kann das auch nicht klappen...

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
kOOni
Mitglied
Beiträge: 9
Registriert: 23.02.2003 11:39
Kontaktdaten:

ups

Beitrag von kOOni »

danke ich probiers mal. :oops:


kOOni
--agitate-hagal--
Benutzeravatar
kOOni
Mitglied
Beiträge: 9
Registriert: 23.02.2003 11:39
Kontaktdaten:

geht immer noch nicht

Beitrag von kOOni »

der schreibt nun, egal was ich für eine Variante verwende, immer noch alles wieder hin !

es soll:

- erst irgendwas angezeigt werden, dann klick ich auf submit und dann
- erst soll irgendwas 2 angezeigt werden und erst dann am ende, nach dem ich wieder auf submit klicke
- soll irgendwas 3 angezeigt werden

ist das über haupt mit einer for-Schleife zu realisieren oder brauch ich da was anderes ?


kOOni
--agitate-hagal--
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Hast du jetzt das doppelte Gleichheitszeichen verwendet? (hört sich nämlich nicht so an):

Code: Alles auswählen

if($if==1)
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: geht immer noch nicht

Beitrag von Pyramide »

kOOni hat geschrieben:ist das über haupt mit einer for-Schleife zu realisieren oder brauch ich da was anderes ?
Nein, das geht nicht mit einer for-Schleife. Die Schleife zählt ja immer von 0 bis 2, egal welche Seite du aufrufst.

AFAIK ist eine Anleitung inkl. Quellcode zu deinem Problem schon im Forum vorhanden, aber ich finde sie im moment nicht :(. Aber es funktioniert so, daß du in das HTML-Formular ein verstecktes Feld einfügst, in welchem der nächste Schritt eingetragen ist. Und dieses Feld verwendest du dann in der if-/switch Bedingung.
Benutzeravatar
kOOni
Mitglied
Beiträge: 9
Registriert: 23.02.2003 11:39
Kontaktdaten:

danke, ich versuchs

Beitrag von kOOni »

gut ich probiers mal. danke :P
--agitate-hagal--
Benutzeravatar
kOOni
Mitglied
Beiträge: 9
Registriert: 23.02.2003 11:39
Kontaktdaten:

endlich

Beitrag von kOOni »

habs !

nun der endlich richtige Code:

Code: Alles auswählen


if (!$if)

{

       echo "<form......  <input type='hidden' name='if' value='2'>

}



if ($if==2)

{

       echo "<form.....  <input type='hidden' name='if' value=3'>

}



if ($if==3)

usw. 



Aber, das ich auf sowas simples nicht gleich gekommen bin.


kOOni
--agitate-hagal--
Advanced-Rookie
Mitglied
Beiträge: 124
Registriert: 04.10.2002 15:02
Kontaktdaten:

Beitrag von Advanced-Rookie »

sauber gemacht!!!
Stell dir vor es ist Krieg und niemand geht hin.
Antworten

Zurück zu „Coding & Technik“