Parse error: syntax error, unexpected T_STRING help :(
ik ben nieuw met scripten en php en dergelijke nu krijg ik deze error maar ik kan het niet vinden...
error bevind zich op regel 13 bij VALUES
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
include 'connect_mysql.php';
// formulier POST variabelen ophalen
$naam = $_POST['naam'];
$adres = $_POST['adres'];
$woonplaats = $_POST['woonplaats'];
$telefoonnummer = $_POST['telefoonnummer'];
$email = $_POST['email'];
$sql ="INSERT INTO klant(naam, adres, woonplaats, telefoonnummer, email)
VALUES ('".$naam."', '".$adres."', '".$woonplaats."','"telefoonnummer"', '"email"')";
//uitvoeren van de query :
if (!($temp = mysql_query($sql,$connection)))
showerror();
?>
include 'connect_mysql.php';
// formulier POST variabelen ophalen
$naam = $_POST['naam'];
$adres = $_POST['adres'];
$woonplaats = $_POST['woonplaats'];
$telefoonnummer = $_POST['telefoonnummer'];
$email = $_POST['email'];
$sql ="INSERT INTO klant(naam, adres, woonplaats, telefoonnummer, email)
VALUES ('".$naam."', '".$adres."', '".$woonplaats."','"telefoonnummer"', '"email"')";
//uitvoeren van de query :
if (!($temp = mysql_query($sql,$connection)))
showerror();
?>
Verder is je script lek => sql-injection.
EDIT: te laat zoals gewoonlijk :p
Gewijzigd op 09/11/2010 12:10:17 door Teun Hesseling
Code (php)
1
2
2
$sql ="INSERT INTO klant (naam, adres, woonplaats, telefoonnummer, email)
VALUES ('".$naam."', '".$adres."', '".$woonplaats."','".$telefoonnummer."', '".$email."')";
VALUES ('".$naam."', '".$adres."', '".$woonplaats."','".$telefoonnummer."', '".$email."')";
Probeer dat eens ;) Je was wat . en $ vergeten
en hij hoeft niet goed beveiligd te zijn etc het is voor een school opdracht maar bedankt :D
Toevoeging op 09/11/2010 12:19:05:
ik zie al dat ik veel te leren heb
regel 15 en 16 geven ook een error :P
Dat het "maar" voor een schoolopdracht is wil niet zeggen dat beveiliging niet belangrijk is. Dit soort dingen ga je vergeten als je meer gaat scripten dus het is verstandig om dit meteen goed te doen. MySQL heeft de functie mysql__real_ecape_string() die waardes escaped zodat deze niet beinvloedbaar zullen zijn van buitenaf. Tevens kan het script veel korter. Variabelen kopiëren is nergens voor nodig je kan direct de $_POST waarden gebruiken;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
include 'connect_mysql.php';
$sql ="INSERT INTO klant(naam, adres, woonplaats, telefoonnummer, email)
VALUES ('".mysql__real_ecape_string($_POST['naam'])."', '".mysql__real_ecape_string($_POST['adres'])."', '".mysql__real_ecape_string($_POST['woonplaats'])."','".mysql__real_ecape_string($_POST['telefoonnummer'])."', '".mysql__real_ecape_string($_POST['email'])."')";
//uitvoeren van de query :
if (!$result = mysql_query($sql)){
showerror();
}
?>
include 'connect_mysql.php';
$sql ="INSERT INTO klant(naam, adres, woonplaats, telefoonnummer, email)
VALUES ('".mysql__real_ecape_string($_POST['naam'])."', '".mysql__real_ecape_string($_POST['adres'])."', '".mysql__real_ecape_string($_POST['woonplaats'])."','".mysql__real_ecape_string($_POST['telefoonnummer'])."', '".mysql__real_ecape_string($_POST['email'])."')";
//uitvoeren van de query :
if (!$result = mysql_query($sql)){
showerror();
}
?>
Gewijzigd op 09/11/2010 12:27:44 door Jurgen Meijer
@jurgen ben ik niet helemaal mee eens, ik persoonlijk raak dan het overzicht kwijt door zo'n lange query te maken
komt ook omdat wij dat nog niet uitgelegd hebben gekregen
Tevens, dit zijn niet eens lange queries, ik heb er soms queries bij zitten met allerlei joins van 15 a 20 regels lang, if statements, etc.. je zult dan wel moeten gaan verdelen om overzicht te behouden.
Gewijzigd op 09/11/2010 12:36:12 door Jurgen Meijer
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
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
<?php
include 'connect_mysql.php';
$sql ="INSERT
INTO klant
(
naam,
adres,
woonplaats,
telefoonnummer,
email
)
VALUES
(
'".mysql__real_ecape_string($_POST['naam'])."',
'".mysql__real_ecape_string($_POST['adres'])."',
'".mysql__real_ecape_string($_POST['woonplaats'])."',
'".mysql__real_ecape_string($_POST['telefoonnummer'])."',
'".mysql__real_ecape_string($_POST['email'])."'
)";
//uitvoeren van de query :
if (!$result = mysql_query($sql)){
showerror();
}
?>
include 'connect_mysql.php';
$sql ="INSERT
INTO klant
(
naam,
adres,
woonplaats,
telefoonnummer,
)
VALUES
(
'".mysql__real_ecape_string($_POST['naam'])."',
'".mysql__real_ecape_string($_POST['adres'])."',
'".mysql__real_ecape_string($_POST['woonplaats'])."',
'".mysql__real_ecape_string($_POST['telefoonnummer'])."',
'".mysql__real_ecape_string($_POST['email'])."'
)";
//uitvoeren van de query :
if (!$result = mysql_query($sql)){
showerror();
}
?>
@santhe klopt dan wel weer maar het ging er bij jurgen geloof ik er vooral om dat het script korter werd :p
Teun Hesseling op 09/11/2010 12:57:21:
@santhe klopt dan wel weer maar het ging er bij jurgen geloof ik er vooral om dat het script korter werd :p
Klopt, maar daar bedoelde ik niet per definitie mee ruimte besparen, maar gewoon het kopiëren van variabelen tegen gaan. Dit is toch weer extra geheugen. Dit zal niet veel uitmaken in zo'n script als dit, maar het is nergens voor nodig.
Jij schrijft toch ook niet een boodschappenbonnetje, en daarna een verkorte versie ervan die je meeneemt naar de winkel?
oh op die manier, haha