meerdere waarden meesturen naar een formulier.
Hallo mensen,
Zoals sommige gelezen hebben, ben ik druk bezig php onder de knie te krijgen en gaat al aardig al zeg ik het zelf.
Ik loop nu alleen tegen een probleem aan dat als ik op een link klik ik 1 waarde mee kan sturen naar een ander formulier met de code.
nu komt er een linkt met de waarde leerling_id, als ik hier op klik neemt die nu de voornaam mee naar het volgende formulier.
op de pagina toevoegenupdate.php heb ik de waarde opgeroepen in een textfield dmv $_GET.
Alleen mijn vraag is hoe kan ik meerdere waardens mee sturen, zodat ik op de link druk met waarde leerling_id en dat die zoveel de voornaam, achternaam etc meeneemt naar de volgende pagina
Zoals sommige gelezen hebben, ben ik druk bezig php onder de knie te krijgen en gaat al aardig al zeg ik het zelf.
Ik loop nu alleen tegen een probleem aan dat als ik op een link klik ik 1 waarde mee kan sturen naar een ander formulier met de code.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$query= "SELECT * FROM leerling_id WHERE achternaam LIKE'%$achternaam%'AND voornaam LIKE'%$voornaam%' AND
klas LIKE '%$klas%' AND straatnaam LIKE'%$straatnaam%' AND plaats LIKE'%$plaats%' AND
postcode LIKE'%$postcode%'AND huisnummer LIKE'%$huisnummer%' ;";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$aantal = mysql_num_rows($result);
$leerling_id = $rij->leerling_id;
if ($aantal == 0){
echo ("Helaas, er werden geen records gevonden
met <b> ". $_POST["voornaam"]. " </b><br>\n");
}else
while($rij = mysql_fetch_object($result))
echo '<tr><td><a href=\'toevoegenupdate.php?voornaam='.$rij->voornaam. '\' >'.$rij->leerling_id.'</a>'.
klas LIKE '%$klas%' AND straatnaam LIKE'%$straatnaam%' AND plaats LIKE'%$plaats%' AND
postcode LIKE'%$postcode%'AND huisnummer LIKE'%$huisnummer%' ;";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$aantal = mysql_num_rows($result);
$leerling_id = $rij->leerling_id;
if ($aantal == 0){
echo ("Helaas, er werden geen records gevonden
met <b> ". $_POST["voornaam"]. " </b><br>\n");
}else
while($rij = mysql_fetch_object($result))
echo '<tr><td><a href=\'toevoegenupdate.php?voornaam='.$rij->voornaam. '\' >'.$rij->leerling_id.'</a>'.
nu komt er een linkt met de waarde leerling_id, als ik hier op klik neemt die nu de voornaam mee naar het volgende formulier.
op de pagina toevoegenupdate.php heb ik de waarde opgeroepen in een textfield dmv $_GET.
Alleen mijn vraag is hoe kan ik meerdere waardens mee sturen, zodat ik op de link druk met waarde leerling_id en dat die zoveel de voornaam, achternaam etc meeneemt naar de volgende pagina
Met een link kun je meerdere waardes meegeven op deze manier:
bla.php?waarde1=voornaam&waarde2=achternaam&waarde3=1
bla.php?waarde1=voornaam&waarde2=achternaam&waarde3=1
de & teken dus :( ik heb , en met ' en " gespeeld. thnx ga het even testen
hij doet helaas niet wat ik wil :(
ik weet wat er in de www balk moet staan maar ik krijg het er niet in.
niet met een header want die schijnt al verzonden te zijn volgens de fout melding.
nog een klein hulpje nodig.
ik wil op een link klikken(zoals hier boven het leerling_id) en dan meer waardens in het volgende formulier op de andere pagina weergeven :(
ik heb nu
}else
header('Location:absentoevoegen.php?leerling_id="$leerling_id"');
en krijg deze melding
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\ars\update.php:16) in C:\wamp\www\ars\update.php on line 99
ik weet wat er in de www balk moet staan maar ik krijg het er niet in.
niet met een header want die schijnt al verzonden te zijn volgens de fout melding.
nog een klein hulpje nodig.
ik wil op een link klikken(zoals hier boven het leerling_id) en dan meer waardens in het volgende formulier op de andere pagina weergeven :(
ik heb nu
}else
header('Location:absentoevoegen.php?leerling_id="$leerling_id"');
en krijg deze melding
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\ars\update.php:16) in C:\wamp\www\ars\update.php on line 99
Gewijzigd op 01/01/1970 01:00:00 door the master
Nou dan zaj toch even je gehele code moeten pasten maar zoek eerst eens op headers already sent. IK gok dat je zeker een miljoen hits krijgt op Google
Okey, de link word dan:
www.joulinkhier.nl/joupagina.php?leerling_id=1&naam=iemand&achternaam=iemand
Dan kun je op joupagina.php de naam weer op deze manier opvragen uit de url: $_GET['leerling_id']
Dus dan doe je:
Je kan voor elke variablele die je hebt meegegeven in de url de waarde op deze manier aanvragen:
$_GET['leerling_id'] en tussen de '' moet dan de naam van die variablele worden gegeven ...
Succes!
www.joulinkhier.nl/joupagina.php?leerling_id=1&naam=iemand&achternaam=iemand
Dan kun je op joupagina.php de naam weer op deze manier opvragen uit de url: $_GET['leerling_id']
Dus dan doe je:
Je kan voor elke variablele die je hebt meegegeven in de url de waarde op deze manier aanvragen:
$_GET['leerling_id'] en tussen de '' moet dan de naam van die variablele worden gegeven ...
Succes!
bedankt voor het zetje in de goede richting.
beetje slordig maar het werk wel
a href=\'toevoegenupdate.php?leerling_id='.$rij->leerling_id.'&voornaam='.$rij->voornaam.'
&tussenvoegsel='.$rij->tussenvoegsel.'&achternaam='.$rij->achternaam.'&straatnaam='.$rij->straatnaam.'&huisnummer='.$rij->huisnummer.'
&toevoeging='.$rij->toevoeging.'&postcode='.$rij->postcode.'&plaats='.$rij->plaats.'&telefoon_vast='.$rij->telefoon_vast.'&telefoon_mobiel='.$rij->telefoon_mobiel.'
&klas='.$rij->klas.'
beetje slordig maar het werk wel
a href=\'toevoegenupdate.php?leerling_id='.$rij->leerling_id.'&voornaam='.$rij->voornaam.'
&tussenvoegsel='.$rij->tussenvoegsel.'&achternaam='.$rij->achternaam.'&straatnaam='.$rij->straatnaam.'&huisnummer='.$rij->huisnummer.'
&toevoeging='.$rij->toevoeging.'&postcode='.$rij->postcode.'&plaats='.$rij->plaats.'&telefoon_vast='.$rij->telefoon_vast.'&telefoon_mobiel='.$rij->telefoon_mobiel.'
&klas='.$rij->klas.'
Waarom doe je dit allemaal met de GET functie. Zenden met POST is veel netter(en veiliger).
Wanneer je de boel gaat beveiligen, dan is dat wel wat meer dan alleen POST of GET toepassen. Beide zijn namelijk volkomen onbetrouwbaar omdat ze van de browser afkomen. Hier een snippet die de beveiliging regelt voor MySQL (met dank aan Jan Koehoorn):
Dit zet je aan het begin van je code, in de rest van je code gebruik je de variabelen $savePost en $saveGet, afhankelijk waar de boel vandaan komt.
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
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?
function quote_smart ($value) {
if (get_magic_quotes_gpc ()) {
$value = stripslashes($value);
}
if (version_compare (phpversion (),"4.3.0") == "-1") {
return mysql_escape_string ($value);
}
else {
return mysql_real_escape_string ($value);
}
}
if (isset($_POST)) {
$savePost = array();
foreach ($_POST as $key => $value) {
$savePost[$key] = quote_smart($value);
}
}
if (isset($_GET)) {
$saveGet = array();
foreach ($_GET as $key => $value) {
$saveGet[$key] = quote_smart($value);
}
}
?>
function quote_smart ($value) {
if (get_magic_quotes_gpc ()) {
$value = stripslashes($value);
}
if (version_compare (phpversion (),"4.3.0") == "-1") {
return mysql_escape_string ($value);
}
else {
return mysql_real_escape_string ($value);
}
}
if (isset($_POST)) {
$savePost = array();
foreach ($_POST as $key => $value) {
$savePost[$key] = quote_smart($value);
}
}
if (isset($_GET)) {
$saveGet = array();
foreach ($_GET as $key => $value) {
$saveGet[$key] = quote_smart($value);
}
}
?>
Dit zet je aan het begin van je code, in de rest van je code gebruik je de variabelen $savePost en $saveGet, afhankelijk waar de boel vandaan komt.




