Avatar billede el-prebsi Nybegynder
25. juli 2002 - 16:40 Der er 8 kommentarer

Hvordan kan jeg udskrive den sendte variabel fra en form

<?
$dato = $_REQUEST['dato'];
print $dato;
?>

eller

<?
$dato = $_POST['dato'];
print $dato;
?>

Ingen af tingene virker!!!

Min form ser sådan ud:
<form method="post" name="opret" action="opret1.php?action=opret">
  <table>
    <tr><td>Dato</td><td><input type="text" name="dato" maxlength="8" value="<? print(date('j-m-y')); ?>"></td></tr>
    <tr><td>Klientnr</td><td><input type="text" id="klientnr" maxlength="3"></td></tr>
    <tr><td>Klientnavn</td><td><input type="text" id="klientnavn" maxlength="30"></td></tr>
    <tr><td>Starttid</td><td><input type="text" id="start" maxlength="5" value="<? print(date('H:i')); ?>"></td></tr>
    <tr><td>Emne</td><td><input type="text" id="emne" maxlength="150"></td></tr>
    <tr><td>Tekst</td><td><textarea id="tekst" cols="60" rows="10"></textarea></td></tr>
    <tr><td>Sluttid</td><td><input type="text" id="slut" maxlength="5"></td></tr>
    <tr><td>Periode</td><td><input type="text" id="periode" maxlength="30"></td></tr>
    <tr><td>Tidsforbrug (min)</td><td><input type="text" id="tidsforbrug"></td></tr>
    <tr><td>Initialer</td><td><input type="text" id="initialer" maxlenght="5"></td></tr>
    <tr><td>Afsluttet</td><td><input type="checkbox" id="afsluttet"></td></tr>
    <tr><td></td><td><input type="submit" id="subbtn" value="Opret"></td></tr>
  </table>
</form>
Avatar billede teaspoon Nybegynder
25. juli 2002 - 16:46 #1
prøv med
print $HTTP_POST_VARS['dato'];
Avatar billede el-prebsi Nybegynder
25. juli 2002 - 16:48 #2
Ja det virker, men det er en lidt kringlet måde at få dem ud på!!! Der burde være en funktion der gav mig outputtet uden at skulle læse headerne på den (manuelle) måde...
Avatar billede teaspoon Nybegynder
25. juli 2002 - 16:52 #3
kringlet måde? Det er nu engang den rigtigt måde at gøre det på. $_POST[] er også korrekt, men det er i nyere phpversioner (større end 4.0.6), hvilket din åbenbart ikke er.
Avatar billede el-prebsi Nybegynder
25. juli 2002 - 17:43 #4
Ja, gu er det den rigtige - men i de gamle versioner kunne man også bare skrive navnet på formens elemente og så var variablen den samme - det kan man heller ikke mere med mindre man ændrer i konfigurationen af PHP og det er jo ikke så interessant når det er ens udbyder.. Jeg kan fortælle at min PHP-version er 4.2 så den burde kunne håndtere $_POST :) Men den er lidt fucked up tror jeg - jeg prøver sq version 4.2.2
Avatar billede sukos Juniormester
25. juli 2002 - 17:43 #5
<?php
foreach($HTTP_POST_VARS as $value) {
echo"$value<br>\n";
}
?>

Er det, det du tænker på?
Avatar billede el-prebsi Nybegynder
25. juli 2002 - 18:05 #6
næ, men i gode gamle dag kunne man bare skrive $dato hvis feltet hed dato - uden nogen speciel opsætning eller noget som helst - og når så det nye pis ikke virker i en ellers ny version så bliver man lidt pissed off hvis man skal hen og skrive $HTTP_POST_VARS['feltnavn'] for hvert eneste navn.. Det er lidt hurtigere med bare $_POST['feltnavn']..

Men sukos - det er nu ellers også en smart metode hvis det svigter *gg*
Avatar billede sukos Juniormester
25. juli 2002 - 18:08 #7
Avatar billede tipsen Nybegynder
25. juli 2002 - 19:43 #8
Tror ikke det er en POST du laver - tror det er en GET - prøv med $_GET['varnavn'] - det tror jeg faktisk det fungerer!

Årsagen til at jeg tror det er en gæt, er at du skriver action="opret1.php?action=opret" - dvs. du laver faktisk en kombi af en post og en get!!!

Jeg tror rent faktisk heller ikke det er lovligt og vil anbefale dig at smide action variablen ned som hidden field i form'en!
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