|
| 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
| |
|
|