Avatar billede nestle-79 Nybegynder
05. februar 2002 - 08:43 Der er 21 kommentarer og
2 løsninger

If og elseif

Ok jeg indrømmer, jeg er en ged til php.

Jeg vil lave en spørge formular i php hvor man bliver stillet videre alt efter hvad man svare.

Jeg har stillet et lille script op (der ikke virker) for at demostrerer hvad jeg egentlig vil:

----------
<?php
echo "<form method=\"post\" action=$PHP_SELF>
<input type=\"radio\" name=\"valg\" value=\"1\">
valg 1
<input type=\"radio\" name=\"valg\" value=\"2\">
valg 2
<input type=\"submit\" name=\"Submit\" value=\"Næste\">";
if ($valg == "1");{
echo "du har valgt 1";
}
elseif ($valg == "2");{
echo "du har valgt 2";
}
echo "</form>";
?>
----------

Hvad skal jeg gøre? jeg er virkelig på bar bund..

Hv. Nestle
Avatar billede htx98i17 Professor
05. februar 2002 - 08:51 #1
<?php
echo "<form method=\"post\" action=$PHP_SELF>
<input type=\"radio\" name=\"valg\" value=\"1\">
valg 1
<input type=\"radio\" name=\"valg\" value=\"2\">
valg 2
<input type=\"submit\" name=\"Submit\" value=\"Næste\">";
if ($valg == "1"){
echo "du har valgt 1";
} elseif ($valg == "2"){
echo "du har valgt 2";
}
echo "</form>";
?>
Avatar billede tsocm Nybegynder
05. februar 2002 - 08:59 #2
<?php
echo "<form method=\"post\" action=$PHP_SELF>
<input type=\"radio\" name=\"valg\" value=\"1\">
valg 1
<input type=\"radio\" name=\"valg\" value=\"2\">
valg 2
<input type=\"submit\" name=\"Submit\" value=\"Næste\">";
if ($valg == "1"){
header("Location: http://www.valg1.dk/");
} elseif ($valg == "2"){
header("Location: http://www.valg2.dk/");
}
echo "</form>";
?>
Avatar billede tsocm Nybegynder
05. februar 2002 - 09:00 #3
<?php
echo "<form method=\"post\" action=$PHP_SELF>
<input type=\"radio\" name=\"valg\" value=\"1\">
valg 1
<input type=\"radio\" name=\"valg\" value=\"2\">
valg 2
<input type=\"submit\" name=\"Submit\" value=\"Næste\">
</form>";


if ($valg == "1"){
header("Location: http://www.valg1.dk/");
} elseif ($valg == "2"){
header("Location: http://www.valg2.dk/");
}
echo
?>


--------

eller sådan, er nok mere korekt at gøre det.
Avatar billede tsocm Nybegynder
05. februar 2002 - 09:01 #4
Avatar billede htx98i17 Professor
05. februar 2002 - 09:01 #5
tcocm-> Den vil komme med header fejl...
Avatar billede htx98i17 Professor
05. februar 2002 - 09:02 #6
Hvis du rykker headers op i toppen, så spiller det...
og fjern den echo til sidst :)
Avatar billede nestle-79 Nybegynder
05. februar 2002 - 09:04 #7
Eh... Header i toppen?.. Hvad skal jeg bruge header til after all?...
Avatar billede tsocm Nybegynder
05. februar 2002 - 09:05 #8
<?php
if ($valg == "1"){
header("Location: http://www.valg1.dk/");
} elseif ($valg == "2"){
header("Location: http://www.valg2.dk/");
}

echo "<form method=\"post\" action=$PHP_SELF>
<input type=\"radio\" name=\"valg\" value=\"1\">
valg 1
<input type=\"radio\" name=\"valg\" value=\"2\">
valg 2
<input type=\"submit\" name=\"Submit\" value=\"Næste\">
</form>";
?>

------
er det det her du tænker på eller?
Avatar billede htx98i17 Professor
05. februar 2002 - 09:07 #9
ja.. så skal du bare forklare spørgeren hvorfor du har tilføjet header :)
Avatar billede nestle-79 Nybegynder
05. februar 2002 - 09:08 #10
Warning: Cannot add header information - headers already sent by (output started at /var/www/html/mail.php:4) in /var/www/html/mail.php on line 89

så langt så godt..
Avatar billede tsocm Nybegynder
05. februar 2002 - 09:09 #11
;-) det skal jeg nok prøvet at gøre.

header("Location: http://www.valg1.dk/");
grunden til at dette er tilføjet, er at den årsag at det videstiller til den angive side.

htx98i17 >> kunne det gå, ellers må du nok tage over med en mere dybte gående forklaring.
Avatar billede tsocm Nybegynder
05. februar 2002 - 09:10 #12
>> jeg bliver nødt til at smutte nu. desvære.
Avatar billede nestle-79 Nybegynder
05. februar 2002 - 09:12 #13
Jeg tror jeg forstår hovedideen med header - Men hvor kommer url'en fra?
Avatar billede htx98i17 Professor
05. februar 2002 - 09:13 #14
nestle -> Brug eksemplet fra tscocm kom med 09:05
Gruunden til at du får den headerfejl er at der ikke må være noget output til browseren inden headeren - end ikke et mellemrum...

Url'en sætter du bare til den side der skal redirectes til, eksempelvis:
header("Location: enside.php");
Avatar billede nestle-79 Nybegynder
05. februar 2002 - 09:15 #15
Kan man henvise til samme side? selve php tagget ligger inden i en html side i en tabel
Avatar billede htx98i17 Professor
05. februar 2002 - 09:16 #16
du kan henvise til den side du vil :)
Avatar billede nestle-79 Nybegynder
05. februar 2002 - 09:18 #17
Aha.. Okay... Så header burde være en ny side, hvor spørgeskemaet går videre?
Avatar billede htx98i17 Professor
05. februar 2002 - 09:19 #18
Det betyder vidst ik noget hvordan man gør... det er bare 2 forskellige måder at gøre det på...
Avatar billede nestle-79 Nybegynder
05. februar 2002 - 09:20 #19
Hvordan definere jeg så en ny form med de nye spørgsmål?
Avatar billede htx98i17 Professor
05. februar 2002 - 09:21 #20
så lav det hele på een side...
Avatar billede nestle-79 Nybegynder
05. februar 2002 - 09:24 #21
Du virker rimlig genial til det her.. Men det er jeg ikke.. Jeg tror i mistede mig i svinget..
Altså;

<table><?php
if ($valg == "1"){
header("Location: mail.php");
} elseif ($valg == "2"){
header("Location: mail.php");
}

Er en fejl?
Avatar billede htx98i17 Professor
05. februar 2002 - 09:27 #22
nej der er ingen fejl..
men hvis det er samme side lige meget hvad, så behøves du jo ikke at redirecte overhovedet....

så kan du bare sige :

if($valg == 1) {
gør dit
} elseif ($valg == 2){
gør dat
}
Avatar billede tsocm Nybegynder
05. februar 2002 - 18:47 #23
Takker for point ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester