/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Noget galt med formular.. hjælp!
Fra : Søren Juhl Vind


Dato : 16-09-02 19:27

Hej Gruppe

Jeg sidder og prøver at lege med noget formularværk, men jeg kan ikke få det
til at virke, ikke engang de simpleste scripts virker, fx. dette:

<form method="POST" action="<?=$PHP_SELF;?>">
Dit navn:
<input type="text" name="navn">
<input type="submit" name="sendt" value="ok">
</form>
<?
if($sendt) {
echo "Dit navn er" .$navn;
}
?>

Det virker ikke.. den samme textboks og knap kommer frem igen, det er somom
php ikke modtager data fra formularen, hvordan ordner jeg dette?

Mvh Søren



 
 
Sinkbæk (16-09-2002)
Kommentar
Fra : Sinkbæk


Dato : 16-09-02 21:12

Søren Juhl Vind wrote:
> <form method="POST" action="<?=$PHP_SELF;?>">
> Dit navn:
> <input type="text" name="navn">
> <input type="submit" name="sendt" value="ok">
> </form>
> <?
> if($sendt) {
> echo "Dit navn er" .$navn;
> }
> ?>
>
> Det virker ikke.. den samme textboks og knap kommer frem igen, det er
somom
> php ikke modtager data fra formularen, hvordan ordner jeg dette?

Hej Søren!

Prøv med:
<?
if($_POST["sendt"]) {
echo "Dit navn er ".$_POST["navn"];
}
?>

--
Med venlig hilsen
Thomas Sinkbæk
www.sinkbaek.com




Christian Jakobsen (16-09-2002)
Kommentar
Fra : Christian Jakobsen


Dato : 16-09-02 21:28

"Sinkbæk" <thomas@FJERN_DETTEsinkbaek.com> wrote in message
news:am5dtn$hvl$1@sunsite.dk...
> <?
> if($_POST["sendt"]) {
> echo "Dit navn er ".$_POST["navn"];
> }
> ?>


Det giver samme problem som der var med den kode han selv har skrevet. Det
virker ikke hvis man trykker undlader at trykke på "ok", men bare trykker
"enter" i textfeltet.
--
Venlig hilsen
Christian Jakobsen
paaske@hunters.dk



Christian Jakobsen (16-09-2002)
Kommentar
Fra : Christian Jakobsen


Dato : 16-09-02 21:19

"Søren Juhl Vind" <peecee@adslhome.dk> wrote in message
news:3d86218f$0$7390$edfadb0f@dspool01.news.tele.dk...

> Det virker ikke.. den samme textboks og knap kommer frem igen, det er
somom
> php ikke modtager data fra formularen, hvordan ordner jeg dette?

Scriptet virker ok. Hvis man trykker på [ok] knappen vel at mærke. Hvis man
bare trykker "enter" i når man har skrevet noget i text-feltet bilver
variablen "$send" ikke sat. Derfor vil scriptet ikke udføre sætningen if
($send) { echo "Dit navn er" .$navn; }. du ka i stedet for lave det om til:

if ($navn) {
echo "Dit navn er" .$navn;
}

Så bliver variablen $navn sat, selvom man bare trykker enter i text-feltet.
--
Venlig hilsen
Christian Jakobsen
paaske@hunters.dk





Kim Emax - ayianapa.~ (16-09-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 16-09-02 23:04


"Christian Jakobsen" <paaske@hunters.dk> skrev

> variablen "$send" ikke sat. Derfor vil scriptet ikke udføre sætningen if
> ($send) { echo "Dit navn er" .$navn; }. du ka i stedet for lave det om
til:

eller smide en <input type=hidden name=send value=1> ind i formen,
dette er et typisk problem, hvis man kun har et input felt.

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Krister (16-09-2002)
Kommentar
Fra : Krister


Dato : 16-09-02 23:09

Hej Søren

<form method="POST" action="<?=$PHP_SELF;?>"> // kort tag, kan være orsag,
hvis ikke nu så i senere brug
Dit navn:
<input type="text" name="navn">
<input type="submit" name="sendt" value="ok">
</form>
<? // kort tag igen, tænk hvis din kundens server ikke støtter korte tags og
du skal lave alle om.
// det er også godt at huske, at det er slet ikke alle servere som har
php.ini overhoved!
// PHP kører nemlig udmærket uden - men med default-setnings
if($sendt) { // skulle være "if ( $navn )" ikke $sendt!
echo "Dit navn er" .$navn;
}
?>

"Søren Juhl Vind" <peecee@adslhome.dk> skrev i en meddelelse
news:3d86218f$0$7390$edfadb0f@dspool01.news.tele.dk...
> Hej Gruppe
>
> Jeg sidder og prøver at lege med noget formularværk, men jeg kan ikke få
det
> til at virke, ikke engang de simpleste scripts virker, fx. dette:
>
> <form method="POST" action="<?=$PHP_SELF;?>">
> Dit navn:
> <input type="text" name="navn">
> <input type="submit" name="sendt" value="ok">
> </form>
> <?
> if($sendt) {
> echo "Dit navn er" .$navn;
> }
> ?>
>
> Det virker ikke.. den samme textboks og knap kommer frem igen, det er
somom
> php ikke modtager data fra formularen, hvordan ordner jeg dette?
>
> Mvh Søren
>
>



Tinky Winky (17-09-2002)
Kommentar
Fra : Tinky Winky


Dato : 17-09-02 08:24

> <form method="POST" action="<?=$PHP_SELF;?>">

echo "1: ".$PHP_SELF."<br>";
echo "2: ".$_SERVER['PHP_SELF']."<br>";

Med default php.ini værdier i nyere PHP versioner, er register globals slået
fra. Derfor bruges $_SERVER til PHP_SELF. $_GET og $_POST bruges til get og
post værdier. Fx minside.php?a=2. Værdien af a, 2 fås ved $_GET['a']. Mere
besværligt? Væn dig til det. Giver større sikkerhed og bedre programmering.



Søren Juhl Vind (17-09-2002)
Kommentar
Fra : Søren Juhl Vind


Dato : 17-09-02 15:18

> <form method="POST" action="<?=$PHP_SELF;?>">
> Dit navn:
> <input type="text" name="navn">
> <input type="submit" name="sendt" value="ok">
> </form>
> <?
> if($sendt) {
> echo "Dit navn er" .$navn;
> }
> ?>

Mange tak for alle rådene, det virkede dog ikke når jeg bare udskiftede
$sendt med $navn(jeg havde prøvet før), tilgengæld virker det nu, i stedet
for:

<?
if($sendt) {
echo "Dit navn er" .$navn;
}
?>

brugte jeg:

<?php
if($_POST["navn"]) {
echo "Dit navn er ".$_POST["navn"];
}
?>

og så virkede det ligepludselig.. det var $_POST der gjorde det.. tak for
hjælpen, og forvent at se meget mere til mig i fremtiden :)

-Søren




Søg
Reklame
Statistik
Spørgsmål : 177519
Tips : 31968
Nyheder : 719565
Indlæg : 6408659
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste