anoniem Geplaatst: 5 december 2004 Delen Geplaatst: 5 december 2004 Ik probeer het gebruik van sessie's een beetje te begrijpen, maar kom er niet uit. Kan iemand wat helpen? Dit is wat ik wil: [list:65c0a6a9e2]Gebruik maken van een formulier, opgesplitst in 2 delen[/list:u:65c0a6a9e2] [list:65c0a6a9e2]De ingevoerde gegevens in de database opslaan, wat overigens prima lukt[/list:u:65c0a6a9e2] [list:65c0a6a9e2]de ingevoerde gegevens op het einde van de cyclus tonen aan de gebruiker.[/list:u:65c0a6a9e2] En dat lukt niet helemaal, de gegevens van formulier-deel-2 worden niet meegenomen naar de laatste pagina, succes.php. Ik probeer daar een sessie voor te maken, maar kom er niet helemaal uit. Dit is mijn plan: In formulier 1 worden de ingevulde gegevens naar formulier 2 gestuurd door middel van: <form name="form1" method="post" action="form_2.php"> <input name="achternaam" type="text" id="achternaam" size="30"> <input name="voornaam" type="text" id="voornaam" size="30"> ____________________________________ In formulier 2 begint mijn sessie: <?php $aanmelding->achternaam = "$_POST[achternaam]"; $aanmelding->voornaam = "$_POST[voornaam]"; $aanmelding->kenteken = "$_POST[kenteken]"; session_register("aanmelding"); ?> Daarna worden de gegevens van form 1 in form 2 geplaatst om daarna in de database gezet te worden: <form name="form2" method="post" action="transfer.php"> <input type='hidden' name='achternaam' value='<?php echo $achternaam; ?>'> <input type='hidden' name='voornaam' value='<?php echo $voornaam; ?>'> Verder kun je in formulier 2 gegevens toevoegen: <input name="kenteken" type="text" id="kenteken" size="30"> _____________________________ Na "submit" ga ik naar transfer.php om: 1: de gegevens in de database te zetten (dat gaat prima, geen probleem) 2: De gegevens in succes.php te laten zien (dat lukt wel met "voornaam" en "achternaam" maar niet met "kenteken") transfer.php: $aanmelding->achternaam = "$_POST[achternaam]"; $aanmelding->voornaam = "$_POST[voornaam]"; $aanmelding->kenteken = "$_POST[kenteken]"; session_register("aanmelding"); $achternaam = $_POST['achternaam']; $voornaam = $_POST['voornaam']; // dit is nieuw: $aanmelding = $_POST['kenteken']; $inputtime = date("t-m-Y; H:i"); $ip= $REMOTE_ADDR; mysql_select_db($DBname); $result = mysql_query("INSERT INTO aanmeldingen (id, achternaam, voornaam, enz, enz, enz.... ___________________________________________ succes.php ( hier zie je wél "voornaam" en "achternaam" maar niet "kenteken"): <?php session_start(); ?> <?php echo "$aanmelding->voornaam"; echo "$aanmelding->achternaam"; echo "$aanmelding->kenteken"; ?> Wie weet waar het fout gaat? Quote Link naar reactie
anoniem Geplaatst: 5 december 2004 Auteur Delen Geplaatst: 5 december 2004 Volgens mij ben je in formulier 2 session_start(); vergeten ... Quote Link naar reactie
anoniem Geplaatst: 5 december 2004 Auteur Delen Geplaatst: 5 december 2004 Fijn dat je de moeite neemt om even mee te kijken, ik heb je advies toegepast: Formulier 2 begint nu met session start: session_start(); $aanmelding->achternaam = "$_POST[achternaam]"; $aanmelding->voornaam = "$_POST[voornaam]"; $aanmelding->kenteken = "$_POST[kenteken]"; session_register("aanmelding"); het resultaat is nu dat ook voornaam en achternaam niet meer getoond worden in succes.php. Gaat dus nog niet goed. heb je nog een suggestie? Quote Link naar reactie
anoniem Geplaatst: 5 december 2004 Auteur Delen Geplaatst: 5 december 2004 [quote:3ec61ff837="jan107"]Fijn dat je de moeite neemt om even mee te kijken, ik heb je advies toegepast: Formulier 2 begint nu met session start: session_start(); $aanmelding->achternaam = "$_POST[achternaam]"; $aanmelding->voornaam = "$_POST[voornaam]"; $aanmelding->kenteken = "$_POST[kenteken]"; session_register("aanmelding"); het resultaat is nu dat ook voornaam en achternaam niet meer getoond worden in succes.php. Gaat dus nog niet goed. heb je nog een suggestie?[/quote:3ec61ff837] Je mag session_register niet in combinatie met session_start() gebruiken! H et volgende zou sowieso moeten werken... [code:1:3ec61ff837] session_start(); $aanmelding->achternaam = $_POST['achternaam']; $aanmelding->voornaam = $_POST['voornaam']; $aanmelding->kenteken = $_POST['kenteken']; $_SESSION['aanmelding_achternaam'] = (string)$aanmelding->achternaam; $_SESSION['aanmelding_voornaam'] = (string)$aanmelding->voornaam; $_SESSION['aanmelding_kenteken'] = (string)$aanmelding->kenteken; [/code:1:3ec61ff837] [size=9:3ec61ff837]Edit: Code van jan107 overgenomen zonder verbetering. Nu correct[/size:3ec61ff837] Quote Link naar reactie
anoniem Geplaatst: 5 december 2004 Auteur Delen Geplaatst: 5 december 2004 Hallo h4xX0r Ik heb je sessie-code in formulier 2 geplaatst en session_register verwijdert. Nu krijg ik het vreemde geval dat in formulier 2 bij <?php echo "$voornaam $achternaam"; ?> de achternaam het eerst en de voornaam het laatst worden getoond. En, waar het eigenlijk om gaat, in succes.php wordt niets getoond, geen voornaam, achternaam of kenteken. Ik heb ergens nog een fout zitten. Hoe haal je de gegevens weer uit de sessie? In succes.php staat nu: <?php session_register(); ?> <html> <head>enz..... ........enz </head> <body> <?php echo "$aanmelding->voornaam"; echo "$aanmelding->achternaam"; echo "$aanmelding->kenteken"; ?> Quote Link naar reactie
anoniem Geplaatst: 6 december 2004 Auteur Delen Geplaatst: 6 december 2004 [quote:ac1b827c3e="h4xX0r"]Je mag session_register niet in combinatie met session_start() gebruiken![/quote:ac1b827c3e]Ik doe dat altijd en heb nog nooit problemen gehad :-? Quote Link naar reactie
anoniem Geplaatst: 6 december 2004 Auteur Delen Geplaatst: 6 december 2004 OK, dat neem ik direkt aan. Het zou best kunnen dat de sessie goed is. Maar hoe haal je de waardes weer uit de sessie? Ik doe het nu met _____________________________ <?php session_register(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>enz. enz. </head> <body> <?php echo "$aanmelding->voornaam"; echo "$aanmelding->achternaam"; echo "$aanmelding->kenteken"; ?> enz--- _______________________ Dit kan helemaal fout zijn, weet ik niet. Maar hoe doe je dat dan wel? Quote Link naar reactie
anoniem Geplaatst: 6 december 2004 Auteur Delen Geplaatst: 6 december 2004 Ik heb een beetje een probleem met de "$aanmelding->...". Dat met die "->" heb ik enkel al gezien bij objecten en niet zomaar variabelen. Probeer eens met $voornaam, $achternaam en $kenteken. Laat eens weten of dat lukt. Quote Link naar reactie
anoniem Geplaatst: 6 december 2004 Auteur Delen Geplaatst: 6 december 2004 Nee, werkt niet. Voor alle duidlijkheid, dit is de sessie-start: _______________________________________ <?php $aanmelding->achternaam = "$_POST[achternaam]"; $aanmelding->voornaam = "$_POST[voornaam]"; $aanmelding->kenteken = "$_POST[kenteken]"; session_register("aanmelding"); ?> _____________________________________ En hiermee moeten de sessie variabelen zichtbaar worden: <?php session_register(); ?> <html> <head> <title>enz.. <body> <?php echo $voornaam; echo $achternaam; echo $kenteken; ?> Ook dit werkt niet: <?php echo "$voornaam"; echo "$achternaam"; echo "$kenteken"; ?> Quote Link naar reactie
anoniem Geplaatst: 6 december 2004 Auteur Delen Geplaatst: 6 december 2004 Zojuist ontdekt: Tussen de submit van het formulier en succes.php zit nog een bestand transfer.php. Hierin wordt de database gevuld met de gegevens. Ik heb daarin _____________ <?php echo $voornaam; echo $achternaam; echo $kenteken; ?> ____________ geplakt en dit toont wél de juiste gegevens. session_register("aanmelding"); enz heb ik niet in dit bestand gezet. Daarna schakelt dit bestand naar succes.php (<meta http-equiv="refresh" content="1;URL=succes.php">) en daar vind ik de waardes niet meer terug. Quote Link naar reactie
anoniem Geplaatst: 6 december 2004 Auteur Delen Geplaatst: 6 december 2004 [quote:f80f6a70fb="jan107"]Hallo h4xX0r Ik heb je sessie-code in formulier 2 geplaatst en session_register verwijdert. Nu krijg ik het vreemde geval dat in formulier 2 bij <?php echo "$voornaam $achternaam"; ?> de achternaam het eerst en de voornaam het laatst worden getoond. [color=blue:f80f6a70fb]Dan wordt ergens in de code de twee variabelen omgedraaid (toegekend).[/color:f80f6a70fb] En, waar het eigenlijk om gaat, in succes.php wordt niets getoond, geen voornaam, achternaam of kenteken. Ik heb ergens nog een fout zitten. Hoe haal je de gegevens weer uit de sessie? In succes.php staat nu: <?php session_register(); ?> <html> <head>enz..... ........enz </head> <body> <?php [color=blue:f80f6a70fb] $aanmelding->achternaam = $_SESSION['aanmelding_achternaam']; $aanmelding->voornaam = $_SESSION['aanmelding_voornaam']; $aanmelding->kenteken - $_SESSION['aanmelding_kenteken'];[/color:f80f6a70fb] echo "$aanmelding->voornaam"; echo "$aanmelding->achternaam"; echo "$aanmelding->kenteken"; ?>[/quote:f80f6a70fb] Let ook op onveilige code... Quote Link naar reactie
anoniem Geplaatst: 7 december 2004 Auteur Delen Geplaatst: 7 december 2004 [quote:1290d36002="jan107"]Nee, werkt niet. Voor alle duidlijkheid, dit is de sessie-start: _______________________________________ <?php [color=red:1290d36002]$aanmelding->achternaam = "$_POST[achternaam]"; $aanmelding->voornaam = "$_POST[voornaam]"; $aanmelding->kenteken = "$_POST[kenteken]"; [/color:1290d36002] session_register("aanmelding"); ?> _____________________________________ En hiermee moeten de sessie variabelen zichtbaar worden: <?php session_register(); ?> <html> <head> <title>enz.. <body> <?php echo $voornaam; echo $achternaam; echo $kenteken; ?> Ook dit werkt niet: <?php echo "$voornaam"; echo "$achternaam"; echo "$kenteken"; ?>[/quote:1290d36002]Je moet natuurlijk [u:1290d36002]alle[/u:1290d36002] $aanmelding-> variabelen veranderen ... Quote Link naar reactie
anoniem Geplaatst: 15 december 2004 Auteur Delen Geplaatst: 15 december 2004 Hallo BelgiumBoy_007 Ik heb het script inmiddels werkend gekregen, alles functioneert nu goed. Mede dankzij jouw adviezen en opmerkingen. Bedankt! Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen