Ga naar inhoud

Hulp bij eerste session gevraagd


anoniem

Aanbevolen berichten

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?
Link naar reactie
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?
Link naar reactie
[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]
Link naar reactie
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"; ?>
Link naar reactie
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?
Link naar reactie
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"; ?>
Link naar reactie
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.
Link naar reactie
[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...
Link naar reactie
[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 ...
Link naar reactie
  • 2 weken later...

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...