login  Naam:   Wachtwoord: 
Registreer je!
 Forum

toevoegpagina geeft id=0 (Opgelost)

Offline Gust - 17/07/2008 09:44
Avatar van GustMySQL interesse Alles ging goed. Als er iemand iets toevoegt, dan kwam er te staan: "dit_is_uw_bewerkpagina.php?id=2". En de volgende kreeg id=3 enzovoort.

Ik weet niet wat ik nu per ongeluk gedaan zou hebben, maar de url eindigt altijd met id=0, en intussen wordt er niets meer toegevoegd aan de database.

Dit is hoe de code is opgebouwd. Iemand een idee wat er mis is?

  1. <?php
  2.  
  3. // variabelen initialiseren:
  4. $username = "geheim";
  5. $password = "geheim";
  6. $host="localhost";
  7. $dbnaam="geheim";
  8. //$fout = "FOUT: openen database mislukt";
  9. //$query="SELECT * FROM gaz_main_algemeen";
  10.  
  11. $files = array();
  12.  
  13. foreach ($_FILES["pictures"]["error"] as $key => $error) {
  14. if ($error == UPLOAD_ERR_OK) {
  15. $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
  16. $name = $_FILES["pictures"]["name"][$key];
  17. move_uploaded_file($tmp_name, "images/$name");
  18. array_push($files, $name);
  19. }
  20. }
  21.  
  22.  
  23.  
  24. $db=mysql_connect($host, $username, $password) or die (mysql_error());
  25. mysql_select_db($dbnaam, $db) or die (mysql_error());
  26.  
  27. $query="INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, \"$Name\", \"$enzovoort\");";
  28.  
  29.  
  30. $id = $_POST["id"];
  31. $Name = $_POST["Name"];
  32. $enzovoort= $_POST["enzovoort"];
  33. $result = mysql_query($query);
  34.  
  35. ?>
  36.  
  37. <html>
  38. <head>
  39. <title></title>
  40. </head>
  41. <body>
  42.  
  43. <?php
  44. echo("Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is ");
  45.  
  46. echo '<a href="http://www.gazelleworldwave.be/pro/gaz_main/gaz_main_bewerken.php?id='.mysql_insert_id().'">http://www.gazelleworldwave.be/pro/gaz_main/gaz_main_bewerken.php?id='.mysql_insert_id().'</a>';
  47.  
  48. echo("<hr><a href=\"gaz_main_index.php\">Terug</a>");
  49. ?>
  50.  
  51. </body>
  52. </html>

13 antwoorden

Gesponsorde links
Offline Koen - 17/07/2008 09:59
Avatar van Koen PHP expert
  1. $id = $_POST["id"];
  2. $Name = $_POST["Name"];
  3. $enzovoort= $_POST["enzovoort"];
  4. $query="INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, \"$Name\", \"$enzovoort\");";
  5. $result = mysql_query($query);


Probeer het zo eens 
Offline Gust - 17/07/2008 10:14 (laatste wijziging 17/07/2008 10:22)
Avatar van Gust MySQL interesse Omkeren bedoel je?

Nee hoor, ik krijg hetzelfde resultaat  

Het is vanaf deze website dat ik het wil doen. Probeer maar eens uit zou ik zeggen  
Offline Berten - 17/07/2008 11:02
Avatar van Berten PHP beginner
  1. <?php
  2.  
  3. // variabelen initialiseren:
  4. $username = "geheim";
  5. $password = "geheim";
  6. $host="localhost";
  7. $dbnaam="geheim";
  8. //$fout = "FOUT: openen database mislukt";
  9. //$query="SELECT * FROM gaz_main_algemeen";
  10.  
  11. $files = array();
  12.  
  13. foreach ($_FILES["pictures"]["error"] as $key => $error) {
  14. if ($error == UPLOAD_ERR_OK) {
  15. $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
  16. $name = $_FILES["pictures"]["name"][$key];
  17. move_uploaded_file($tmp_name, "images/$name");
  18. array_push($files, $name);
  19. }
  20. }
  21.  
  22.  
  23.  
  24. $db=mysql_connect($host, $username, $password) or die (mysql_error());
  25. mysql_select_db($dbnaam, $db) or die (mysql_error());
  26.  
  27. $query="INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, '".$name."', '".$enzovoort."')";
  28.  
  29.  
  30. $id = $_POST["id"];
  31. $Name = $_POST["Name"];
  32. $enzovoort= $_POST["enzovoort"];
  33. $result = mysql_query($query);
  34. ?>
  35.  
  36. <html>
  37. <head>
  38. <title></title>
  39. </head>
  40. <body>
  41.  
  42. <?php
  43. echo "Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is ";
  44.  
  45. echo '<a href="http://www.gazelleworldwave.be/pro/gaz_main/gaz_main_bewerken.php?id='.$id.'">http://www.gazelleworldwave.be/pro/gaz_main/gaz_main_bewerken.php?id='.$id.'</a>';
  46.  
  47. echo "<hr><a href=\"gaz_main_index.php\">Terug</a>" ;
  48. ?>


1. Geen () bij een echo
2. als je een variabele wil echoen of toevoegen aan een string moet deze buiten de "" staan, dit doe je met ".$variabele."
Offline Gust - 17/07/2008 11:34 (laatste wijziging 17/07/2008 11:38)
Avatar van Gust MySQL interesse Het geeft nog altijd hetzelfde resultaat   en soms verschijnt die 0 niet eens meer, dan eindigt het met "id="

Zou het dan aan de indexpagina of aan de database kunnen liggen?
Offline Berten - 17/07/2008 11:55
Avatar van Berten PHP beginner $result = mysql_query($query) or die(mysql_error());

dan weet je het zo
Offline Gust - 17/07/2008 12:05
Avatar van Gust MySQL interesse You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Berten - 17/07/2008 12:24
Avatar van Berten PHP beginner doe is echo $query; om te zien hoe je query eruit zeit
Offline kickasgamer - 17/07/2008 12:29
Avatar van kickasgamer PHP ver gevorderde maar je zet toch ook bij je id altijd NULL, zet gewoon een auto increment en dan zal je id mooi mee gaan, of zie ik dat verkeerd ?
Offline Gust - 17/07/2008 12:43
Avatar van Gust MySQL interesse @Berten:
Ik zie nog steeds hetzelfde:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

@kickasgamer:
da's vreemd. In het overzicht van de database staat dat mijn id NULL is. Maar als ik de database exporteer zie ik het volgende:

  1. CREATE TABLE `mijn_tabel` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `Name` varchar(50) NOT NULL,
  4. `enzovoort` varchar(30) NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Staat er een fout in de pagina wat betreft de id?
Offline kickasgamer - 17/07/2008 12:51
Avatar van kickasgamer PHP ver gevorderde ja je vult in je query in dat hij in de DB bij id NULL moet zetten, laat gewoon die id weg in je query en dan gaat hij automatisch omhoog en wordt id normaal ook goed ingevult
Offline Gust - 17/07/2008 13:05
Avatar van Gust MySQL interesse Ok, bedankt, nu werkt het weer. Maar nu worden de foto's niet toegevoegd, dat moet ik even uitzoeken hoe dat nu weer komt (zucht...). Zodra dat is opgelost zal ik hier het resultaat neerzetten 
Offline kickasgamer - 17/07/2008 13:22
Avatar van kickasgamer PHP ver gevorderde ja de foto wordt niet toegevoegt denk ik omdat je $Name zet en de waarde was $name 
Offline Gust - 17/07/2008 13:43 (laatste wijziging 18/07/2008 10:56)
Avatar van Gust MySQL interesse Ok, het is gelukt:
- de waarde wordt opgevolgd
- de foto's worden toegevoegd* (althans bijna, zie meer uitleg onder)

dit is het resultaat:
  1. <?php
  2.  
  3. $username = "geheim";
  4. $password = "geheim";
  5. $host="localhost";
  6. $dbnaam="geheim";
  7.  
  8. $files = array();
  9.  
  10. foreach ($_FILES["pictures"]["error"] as $key => $error) {
  11. if ($error == UPLOAD_ERR_OK) {
  12. $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
  13. $name = $_FILES["pictures"]["name"][$key];
  14. move_uploaded_file($tmp_name, "images/$name");
  15. array_push($files, $name);
  16. }
  17. }
  18.  
  19. $db=mysql_connect($host, $username, $password) or die (mysql_error());
  20. mysql_select_db($dbnaam, $db) or die (mysql_error());
  21.  
  22. $query="INSERT INTO mijn_tabel (Name, Address, file1, file2, file3, file4, enzovoort) VALUES (\"$Name\", \"$Address\", \"$agree_f2\", \"$files[0]\", \"$files[1]\", \"$files[2]\", \"$files[3]\", \"$enzovoort\");";
  23.  
  24. $Name = $_POST["Name"];
  25. $Address = $_POST["Address"];
  26. $file1 = $_POST["file1"];
  27. $file2 = $_POST["file2"];
  28. $file3 = $_POST["file3"];
  29. $file4 = $_POST["file4"];
  30. $enzovoort = $_POST["enzovoort"];
  31.  
  32. $result = mysql_query($query) or die(mysql_error());
  33.  
  34. ?>
  35.  
  36. <html>
  37. <head>
  38. <title></title>
  39. </head>
  40. <body>
  41.  
  42. <?php
  43. echo "Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is ";
  44.  
  45. echo '<a href="http://www.gazelleworldwave.be/pro/gaz_main/gaz_main_bewerken.php?id='.mysql_insert_id().'">http://www.gazelleworldwave.be/pro/gaz_main/gaz_main_bewerken.php?id='.mysql_insert_id().'</a>';
  46.  
  47. echo"<hr><a href=\"gaz_main_index.php\">Terug</a>";
  48. ?>
  49.  
  50. </body>
  51. </html>



*Wat die foto's betreft: in de ene pagina worden ze weergegeven, en in de andere niet, terwijl ik in allebei de volgende code gebruik:
  1. <?php echo("<img src=images/$file1 width=\"50\" /> \n"); ?>


Zie deze overzichtspagina en klik op het ID-nummer waar je rechts een foto ziet.
Je krijgt dan een nieuwe pagina. Klik daar op de eerste + met "supplier information" en er verschijnt een fiche, met bovenaan links een foto. althans is dat de bedoeling

Ok, 't is gelukt.
De query moest evenveel elementen bevatten als de my_fecth_row.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.258s