Just nu i M3-nätverket
Gå till innehåll
Muppx

Formuläret fungerar inte

Rekommendera Poster

Försöket att lära mig PHP. Hittade några exempel på PHP script på en sida och försökte pröva dem. De såg ut så här:

HTML-kod

 

<form action="action.php" method="POST">

<select name=fruit>

<option>Äpple<option>Apelsin<option>Banan<option>Päron</select>

<input type=submit></form>

 

PHP-kod

 

<html>

<head>

<title>phptest</title>

</head>

<body bgcolor=white>

<? echo "Du valde $fruit<P>"; ?>

</body>

</html>

 

Nu är ju problemet att jag inte kan få det att fungera med den där koden. Det som ska hända är ju att jag väljer en frukt och en ny sida ska komma upp (PHP sidan)och säga vilken frukt jag valde.

Så blir det inte, det enda som kommer upp är "Du valde". Ingen frukt finns med. Det konstiga är att dom har den här funktionen upplagd som man kan pröva och då

fungerar det. Har dom råkat skriva PHP-koden fel av misstag kanske?

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
<form action="action.php" method="POST">

<select name=fruit>

<option>Äpple<option>Apelsin<option>Banan<option>Päron</select>

<input type=submit></form>

 

HTML-koden borde väl ändå vara:

 

<form action="action.php" method="POST">
<select name=fruit>
<option value="apple">Äpple<option value="apelsin">Apelsin<option value="banan">Banan<option>Päron</select>
<input type=submit></form>

 

och i php-koden borde du se efter om REGISTER_GLOBALS är på. Annars hamnar fruit i: $_POST["fruit"] och in te $fruit.

 

EDIT: Det sista stycket blev klantigt formulerat, testa såhär istället:

 

och i php-koden borde du se efter om inte fruit hamnar i: $_POST["fruit"] istället för $fruit. Detta beror på en inställning som heter REGISTER_GLOBALS som finns i php.ini, den bör vara avstängd.

 

 

 

Lycka till! :)

 

 

.dune.

----------------------------------------------

push@A,$_ for reverse q.e...q.n.;for(@A){$_=unpack(q|c|,$_);@a=split//; shift@a;shift@a if $a[$[]eq$[;$_=join q||,@a};print $_,$/for reverse @A

 

[inlägget ändrat 2003-03-13 21:13:53 av dune]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Exakt. Value kan dock även anges med svenska tecken, tex value="äpple"

 

Vad gäller register globals så ska det vara off, och variablerna anropas med $_POST, precis som Dune skrev efter ändringen. :)

 

 

_________

TicoRoman - The One And Only

 

[inlägget ändrat 2003-03-13 21:16:01 av TicoRoman (Almir)]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Exakt. Value kan dock även anges med svenska tecken, tex value="äpple"

 

 

Jag ogillar å, ä och ö. Onödiga bokstäver, jag mobbar dem dagligen ;)

 

 

 

.dune.

----------------------------------------------

push@A,$_ for reverse q.e...q.n.;for(@A){$_=unpack(q|c|,$_);@a=split//; shift@a;shift@a if $a[$[]eq$[;$_=join q||,@a};print $_,$/for reverse @A

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Tack för infon och hjälpen. Nu fungerar det och man får reda på vilken frukt man valde. Nu undrar jag ju bara hur man får in

$_POST["fruit"] i

<? echo "Du valde $fruit<P>"; ?>

 

Det går ju tydligen inte att skriva så här iaf:

 

<? echo "Du valde $_POST["fruit"]"; ?>

 

Blir lite många "". Skulle uppskatta hjälp om detta också.

Har prövat med ''.

 

(Och ja, jag är en nybörjare)

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Det går ju tydligen inte att skriva så här iaf:

 

<? echo "Du valde $_POST["fruit"]"; ?>

 

Försök med detta istället:

 

<? echo "Du valde " . $_POST["fruit"]; ?>

 

EDIT: Lite KOD-taggar så blir det lite snyggare...

 

.dune.

----------------------------------------------

push@A,$_ for reverse q.e...q.n.;for(@A){$_=unpack(q|c|,$_);@a=split//; shift@a;shift@a if $a[$[]eq$[;$_=join q||,@a};print $_,$/for reverse @A

 

[inlägget ändrat 2003-03-13 22:28:57 av dune]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Eller min personliga favorit:

<?php
echo "Du valde {$_POST["fruit"]}";
?>

Ett tips är att alltid använda långa start-taggar (<?php). Tänk om du en dag byter server för din applikation, och den nya servern kör olika serverskriptspråk. Då vet inte PHP-var den ska läsa skript, med resultatet att du får gå tillbaka i koden och byta ut alla <? mot <?php (och <?= likaså).

 

Man vinner tid just när man skriver det, men lathet är programmerarens värsta fiende :)

Min i alla fall...

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Ska man vara ännu petigare skall html-koden vara:

<form action="action.php" method="post">
<select name=fruit>
<option value="apple">Äpple</option>
<option value="apelsin">Apelsin</option>
<option value="banan">Banan</option>
<option>Päron</option>
</select>
<input type="submit" value="Välj frukt">
</form>

 

**********

Om spelvåld påverkar unga, hur skulle pacmangenerationen se ut idag?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Heh....ok jag har ju lärt mig nya saker iaf. Det tar ju ett tag men allt eftersom lär man sig eller hur? Hursomhelst tack för era svar. Dröjer nog inte allt för länge innan jag är här och frågar i panik

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...