Form
Als ik een hele lijst met allemaal text fields heb zoals dit
Als je dit formulier post zou je het volgende kunnen gebruiken:
$_POST['naam'] is dan een array met alle namen, en $_POST['id'] een array met alle id's..
s
(overigens als ID ook voor het id-veld van je database is, zou ik dat veld in de database op auto_increment zetten.) Geef elk idveld de naam "id[]" (zonder quotes) en elk naamveld de naam "naam[]" (ook zonder quotes)
En als ik dan doen
Is dan alles apart ingevoegd? Ja heb ik gedaan. Maar het is ff voorbeeld.
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
als je al die text field nou dezelfde naam geeft, dus bij ID:
En hoe zorg ik er voor dat er geen lege dingen worden ingevoerd?
wordt:
Maar hij wil het maar niet invoegen. De velden hebben andere betekenis. Het veld ID heeft nu de betekenis nummer en het veld naam heeft nu de betekenis prijs. Dit is het script:
En natuurlijk de foutafhandeling maken. Oftewel checken of het wel gelukt is.
Hij geeft de foutmelding :
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
Nu krijg ik die weer :P
Het is echt om moedeloos van te worden Parse error: parse error, unexpected ';' in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 16
Verder staat er op regel 16 (of 1 van de regels daarvoor) een ; die niet wordt verwacht.
Dit alles lijkt mij echter geen enkele reden om er moedeloos van te worden, het zijn zulke kleine foutjes, dit stelt echt niets voor. Installeer een goede editor (Eclipse met PHP-plugin of Zend Studio) en je krijgt al een error tijdens het programeren. Scheelt een hoop ellende.
Dit is het hele script dus... Ik kan em serieus niet vinden. Ik zie nergens een onverwachte ; *bericht klopt niet*
Maar hij geeft nu de error
Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 15
Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 15 Ik heb dit veranderd
$_POST['naam'] is dan een array met alle namen, en $_POST['id'] een array met alle id's..
s
(overigens als ID ook voor het id-veld van je database is, zou ik dat veld in de database op auto_increment zetten.)
En als ik dan doen
Code (php)
1
2
3
4
2
3
4
$naam = $_POST['naam']
$id = $_POST['id']
INSERT INTO nummers (id, naam) VALUES ('$id', '$naam')
$id = $_POST['id']
INSERT INTO nummers (id, naam) VALUES ('$id', '$naam')
Is dan alles apart ingevoegd?
Gewijzigd op 01/01/1970 01:00:00 door Ruben
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
foreach($_POST['id'] as $key => $value) {
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
?>
foreach($_POST['id'] as $key => $value) {
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
?>
Jason de Ridder schreef op 24.10.2006 15:45:
`als je al die text field nou dezelfde naam geeft, dus bij ID:
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
<input type="text" name="id[]" />
en bij naam:
<input type="text" name="naam[]" />
kan je via een foreach-loop deze makkelijk toevoegen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
foreach($_POST['id'] as $key => $value) {
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
?>
foreach($_POST['id'] as $key => $value) {
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
?>
En hoe zorg ik er voor dat er geen lege dingen worden ingevoerd?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
foreach($_POST['id'] as $key => $value) {
if(!empty($value)){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
foreach($_POST['id'] as $key => $value) {
if(!empty($value)){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
Robert schreef op 24.10.2006 16:13:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
foreach($_POST['id'] as $key => $value) {
if(!empty($value)){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
foreach($_POST['id'] as $key => $value) {
if(!empty($value)){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
wordt:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
foreach($_POST['id'] as $key => $value) {
if(!empty($value) or !empty($_POST['naam'][$key])){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
foreach($_POST['id'] as $key => $value) {
if(!empty($value) or !empty($_POST['naam'][$key])){
mysql_query("INSERT INTO tabel (id, naam) VALUES ('".$value."', '".$_POST['naam'][$key]."'");
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
foreach($_POST['id'] as $key => $value) {
if(!empty($value) or !empty($_POST['naam'][$key])){
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$_POST['naam'][$key]."'");
}
}
echo "gelukt";
?>
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
foreach($_POST['id'] as $key => $value) {
if(!empty($value) or !empty($_POST['naam'][$key])){
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$_POST['naam'][$key]."'");
}
}
echo "gelukt";
?>
Maar hij wil het maar niet invoegen. De velden hebben andere betekenis. Het veld ID heeft nu de betekenis nummer en het veld naam heeft nu de betekenis prijs.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
foreach($_POST as $key => $value)
{
if(!empty($value) and !empty($key))
{
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'");
}
}
?>
foreach($_POST as $key => $value)
{
if(!empty($value) and !empty($key))
{
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'");
}
}
?>
En natuurlijk de foutafhandeling maken. Oftewel checken of het wel gelukt is.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Hij voegt em nog steeds niet in...
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'") or die(mysql_error());
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?PHP
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
foreach($_POST as $key => $value)
{
if(!empty($value) and !empty($key))
{
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'") or die(mysql_error());
}
}
echo "gelukt!!";
?>
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
foreach($_POST as $key => $value)
{
if(!empty($value) and !empty($key))
{
mysql_query("INSERT INTO nummers (id, nummer, prijs) VALUES ('', '".$value."', '".$key."'") or die(mysql_error());
}
}
echo "gelukt!!";
?>
Hij geeft de foutmelding :
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
Gewijzigd op 01/01/1970 01:00:00 door Ruben
De laatste dubbele quote staat voor het haakje, die moet erna. Dit gaat dus over regel 16 van je post.
Nu krijg ik die weer :P
Het is echt om moedeloos van te worden
Verder staat er op regel 16 (of 1 van de regels daarvoor) een ; die niet wordt verwacht.
Dit alles lijkt mij echter geen enkele reden om er moedeloos van te worden, het zijn zulke kleine foutjes, dit stelt echt niets voor.
Dit is het hele script dus...
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
ok :P
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
27
28
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
27
28
<?PHP
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$values = array ();
foreach($_POST as $key => $value) {
$values[$key] = mysql_real_escape_string ($value);
if (!empty ($values['nummer']) && !empty ($values['prijs'])) {
// ik ga er van uit dat prijs GEEN string is, dus geen enkele quotes
$sql = "
INSERT INTO nummer
SET
nummer = '" . $values['nummer'] . "',
prijs = " . $values['nummer'];
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
}
?>
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$values = array ();
foreach($_POST as $key => $value) {
$values[$key] = mysql_real_escape_string ($value);
if (!empty ($values['nummer']) && !empty ($values['prijs'])) {
// ik ga er van uit dat prijs GEEN string is, dus geen enkele quotes
$sql = "
INSERT INTO nummer
SET
nummer = '" . $values['nummer'] . "',
prijs = " . $values['nummer'];
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
}
?>
Code (php)
1
2
3
4
5
2
3
4
5
INSERT INTO nummers
SET
id = '',
nummer = '" . $values['nummer'] . "',
prijs = " . $values['nummer'];
SET
id = '',
nummer = '" . $values['nummer'] . "',
prijs = " . $values['nummer'];
Maar hij geeft nu de error
Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 15
Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 15