toevoegpagina geeft id=0 (Opgelost)
Gust - 17/07/2008 09:44
MySQL 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?
<?php
// variabelen initialiseren:
$username = "geheim";
$password = "geheim";
$host="localhost";
$dbnaam="geheim";
//$fout = "FOUT: openen database mislukt";
//$query="SELECT * FROM gaz_main_algemeen";
$files = array();
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "images/$name");
array_push($files, $name);
}
}
$db=mysql_connect($host, $username, $password) or die (mysql_error());
mysql_select_db($dbnaam, $db) or die (mysql_error());
$query="INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, \"$Name\", \"$enzovoort\");";
$id = $_POST["id"];
$Name = $_POST["Name"];
$enzovoort= $_POST["enzovoort"];
$result = mysql_query($query);
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo("Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is ");
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>';
echo("<hr><a href=\"gaz_main_index.php\">Terug</a>");
?>
</body>
</html>
<?php
// variabelen initialiseren:
$username = "geheim" ;
$password = "geheim" ;
$host = "localhost" ;
$dbnaam = "geheim" ;
//$fout = "FOUT: openen database mislukt";
//$query="SELECT * FROM gaz_main_algemeen";
foreach ( $_FILES [ "pictures" ] [ "error" ] as $key => $error ) {
if ( $error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES [ "pictures" ] [ "tmp_name" ] [ $key ] ;
$name = $_FILES [ "pictures" ] [ "name" ] [ $key ] ;
}
}
$query = "INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, \" $Name \" , \" $enzovoort \" );" ;
$id = $_POST [ "id" ] ;
$Name = $_POST [ "Name" ] ;
$enzovoort = $_POST [ "enzovoort" ] ;
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo ( "Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is " ) ;
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>' ;
echo ( "<hr><a href=\" gaz_main_index.php\" >Terug</a>" ) ; ?>
</body>
</html>
13 antwoorden
Gesponsorde links
Koen - 17/07/2008 09:59
PHP expert
$id = $_POST["id"];
$Name = $_POST["Name"];
$enzovoort= $_POST["enzovoort"];
$query="INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, \"$Name\", \"$enzovoort\");";
$result = mysql_query($query);
$id = $_POST [ "id" ] ;
$Name = $_POST [ "Name" ] ;
$enzovoort = $_POST [ "enzovoort" ] ;
$query = "INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, \" $Name \" , \" $enzovoort \" );" ;
Probeer het zo eens
Berten - 17/07/2008 11:02
PHP beginner
<?php
// variabelen initialiseren:
$username = "geheim";
$password = "geheim";
$host="localhost";
$dbnaam="geheim";
//$fout = "FOUT: openen database mislukt";
//$query="SELECT * FROM gaz_main_algemeen";
$files = array();
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "images/$name");
array_push($files, $name);
}
}
$db=mysql_connect($host, $username, $password) or die (mysql_error());
mysql_select_db($dbnaam, $db) or die (mysql_error());
$query="INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, '".$name."', '".$enzovoort."')";
$id = $_POST["id"];
$Name = $_POST["Name"];
$enzovoort= $_POST["enzovoort"];
$result = mysql_query($query);
$id = mysql_insert_id();
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is ";
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>';
echo "<hr><a href=\"gaz_main_index.php\">Terug</a>" ;
?>
<?php
// variabelen initialiseren:
$username = "geheim" ;
$password = "geheim" ;
$host = "localhost" ;
$dbnaam = "geheim" ;
//$fout = "FOUT: openen database mislukt";
//$query="SELECT * FROM gaz_main_algemeen";
foreach ( $_FILES [ "pictures" ] [ "error" ] as $key => $error ) {
if ( $error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES [ "pictures" ] [ "tmp_name" ] [ $key ] ;
$name = $_FILES [ "pictures" ] [ "name" ] [ $key ] ;
}
}
$query = "INSERT INTO mijn_tabel (id, Name, enzovoort) VALUES (NULL, '" . $name . "', '" . $enzovoort . "')" ;
$id = $_POST [ "id" ] ;
$Name = $_POST [ "Name" ] ;
$enzovoort = $_POST [ "enzovoort" ] ;
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is " ;
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>' ;
echo "<hr><a href=\" gaz_main_index.php\" >Terug</a>" ; ?>
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."
Berten - 17/07/2008 11:55
PHP beginner
$result = mysql_query($query) or die(mysql_error());
dan weet je het zo
Gust - 17/07/2008 12:05
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
Berten - 17/07/2008 12:24
PHP beginner
doe is echo $query; om te zien hoe je query eruit zeit
kickasgamer - 17/07/2008 12:29
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 ?
Gust - 17/07/2008 12:43
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:
CREATE TABLE `mijn_tabel` (
`id` int(11) NOT NULL auto_increment,
`Name` varchar(50) NOT NULL,
`enzovoort` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE `mijn_tabel` (
`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`Name` varchar( 50 ) NOT NULL ,
`enzovoort` varchar( 30 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= latin1 AUTO_INCREMENT = 1 ;
Staat er een fout in de pagina wat betreft de id?
kickasgamer - 17/07/2008 12:51
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
Gust - 17/07/2008 13:43 (laatste wijziging 18/07/2008 10:56)
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:
<?php
$username = "geheim";
$password = "geheim";
$host="localhost";
$dbnaam="geheim";
$files = array();
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "images/$name");
array_push($files, $name);
}
}
$db=mysql_connect($host, $username, $password) or die (mysql_error());
mysql_select_db($dbnaam, $db) or die (mysql_error());
$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\");";
$Name = $_POST["Name"];
$Address = $_POST["Address"];
$file1 = $_POST["file1"];
$file2 = $_POST["file2"];
$file3 = $_POST["file3"];
$file4 = $_POST["file4"];
$enzovoort = $_POST["enzovoort"];
$result = mysql_query($query) or die(mysql_error());
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is ";
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>';
echo"<hr><a href=\"gaz_main_index.php\">Terug</a>";
?>
</body>
</html>
<?php
$username = "geheim" ;
$password = "geheim" ;
$host = "localhost" ;
$dbnaam = "geheim" ;
foreach ( $_FILES [ "pictures" ] [ "error" ] as $key => $error ) {
if ( $error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES [ "pictures" ] [ "tmp_name" ] [ $key ] ;
$name = $_FILES [ "pictures" ] [ "name" ] [ $key ] ;
}
}
$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 \" );" ;
$Name = $_POST [ "Name" ] ;
$Address = $_POST [ "Address" ] ;
$file1 = $_POST [ "file1" ] ;
$file2 = $_POST [ "file2" ] ;
$file3 = $_POST [ "file3" ] ;
$file4 = $_POST [ "file4" ] ;
$enzovoort = $_POST [ "enzovoort" ] ;
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "Bedankt om deze gegevens in te vullen. De url om uw gegevens te wijzigen is " ;
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>' ;
echo "<hr><a href=\" gaz_main_index.php\" >Terug</a>" ; ?>
</body>
</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:
<?php echo("<img src=images/$file1 width=\"50\" /> \n"); ?>
<?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 .