[PHP] Input uit textfield aan sessie koppelen

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Hoe kan ik de waarde, die je in een textfield invult bij een formuliertje, aan een sessie koppelen??

Ik had dit al bedacht, maar dit werkt niet:

<input type="text" name="naam" value="<?=$_SESSION['naam']?>"

Uiteraard wordt wel eerst de sessie gestart....

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Ik kan toch niet zien wat er fout gaat, als je dat eens zou vertellen.

Verwijderd

eerst eens leren debuggen....
Wat geeft print_r($_SESSION) bijvoorbeeld?

/edit
Nu ik je post nog een keer lees vermoed ik eigenlijk dat je zoiets bedoelt
PHP:
1
2
3
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST')
    $_SESSION['field'] = $_POST['field'];


Het is logisch dat die leeg is, aangezien je er nog geen waarde aan toewijst.

[ Voor 81% gewijzigd door Verwijderd op 12-02-2004 16:41 ]


Verwijderd

Topicstarter
Als ik daarna

Naam = <?= $_SESSION['naam'] ?>

opvraag is ie leeg....

  • waik
  • Registratie: Mei 2003
  • Laatst online: 18-12-2020
't moet
PHP:
1
 echo($_SESSION['naam']);
zijn

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Als je die var in je session wil zetten gaat dat niet zo ;)

Form moet worden gesubmit en daarna moet je de variabele van dat text-field checken en wegschrijven in de session als hij valid is :)

Verwijderd

Topicstarter
zmn schreef op 12 februari 2004 @ 16:40:
Als je die var in je session wil zetten gaat dat niet zo ;)

Form moet worden gesubmit en daarna moet je de variabele van dat text-field checken en wegschrijven in de session als hij valid is :)
Ok, duidelijk. Maar als je in de action van het formulier een php-bestand opgeeft en je zet in dat php-bestand:

echo($_SESSION['naam']);

blijft het akelig wit op het scherm....

Op welke plek zet ik dan die variabele in de sessie en hoe?

  • PromWarMachine
  • Registratie: Oktober 2001
  • Laatst online: 19-09 22:28

PromWarMachine

Forsaken Archer

PHP:
1
<form name="form1" method="post" action="<?php echo($_SERVER["PHP_SELF"]);?>">


PHP:
1
2
3
4
5
6
if (!empty($_POST))
{
    $_SESSION["artikel"]=$_POST["artikel"];
    $_SESSION["prijs"]=$_POST["prijs"];
    $_SESSION["omschrijving"]=$_POST["omschrijving"];
}


Zo misschien? :?

Ga bij www.php.net op zoek naar info over $_POST plz...

Dividend for Starters


Verwijderd

Topicstarter
Waarom werkt dit dan wel?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<? 
session_start();
if (isset($_SESSION['counter']))
{
        $_SESSION['counter']++;    
} 
else 
{
        $_SESSION['counter'] = 0;
}
?>

<html>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">    
<input type="submit" value="Submit">
</form>
Counter = <?= $_SESSION['counter'] ?>
</html>


en dan met lees.php:
PHP:
1
2
3
4
5
6
<?
session_start();
?>
<html>
Counter = <?= $_SESSION['counter'] + "\n"; ?>
</html>

  • MaTriCX
  • Registratie: Augustus 2002
  • Laatst online: 18-07-2024
Wil je aub even de php-manual en tutorials doorlezen :/

Counter = <?= $_SESSION['counter'] + "\n"; ?>
^^ Dit doet zeer weinig!
PHP:
1
2
3
session_start();
echo $_SESSION['counter']; // Dit toont dus de waarde van counter in de huidige sessie
$normale_counter = $_SESSION['counter']; // Deze wijst de counter toe aan een variabele genaamd normale_counter

edit vergeten vraag te beantwoorden, voorzover die er is :

De waarde die je in een FORM submit, kan uitgelezen worden door $_POST[ waarde ] of $_GET[ waarde ];
En die kun je vervolgens toewijzen aan een lopende sessie, mits gestart:
PHP:
1
2
session_start();
$_SESSION['naam'] = $_POST['naam'];

succes!

[ Voor 36% gewijzigd door MaTriCX op 12-02-2004 18:22 ]

Pagina: 1