Undefined index: id melding

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

SanderV

SanderV

23/01/2007 00:17:00
Quote Anchor link
ik heb een script in php geschreven. hier get ik een id uit mijn url. Hier maak ik een variabele van.
$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)
PHP script in nieuw venster Selecteer het PHP script
1
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());
  }

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
 
PHP hulp

PHP hulp

08/05/2024 23:40:37
 
B a s
Beheerder

B a s

23/01/2007 00:26:00
Quote Anchor link
Wat zijn de eigenschappen van je kolom 'klanten_id' in je database?

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
 
SanderV

SanderV

23/01/2007 00:33:00
Quote Anchor link
klanten_di in mijn db is: int(255).
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
 
- SanThe -

- SanThe -

23/01/2007 02:06:00
Quote Anchor link
De $_GET['id'] is niet geset.
 
Klaasjan Boven

Klaasjan Boven

23/01/2007 08:02:00
Quote Anchor link
if(isset($_GET['id']))
{
enzovoort
 
SanderV

SanderV

23/01/2007 08:49:00
Quote Anchor link
waar sluit ik deze dan weer?

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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
    if(isset($_GET["id"]))
{
    
    $hobbytoe = $_GET["id"];
    
    }
Gewijzigd op 01/01/1970 01:00:00 door SanderV
 
- SanThe -

- SanThe -

23/01/2007 09:40:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if(!isset($_GET["id"])) // Uitroepteken ervoor betekent NOT
{
    exit("Er is geen id opgegeven"); // Even een grove methode gebruikt
}

// Verder kan je hier $_GET["id"] testen en gebruiken
// Rest van je script

?>
 
SanderV

SanderV

23/01/2007 09:56:00
Quote Anchor link
nog steeds zelfde probleem, alleen nu met de melding er is geen id opgegeven.
ik kan overal $hobytoe echoën, alleen in de query werkt hij niet. ik heb nu het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if(!isset($_GET["id"]))
{
    exit("Er is geen id opgegeven");
}

$hobbytoe = $_GET["id"];
 
- SanThe -

- SanThe -

23/01/2007 10:00:00
Quote Anchor link
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?
 
SanderV

SanderV

23/01/2007 10:11:00
Quote Anchor link
Die komt uit de url vandaan, die wordt ook juist meegegeven.

Dit doe ik op de vorige pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
Gewijzigd op 01/01/1970 01:00:00 door SanderV
 
G. de Graaf

G. de Graaf

23/01/2007 10:14:00
Quote Anchor link
vaag probleem idd
Gewijzigd op 01/01/1970 01:00:00 door G. de Graaf
 
M Ypma

M Ypma

23/01/2007 10:28:00
Quote Anchor link
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:)
 
SanderV

SanderV

23/01/2007 10:35:00
Quote Anchor link
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:)

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
 
CrawlBackwards

CrawlBackwards

23/01/2007 10:41:00
Quote Anchor link
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";
 
- SanThe -

- SanThe -

23/01/2007 10:59:00
Quote Anchor link
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";

Doe het dan gelijk goed en gebruik enkele quotes zodat de htlm-quotes niet meer geëscaped hoeven te worden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo 'Klik <A HREF="hobbytoevoegen.php?id=' . $hobbytoe . '">hier</A> om hobbies aan deze cliënt toe te voegen<BR>';
?>
 
- SanThe -

- SanThe -

23/01/2007 11:04:00
Quote Anchor link
Maar..... echo die $_GET["id"] eens, volgens mij is ie nog steeds leeg.

Edit: En zit dit eens bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
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 -
 
SanderV

SanderV

23/01/2007 11:12:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
  }

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
 
- SanThe -

- SanThe -

23/01/2007 11:18:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
}

?>
 
SanderV

SanderV

23/01/2007 11:24:00
Quote Anchor link
haha had ik ook al geprobeerd, maar werkt niet, (ik heb voor de zekerheid ook die van jouw even geprobeerd aangezien ik mezelf niet vertrouw)
Wat ik nu probeer is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;

maar ik krijg nu melding :Resource id #5.
Wat doe ik nu weer fout?
 
- SanThe -

- SanThe -

23/01/2007 11:34:00
Quote Anchor link
Je moet dan nog wel eerst de data er uit halen met een van de mysql_fetch_**** queries.
 
SanderV

SanderV

23/01/2007 11:42:00
Quote Anchor link
ok, dit is wat ik nu heb, het id wordt nu correct geprint. dit is de code die ik hiervoor gebruik, maar hoe maak ik nu een variabele van het resultaat?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
    
  }  


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
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.