Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Hulp bij eerste session gevraagd

None
13 antwoorden
  • 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?
  • Volgens mij ben je in formulier 2 session_start(); vergeten …
  • 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="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]
  • 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: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 :-?
  • 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?
  • 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.
  • 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";
    ?>
  • 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: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.

  • [quote:1290d36002="jan107"]Nee, werkt niet. Voor alle duidlijkheid, dit is de sessie-start:
    _______________________________________
    <?php
  • Hallo BelgiumBoy_007
    Ik heb het script inmiddels werkend gekregen, alles functioneert nu goed. Mede dankzij jouw adviezen en opmerkingen.
    Bedankt!

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.