Hulp nodig met een PHP session
Ik gebruik 3 pagina's om een formulier werkend te krijgen.
pagina1.php --> basis gegevens.
pagina2.php --> komen aanmeldgegevens
pagina3.php --> controle, wat heb je ingevuld en formulier verzenden.
de sessies van pagina 1 naar 2 verlopen goed, deze neemt die netjes over.
Echter de sessies die ik bij pagina 1 heb ingevuld, zie ik bij 3 niet mee. De sessies van pagina 2 wel bij 3.
Ik heb overal session_start(); en dezelfde sessie, S_SESSION['input']
Wie kan me helpen?
Groet,
Roel
Heb je ze niet overschreven?
Je zal even wat meer code moeten geven, want dit wordt "gokken".
session_regenerate_id() will replace the current session id with a new one, and keep the current session information.
Gewijzigd op 09/01/2014 22:57:53 door Bart Smulders
Zo worden op beide pagina's me sessions aangemaakt.
Roel H op 10/01/2014 07:00:09:
Hier zet je een reeds bestaande SESSION om naar een Array genaamd content.
Hier worden dus geen SESSIONS gemaakt. Heb je ook nog een stukje waarin je dat wel doet?
$_SESSION['errors'] = array();
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
foreach($formuliervelden as $veld => $type)
{
if($type == 'checkbox')
{
if(empty($_POST[$veld]) && !in_array($veld, $no_check))
{
$_SESSION['errors'][$veld] = true;
$errors[] = 'Je moet de checkbox "'.$veld.'" aanvinken';
}
else
{
$_SESSION['input'][$veld] = $_POST[$veld];
}
}
Zo worden de velden gemaakt, uiteraard zijn er mee ren sluit de array netjes af
$formuliervelden = array(
'aantalproevendressuuronderzadel' => 'select',
'dressuurklasseonderzadel' => 'select',
Toevoeging op 10/01/2014 16:43:02:
Yes het werkt, ik had op de 2e pagina ook
$_SESSION['input'] = array();
$_SESSION['errors'] = array();
staan, dus de array werkt weer leeg gemaakt, dom ;-)
Nog 1 klein vraagje
Bij dit script
http://www.phptuts.nl/view/34/
Ik heb een textarea, maar daar moet een ubbparser overheen. dat zou moeten worden.
makeUBB($_SESSION['input']['bericht'];
Echter, waar ik dit ook plaats, nergens voert die de parse uit. Weet iemand hoe dit op te lossen?
En waar is de function makeUBB()?
die zit in een bestand, ubb.php, wordt geinclude.
Een voorwaarde van een functie is dat zer als volgt uitziet :
Functienaam($voorwaarde1,$Voorwaarde2,enz ) <---en afsluiten. ; <--- Einde regel . Zoek de fout.
De volgde fout kan zijn dat je een array stuurt in functie ubb die geen array uitlezen kan. dus krijgt die als waarde " Array " te zien.
Bart Smulders op 11/01/2014 09:06:21:
makeUBB($_SESSION['input']['bericht'];
Een voorwaarde van een functie is dat zer als volgt uitziet :
Functienaam($voorwaarde1,$Voorwaarde2,enz ) <---en afsluiten. ; <--- Einde regel . Zoek de fout.
De volgde fout kan zijn dat je een array stuurt in functie ubb die geen array uitlezen kan. dus krijgt die als waarde " Array " te zien.
Een voorwaarde van een functie is dat zer als volgt uitziet :
Functienaam($voorwaarde1,$Voorwaarde2,enz ) <---en afsluiten. ; <--- Einde regel . Zoek de fout.
De volgde fout kan zijn dat je een array stuurt in functie ubb die geen array uitlezen kan. dus krijgt die als waarde " Array " te zien.
Il heb de functie wel met een ) afgesloten, ook al staat dat hier niet, ik krijg iig geen foutmeldingen.
ik krijg niet de tekst array op het scherm te zien, maar er gebeurt helemaal niks.
Toevoeging op 11/01/2014 10:13:16:
Ik heb het nu via deze manier opgelost.
Code (php)
1
2
3
2
3
elseif($veld == 'berichtpersoon'){
htmlentities($_SESSION['kvth'][$veld], ENT_COMPAT, "UTF-8");
}
htmlentities($_SESSION['kvth'][$veld], ENT_COMPAT, "UTF-8");
}
Echter deze functie werkt niet me enters, terwijl ik die wel gebruik.
Ik gebruik dit zo, omdat ik de $_POST/$_SESSION door de mail wil gooien.
Roel H op 11/01/2014 10:05:25:
Il heb de functie wel met een ) afgesloten, ook al staat dat hier niet, ik krijg iig geen foutmeldingen.
ik krijg niet de tekst array op het scherm te zien, maar er gebeurt helemaal niks.
Toevoeging op 11/01/2014 10:13:16:
Ik heb het nu via deze manier opgelost.
Echter deze functie werkt niet me enters, terwijl ik die wel gebruik.
Ik gebruik dit zo, omdat ik de $_POST/$_SESSION door de mail wil gooien.
Bart Smulders op 11/01/2014 09:06:21:
makeUBB($_SESSION['input']['bericht'];
Een voorwaarde van een functie is dat zer als volgt uitziet :
Functienaam($voorwaarde1,$Voorwaarde2,enz ) <---en afsluiten. ; <--- Einde regel . Zoek de fout.
De volgde fout kan zijn dat je een array stuurt in functie ubb die geen array uitlezen kan. dus krijgt die als waarde " Array " te zien.
Een voorwaarde van een functie is dat zer als volgt uitziet :
Functienaam($voorwaarde1,$Voorwaarde2,enz ) <---en afsluiten. ; <--- Einde regel . Zoek de fout.
De volgde fout kan zijn dat je een array stuurt in functie ubb die geen array uitlezen kan. dus krijgt die als waarde " Array " te zien.
Il heb de functie wel met een ) afgesloten, ook al staat dat hier niet, ik krijg iig geen foutmeldingen.
ik krijg niet de tekst array op het scherm te zien, maar er gebeurt helemaal niks.
Toevoeging op 11/01/2014 10:13:16:
Ik heb het nu via deze manier opgelost.
Code (php)
1
2
3
2
3
elseif($veld == 'berichtpersoon'){
htmlentities($_SESSION['kvth'][$veld], ENT_COMPAT, "UTF-8");
}
htmlentities($_SESSION['kvth'][$veld], ENT_COMPAT, "UTF-8");
}
Echter deze functie werkt niet me enters, terwijl ik die wel gebruik.
Ik gebruik dit zo, omdat ik de $_POST/$_SESSION door de mail wil gooien.
Dat doet ook niks. Je mist nog een echo als je t wil tonen of een variabele als je t wil opslaan.
Als het uit een textarea komt kun je nl2br() om de enters om te zetten naar breaks,
Dus zodoende probeer ik dat via een ubb parser.
Kan het aan de headers van de mail liggen dat nl2br niet goed werkt?
htmlentities($_SESSION['kvth'][$veld], ENT_COMPAT, "UTF-8"); dit maakt van éééáá geen rare tekens iig.
En dat werkt wel dat stukje Michael-, het script werkt zo namelijk.