session array ontleden
ik ben een registreer formulier aan het maken.
Als alle velden correct ingevuld zijn en gevalideerd zijn
worden alle waardes uit de session array $aContent[] afgebeeld op het scherm, dit werkt, op deze manier
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
$aContent[] = '<p><b>Het resultaat, de input:</b></p>';
$aContent[] = '<ul>';
foreach($_SESSION['input'] as $sKey => $sValue)
{
$aContent[] = '<li>'.$sKey.': '.$sValue.'</li>';
}
$aContent[] = '</ul>';
$aContent[] = '<ul>';
foreach($_SESSION['input'] as $sKey => $sValue)
{
$aContent[] = '<li>'.$sKey.': '.$sValue.'</li>';
}
$aContent[] = '</ul>';
nu wil ik, dat ook de gegevens naar de database gestuurd worden.
dit is de sql code die ik al heb
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$sql = "
INSERT INTO leden
(
user,
voornaam,
achternaam,
email,
postcode,
woonplaats,
geboortejaar
)
VALUES
(
'test'
)
";
INSERT INTO leden
(
user,
voornaam,
achternaam,
email,
postcode,
woonplaats,
geboortejaar
)
VALUES
(
'test'
)
";
nu probeer ik aan de hand van diezelfde sessionarray, de gegevens in de query te plaatsen
maar hoe spreek ik de verschillende opties in de array appart aan?
zodat ik in de query 'test' kan vervangen door een de lijst van waardes uit de array
thanks so much in advance!
grtz
Arne
Zie foreach().
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
<?php //(special for wim!)
$fieldlist = "";
$updatelist = "";
foreach ($_SESSION as $key => $val) {
$fieldlist .= $key. ','
$updatelist .= "'".$val."',";
}
$fieldlist = substr($fieldlist, 0, strlen($fieldlist)-1);
$updatelist = substr($updatelist , 0, strlen($updatelist )-1);
$query = "INSERT INTO leden ( ".$fieldlist.") VALUES ( ".$updatelist.")";
[/code]
ABSOLUUT NIET DE MOOISTE OPLOSSING.
Maar 't werkt wel ;)
$fieldlist = "";
$updatelist = "";
foreach ($_SESSION as $key => $val) {
$fieldlist .= $key. ','
$updatelist .= "'".$val."',";
}
$fieldlist = substr($fieldlist, 0, strlen($fieldlist)-1);
$updatelist = substr($updatelist , 0, strlen($updatelist )-1);
$query = "INSERT INTO leden ( ".$fieldlist.") VALUES ( ".$updatelist.")";
[/code]
ABSOLUUT NIET DE MOOISTE OPLOSSING.
Maar 't werkt wel ;)
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
heb er net mee zitten spelen en het werkt bijna!
als ik fieldlist en updatelist echo krijg ik
gebruikersnaam,voornaam,achternaam,email,email2,postcode,woonplaats,geboortejaar
'ghghfg','ghfdgdf','fdgdfgdf','[email protected]','[email protected]','4655','sdfdsfsf','2010'
dus het zit wel degelijk goed
maar er wordt helaas niks naar de database geschreven :( en ik krijg ook geen foutmeldingen meer ...
heb met simpelere testjes vanalles geprobeerd, de connectie naar de database werkt wel degelijk, ben er ingeslaagd enkel de naam enzo te laten wegschrijven, dus .....
enig idee hoe dit kan komen misschien?
thx in advance
alsook zeg je dat dit niet de mooiste oplossing is,
wat is dan wel een courante manier van werken om dit te bekomen?
thx again !
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
dit is de code
$fieldlist = "";
$updatelist = "";
foreach ($_SESSION['input'] as $key => $val) {
$fieldlist .= $key. ',';
$updatelist .= "'".$val."',";
}
$fieldlist = substr($fieldlist, 0, strlen($fieldlist)-1);
$updatelist = substr($updatelist , 0, strlen($updatelist )-1);
echo $fieldlist;
echo $updatelist;
$query = "INSERT INTO leden ( ".$fieldlist.") VALUES ( ".$updatelist.")";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
$fieldlist = "";
$updatelist = "";
foreach ($_SESSION['input'] as $key => $val) {
$fieldlist .= $key. ',';
$updatelist .= "'".$val."',";
}
$fieldlist = substr($fieldlist, 0, strlen($fieldlist)-1);
$updatelist = substr($updatelist , 0, strlen($updatelist )-1);
echo $fieldlist;
echo $updatelist;
$query = "INSERT INTO leden ( ".$fieldlist.") VALUES ( ".$updatelist.")";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
Misschien moet je de query ook uitvoeren. (Dat zie ik nog nergens nl.).
Code (php)
Is dit niet hetzelfde?
Code (php)
1
2
3
4
2
3
4
<?php
$fieldlist = implode(" ,", array_keys($_SESSION));
$updatelist = "'".implode("' ,'", $_SESSION)."'";
?>
$fieldlist = implode(" ,", array_keys($_SESSION));
$updatelist = "'".implode("' ,'", $_SESSION)."'";
?>