Avatar billede zac Nybegynder
21. december 2003 - 19:28 Der er 12 kommentarer og
1 løsning

Sende var. fra form til filen selv - kombineret med session

<?php
print "Jeg har normalt brugt send form til filen page1.php selv:";

if (!action) {
echo "<form action=\"page0.php\" method=\"post\">";
echo "Skriv dit navn: ";
echo "<input type=\"hidden\" name=\"action\">";
echo "<input type=\"text\" name=\"name\">";
echo "</form>";
}

if (action) {
echo "Du har skrevet $name";
}

?>

Det kan jeg ikke få til at virke med glob.var OFF og sessions.
Burde noget i retning af følgende ikke virke?

<?php
session_start(); // start session - nødvendig her?
echo "Med global variables off OG brug af sessions, hvad så?";

if (!action) {
session_start(); // start session her??
echo "<form action=\"page0.php\" method=\"post\">";
echo "Skriv dit navn: ";
echo "<input type=\"hidden\" name=\"action\">";
echo "<input type=\"text\" name=\"name\">";
echo "</form>";
}

if (action) {
// formentlig ikke session_start() her??
$name = $_POST['name']; // pga. global var. off
$_SESSION['name'] = $name;
echo "Du skrev navnet: ";
echo $_SESSION['name'];
}

?>
Avatar billede erikjacobsen Ekspert
21. december 2003 - 19:50 #1
Overvej at bruge lidt flere $'s på det
  if (!$action) {
Avatar billede zac Nybegynder
21. december 2003 - 21:14 #2
Ja, sorry, der skal da stå $action alle steder - der gør der også i virkeligheden! Men det er ikke nok...
Avatar billede erikjacobsen Ekspert
21. december 2003 - 21:28 #3
To ting
1) Dit hidden felt bør have en værdi
2) if (isset($_POST['action'])) {
Avatar billede zac Nybegynder
21. december 2003 - 21:40 #4
Det gør lidt skævt for tiden, så forfra giver denne her meddelsen
Undefined variable: action in d:\htdocs\test\page9.php on line 5 - dvs. første gang $action nævnes

<?php

print 'Jeg har normalt brugt send form til filen selv:';

if (!$action) {
print '<FORM METHOD="POST" ACTION="page9.php">';
print '<input type="hidden" name="action" value="go">'; 
print 'Skriv dit navn: <input type="text" name="name">';
print '<input type="SUBMIT" value="Send">';
print '</FORM>';
}

if (isset($_POST['action'])) {
$name = $_POST['name'];
echo 'Du har skrevet $name';
}

?>
Avatar billede erikjacobsen Ekspert
21. december 2003 - 21:45 #5
men du siger jo at global vars er slået fra?
Avatar billede zac Nybegynder
21. december 2003 - 21:52 #6
Ja, register_globals er OFF (det er da globale var. lig off, ikke?).

Er det ikke derfor $name = $_POST['name']; skal være der?
Avatar billede erikjacobsen Ekspert
21. december 2003 - 21:57 #7
Og det samme gælder for $action ... se at få den rettet så vi kan komme i seng ;)
Avatar billede zac Nybegynder
21. december 2003 - 22:01 #8
Jeg forstår det ikke, den her giver ikke fejlmedd., men fører ikke det udfyldte med over:

if (!isset($_POST['action'])) {
print '<FORM METHOD="POST" ACTION="page9.php">';
print '<input type="hidden" name="action" value="go">'; 
print 'Skriv dit navn: <input type="text" name="name">';
print '<input type="SUBMIT" value="Send">';
print '</FORM>';
}

if (isset($_POST['action'])) {
$name = $_POST['name'];
echo '<br><br>Du har skrevet $name';
}
Avatar billede erikjacobsen Ekspert
21. december 2003 - 22:05 #9
Det vil hjælpe en anelse at skrive

echo "<br><br>Du har skrevet $name";

Du kan selv se på:

http://www.dmu-stud.dk/~ej/page9.php
Avatar billede zac Nybegynder
21. december 2003 - 22:10 #10
Jeg må se at få lært forskellen på enkel ' og dobbelt " - hvor man bruger hvad...
Jeg prøver først at lægge session oveni i morgen - så vi kan komme til køjs nu.
Tak for hjælpen!
Avatar billede zac Nybegynder
21. oktober 2005 - 00:22 #11
lukker spm. for tiden - vil gerne give point til dig, erikjacobsen
Avatar billede erikjacobsen Ekspert
21. oktober 2005 - 00:31 #12
Jeg samler slet ikke på point, tak.
Avatar billede zac Nybegynder
21. oktober 2005 - 23:40 #13
ok, havde det på fornemmelsen, men tak alligevel - lukker spm.
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