Undefined index: id melding
$hobbytoe = $_GET["id"];
wanneer ik deze waar dan ook echo is er geen enkel probleem. Alleen wanneer ik deze in een query wil gaan toepassen
Code (php)
1
2
3
4
2
3
4
foreach($hobbies_selections as $hob){
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $hobbytoe . "', '" . $hob . "')") or die(mysql_error());
}
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $hobbytoe . "', '" . $hob . "')") or die(mysql_error());
}
Krijg ik de melding: "Undefined index: id"
Wanneer ik van id een harde waarde maak dan doet de query het wel juist. Heeft iemand enig idee wat ik hier fout doe?
bvd
Ook is het zo, dat als je zeker weet dat het een getal is en uniek is (neem aan dat je klanten_id uniek is?) dan hoef je geen single quotes te gebruiken..
Echo ook eens je $hobbytoe voor je foreach() lus..
Gewijzigd op 01/01/1970 01:00:00 door B a s
In de tabel klanten_hobby_koppel is de combinatie van hobby en klanten_id uniek. een klant plus een hobby is dus een unieke waarde. Hobbies kunnen meerder keren voorkomen en klanten ook. Zo kan ik één klant meerder hobbies geven en meerder hobbies aan klanten, maar niet één klant twee keer dezelfde hobbie geven.
Wanneer ik voor de foreach echo zijn wordt deze juist weer gegeven.
edit: ik heb ook de relatie tussen klanten_id uit de klanten tabel weggehaald, maar dit mocht ook niet baten.
Gewijzigd op 01/01/1970 01:00:00 door SanderV
De $_GET['id'] is niet geset.
{
enzovoort
edit:
ik heb nu dit staan, voor de query wordt uitgevoerd kan ik wel $hobbytoe echoën. maar na de query krijg ik melding: "Undefined variable: hobbytoe" In alle regels waar ik de variabele wil gebruiken.
Gewijzigd op 01/01/1970 01:00:00 door SanderV
ik kan overal $hobytoe echoën, alleen in de query werkt hij niet. ik heb nu het volgende:
SanThe schreef op 23.01.2007 02:06:
De $_GET['id'] is niet geset.
Zoals ik al eerder meldde.
Waar moet dat 'id' vandaan komen?
Dit doe ik op de vorige pagina:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
mysql_query("INSERT INTO klanten (klanten_voornaam, klanten_tussen etc..)
VALUES ('".$voornaam."', '".$tuss etc...)") or die(mysql_error());
$hobbytoe = mysql_insert_id();
echo " Clint toegevoegd<BR>\n";
echo "Klik <A HREF=\"hobbytoevoegen.php?id=$hobbytoe\">hier</A> om hobbies aan deze clint toe te voegen<BR>\n";
VALUES ('".$voornaam."', '".$tuss etc...)") or die(mysql_error());
$hobbytoe = mysql_insert_id();
echo " Clint toegevoegd<BR>\n";
echo "Klik <A HREF=\"hobbytoevoegen.php?id=$hobbytoe\">hier</A> om hobbies aan deze clint toe te voegen<BR>\n";
Gewijzigd op 01/01/1970 01:00:00 door SanderV
Gewijzigd op 01/01/1970 01:00:00 door G. de Graaf
ook het aantal klanten dat je verwacht...INT(255)... ik zal de uiterste waarde maar niet uitschrijven, maar je kan iig het aantal inwoners van de hele wereld aan:)
michel schreef op 23.01.2007 10:28:
idd vaag,
ook het aantal klanten dat je verwacht...INT(255)... ik zal de uiterste waarde maar niet uitschrijven, maar je kan iig het aantal inwoners van de hele wereld aan:)
ook het aantal klanten dat je verwacht...INT(255)... ik zal de uiterste waarde maar niet uitschrijven, maar je kan iig het aantal inwoners van de hele wereld aan:)
Deze had ik al veranderd naar int(11) :P
Ik zat te denken om de waarden uit de tabel te halen, maar weet iemand welke query ik hiervoor moet gebruiken. Dus ongeveer: select klatnen_id from klanten where klanten_id = $hobbytoe.
en het result hiervan in een nieuwe variabele. Dan zou hij het volgens mij wel moeten doen.
Weet alleen niet hoe ik die query moet opbouwen
Gewijzigd op 01/01/1970 01:00:00 door SanderV
echo "Klik <A HREF=\"hobbytoevoegen.php?id=$hobbytoe\">hier</A> om hobbies aan deze cliënt toe te voegen<BR>\n";
CrawlBackwards schreef op 23.01.2007 10:41:
hmmm waar het probleem weg komt zie ik zo echt niet.. maar haal wel ej vars buiten quotes..
echo "Klik <A HREF=\"hobbytoevoegen.php?id=$hobbytoe\">hier</A> om hobbies aan deze cliënt toe te voegen<BR>\n";
echo "Klik <A HREF=\"hobbytoevoegen.php?id=$hobbytoe\">hier</A> om hobbies aan deze cliënt toe te voegen<BR>\n";
Doe het dan gelijk goed en gebruik enkele quotes zodat de htlm-quotes niet meer geëscaped hoeven te worden.
Code (php)
1
2
3
2
3
<?php
echo 'Klik <A HREF="hobbytoevoegen.php?id=' . $hobbytoe . '">hier</A> om hobbies aan deze cliënt toe te voegen<BR>';
?>
echo 'Klik <A HREF="hobbytoevoegen.php?id=' . $hobbytoe . '">hier</A> om hobbies aan deze cliënt toe te voegen<BR>';
?>
Edit: En zit dit eens bovenin je script.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest van je script
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest van je script
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Code (php)
1
2
3
4
5
6
2
3
4
5
6
echo $_GET["id"];
foreach($hobbies_selections as $hob){
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $hobbytoe . "', '" . $hob . "')") or die(mysql_error());
}
foreach($hobbies_selections as $hob){
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $hobbytoe . "', '" . $hob . "')") or die(mysql_error());
}
De echo wordt keurig weergegeven. de rest had ik al boven mijn script staan.
echo $hobbytoe; wordt ook keurig weergegeven. als ik van id een harde waarde maak dus gewoon 340, dan werkt het gewoon.
Gewijzigd op 01/01/1970 01:00:00 door SanderV
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
foreach($hobbies_selections as $hob)
{
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES (" . $_GET['id'] . ", '" . $hob . "')") or die(mysql_error());
}
?>
foreach($hobbies_selections as $hob)
{
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES (" . $_GET['id'] . ", '" . $hob . "')") or die(mysql_error());
}
?>
Wat ik nu probeer is:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
if(!isset($_GET["id"])) // Uitroepteken ervoor betekent NOT
{
exit("Er is geen id opgegeven"); // Even een grove methode gebruikt
}
$hobbytoe = $_GET["id"];
$res = mysql_query("SELECT * FROM klanten WHERE klanten.klanten_id='$hobbytoe'") or die(mysql_error());
echo $res;
{
exit("Er is geen id opgegeven"); // Even een grove methode gebruikt
}
$hobbytoe = $_GET["id"];
$res = mysql_query("SELECT * FROM klanten WHERE klanten.klanten_id='$hobbytoe'") or die(mysql_error());
echo $res;
maar ik krijg nu melding :Resource id #5.
Wat doe ik nu weer fout?
Je moet dan nog wel eerst de data er uit halen met een van de mysql_fetch_**** queries.
Code (php)
1
2
3
4
5
2
3
4
5
$query = mysql_query("SELECT * FROM klanten WHERE klanten.klanten_id='$hobbytoe'") or die (mysql_error());
while ($klantid = mysql_fetch_assoc($query)) {
echo $klantid['klanten_id'];
}
while ($klantid = mysql_fetch_assoc($query)) {
echo $klantid['klanten_id'];
}
edit: wat ik ook invoer in de echo het wordt juist weergegeven, dus ook echo$klantid['klanten_voornaam']; werkt perfect. Nu dus alleen hier nog een var van maken.
Gewijzigd op 01/01/1970 01:00:00 door SanderV