Redelijk simpele vraag denk ik (contact formulier)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Gerben=flash

gerben=flash

10/03/2009 21:03:00
Quote Anchor link
Hallo,

Ik heb het onderstaande script in werking. Hij zet alle velden netjes in een database. Maar wanneer ik een aantal velden leeg laat, en ik klik op toevoegen dan verdwijnt alles wat ik heb ingevuld en laad hij (denk ik) de pagina opnieuw. Ik heb in de database wel netjes staan dat deze velden NULL mogen zijn.

(PS. ik heb even de < ? & ? > tags veranderd in <*? & ?*> omdat anders dit forum het anders plaatst als de bedoeling is.

Mijn script:

<html>
<head>
<title>Klant toevoegen</title>
</head>
<body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
//Ipadres verkrijgen
if($_SERVER['HTTP_X_FORWARDED_FOR']) {  
    $ipadres = $_SERVER['HTTP_X_FORWARDED_FOR'];  
}
elseif($_SERVER['HTTP_CLIENT_IP']) {  
    $ipadres = $_SERVER['HTTP_CLIENT_IP'];  
}
else {  
    $ipadres = $_SERVER['REMOTE_ADDR'];  
}


if ($_POST["knop"] && $_POST["initials"] && $_POST["first_name"] && $_POST["gag"] && $_POST["last_name"] && $_POST["sex"] && $_POST["address"] && $_POST["zip_code"] && $_POST["city"] && $_POST["phone_number"] && $_POST["email"] && $_POST["characteristics"]) {

$db = mysql_connect("localhost", "******", "*****")
    or die("Kan niet verbinden: " . mysql_error());
mysql_select_db("15484nl", $db);
$sql = "INSERT INTO customers () VALUES ('".$_POST["initials"]."','".$_POST[""]."','".$_POST["first_name"]."','".$_POST["gag"]."','".$_POST["last_name"]."','".$_POST["sexm"]."','".$_POST["sexv"]."','".$_POST["address"]."','".$_POST["zip_code"]."','".$_POST["city"]."','".$_POST["phone_number"]."','".$_POST["mob_number"]."','".$_POST["email"]."','".$_POST["company_name"]."','".$_POST["company_address"]."','".$_POST["company_zip_code"]."','".$_POST["company_city"]."','".$_POST["company_phone_number"]."','".$_POST["company_email"]."','".$_POST["kvk"]."','".$_POST["user_ip"]."','".$_POST["characteristics"]."')";
if (!mysql_query($sql)) {
echo "Helaas, kan niet toevoegen" . mysql_error();
}
else {
    echo "Toegevoegd";
}

mysql_close($db);

}
else {
?*>

<
form method="post" action="<*?php echo $PHP_SELF ?*>">
Wat wil je toevoegen?<br>
Voorvoegsels: <input type="text" name="initials">*<br>
Roepnaam: <input type="text" name="first_name">*<br>
Tussenvoegsels: <input type="text" name="gag">*<br>
Achternaam: <input type="text" name="last_name">*<br>
Geslacht: <input type="text" name="sex"><br>
Straatnaam: <input type="text" name="address">*<br>
Postcode: <input type="text" name="zip_code">*<br>
Plaatsnaam: <input type="text" name="city">*<br>
Tel. nummer: <input type="text" name="phone_number">*<br>
Mob. nummer: <input type="text" name="mob_number"><br>
Email: <input type="text" name="email"><br><br>
Bedrijfsnaam: <input type="text" name="company_name">(indien van toepassing)<br>
Straatnaam: <input type="text" name="company_address"><br>
Postcode: <input type="text" name="company_zip_code"><br>
Plaatsnaam: <input type="text" name="company_city"><br>
Tel. nummer: <input type="text" name="company_phone_number"><br>
Email: <input type="text" name="company_email"><br>
KVK nummer: <input type="text" name="kvk"><br>
Bijzonderheden: <input type="text" name="characteristics"><br>
<
input type="hidden" name="user_ip" value="<*? echo $ipadres ?*>"><br>

<
input type="submit" name="knop" value="toevoegen">
<
/form>

<*?
php
}
?*>
<
/body>
<
/html>
?>
Gewijzigd op 01/01/1970 01:00:00 door Gerben=flash
 
PHP hulp

PHP hulp

24/11/2024 07:02:33
 
Jesper Diovo

Jesper Diovo

10/03/2009 21:22:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if ($_POST["knop"] && $_POST["initials"] && $_POST["first_name"] && $_POST["gag"] && $_POST["last_name"] && $_POST["sex"] && $_POST["address"] && $_POST["zip_code"] && $_POST["city"] && $_POST["phone_number"] && $_POST["email"] && $_POST["characteristics"]) {


Mooi stukkie code. Wat wil dit nu zeggen? Ze bestaan, en dus? Hoe weet je of er wat in zit? Gebruik functies als isset() of empty().
 
Timen kut

Timen kut

10/03/2009 21:22:00
Quote Anchor link
is het niet verplicht om de velden aan te geven waar je de VALUES in wil proppen??
dus customers(veldnaam, veldnaam, veldnaam, etc., etc.)....

Zo niet, echo je query effe, die plak je ff in je PHPmyadmin, geeft ie wel n fout weer.
 
Gerben=flash

gerben=flash

10/03/2009 21:29:00
Quote Anchor link
okey... euh.. vinden jullie het heel erg als ik dr ff nie zo veel van snap. Het komt er op neer dat een aantal velden wel ingevuld MOETEN worden en de anderen mag. dus... euh... jah... dus... ik weet nie hoe ik dat voor elkaar boks.. ik heb al best wel wat zoekwerk gedaan maar ik zoek denk ik verkeerd.
 
Timen kut

Timen kut

10/03/2009 21:31:00
Quote Anchor link
je weet toch welke $_POST je in welke velden wil hebben in je database?
Dan moet je die veldnamen wel definieren zodat je query weet waar hij ze in pleuren moet...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
INSERT INTO
customers(initials, '', first_name, gag, last_name, .etc.etc.)
VALUES ('".$_POST["initials"]."','".$_POST[""]."','".$_POST["first_name"]."','".$_POST["gag"]."','".$_POST["last_name"]."','".$_POST["sexm"]."','".$_POST["sexv"]."','".$_POST["address"]."','".$_POST["zip_code"]."','".$_POST["city"]."','".$_POST["phone_number"]."','".$_POST["mob_number"]."','".$_POST["email"]."','".$_POST["company_name"]."','".$_POST["company_address"]."','".$_POST["company_zip_code"]."','".$_POST["company_city"]."','".$_POST["company_phone_number"]."','".$_POST["company_email"]."','".$_POST["kvk"]."','".$_POST["user_ip"]."','".$_POST["characteristics"]."')
 
Gerben=flash

gerben=flash

10/03/2009 21:35:00
Quote Anchor link
ja inderdaad. Maar mijn onlogische manier van denken maakte dat ik dacht als ik die velden nou leeg laat misschien doet ie het dan wel.. never mind nu ik het type klinkt het al onlogisch. Maargoed... als ik daar dus wel de namen van de velden in zet blijf ik met het zelfde probleem zitten
 
Timen kut

Timen kut

10/03/2009 21:37:00
Quote Anchor link
echo je query, copy paste de query, klik op "SQL" icoontje in phpmyadmin, plak je query erin, je error is gevonden.

Aangezien je geen addslashes(); of mysql_real_escape_string(); gebruikt, ga ik er maareven vanuit dat je in 1 van je $_POST een '(quote) hebt staan, dan wordt je query op die quote gestopt... dus alle $_POSTs aanpassen naar mysql_real_escape_string($_POST['postnaamhier'])
Gewijzigd op 01/01/1970 01:00:00 door Timen kut
 
Gerben=flash

gerben=flash

10/03/2009 21:43:00
Quote Anchor link
wow... als ik het
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo mysql_query($sql); ?>
doe krijg ik hetvolgende:

Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/testserver/test2.php on line 61

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/testserver/test2.php on line 61

Als ik die plak in wat je zeg krijg ik:

Fout
SQL-query:

Warning : mysql_query(
)[function.mysql - query] : Access denied FOR user 'www-data'@'localhost'(
USING PASSWORD : NO
) IN / var / www / testserver / test2.php ON line61Warning : mysql_query(
)[function.mysql - query] : A link TO the server could NOT be established IN / var / www / testserver / test2.php ON line61

MySQL retourneerde:

#1064 - 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 'Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'' at line 1
 
Gerben=flash

gerben=flash

10/03/2009 21:45:00
Quote Anchor link
owjah... dat laatste stukje van je reply snapte ik niet helemaal

angezien je geen addslashes(); of mysql_real_escape_string(); gebruikt, ga ik er maareven vanuit dat je in 1 van je $_POST een '(quote) hebt staan,

Euh.. dat zegt mij niks... hoe kom ik daar achter? Of hoe kan ik het je wat duidelijker in beeld brengen?

(ps. alvast erg bedankt voor de moeite die je hier voor me doet.)
 
Timen kut

Timen kut

10/03/2009 21:47:00
Quote Anchor link
je error is dus ook geen query slimmerd...
je moet je QUERY echoen..(de INSERT INTO BLABLA)(in jou geval $sql)

Verder lijkt het erop dat je geen toegang tot de database hebt.. "ACCESS DENIED"... even je errors lezen doet wonderen...
Als je geen naam ingevuld hebt bij het connecten(localhost, '<naam>', 'wachtwoord') zou je als naam "root" 's kunnen proberen(als je lokaal werkt)

mysql_real_escape_string verhaal
deze functie zet een \(backslash) voor je quotes.. anders leest PHP het als het sluiten van je query bijvoorbeeld. daardoor loop je ook een grote kans op SQL injectie(wikipedia het maar)
Gewijzigd op 01/01/1970 01:00:00 door Timen kut
 
Gerben=flash

gerben=flash

10/03/2009 21:55:00
Quote Anchor link
excuses voor mijn noob kennis. Inderdaad had ik ongeveer iets begrepen dat ik geen toegang had. Dat is erg vreemd want ik ben inderdaad root user en heb alle rechten in mijn database. (tis ook eigen server)

ik zal zoizo alle $_posts even aanpassen.

als ik echo $sql; doe... dan zie ik niks btw.....
 
Timen kut

Timen kut

10/03/2009 21:56:00
Quote Anchor link
Dan kom je de IF dus niet in....

Je checked in die IF ook op niks trouwens...
Als je wil checken of ze zijn ingevuld gebruik je !empty($_POST['naamvanposthier']) (Als de post dus niet empty is)
Gewijzigd op 01/01/1970 01:00:00 door Timen kut
 
- -

- -

10/03/2009 21:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if($_SERVER['HTTP_X_FORWARDED_FOR']) {  
    $ipadres = $_SERVER['HTTP_X_FORWARDED_FOR'];  
} elseif($_SERVER['HTTP_CLIENT_IP']) {  
    $ipadres = $_SERVER['HTTP_CLIENT_IP'];  
} else {  
    $ipadres = $_SERVER['REMOTE_ADDR'];  
}

Je weet dat deze code (behalve de laatste server variabele) onveilig en hackgevoelig is?
 
Gerben=flash

gerben=flash

10/03/2009 21:59:00
Quote Anchor link
even kijken... ik heb even zover ik het snap de aanpassingen gedaan in het script... ik heb nu dit. (echt ik wou dat ik het allemaal snaptje)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?

<html>
<
head>
    <
title>Klant toevoegen</title>
<
/head>
<
body>

[
code]<?php
//Ipadres verkrijgen
if($_SERVER['HTTP_X_FORWARDED_FOR']) {  
    $ipadres = $_SERVER['HTTP_X_FORWARDED_FOR'];  
}
elseif($_SERVER['HTTP_CLIENT_IP']) {  
    $ipadres = $_SERVER['HTTP_CLIENT_IP'];  
}
else {  
    $ipadres = $_SERVER['REMOTE_ADDR'];  
}


if mysql_real_escape_string($_POST["knop"] && $_POST["initials"] && $_POST["first_name"] && $_POST["gag"] && $_POST["last_name"] && $_POST["sex"] && $_POST["address"] && $_POST["zip_code"] && $_POST["city"] && $_POST["phone_number"] && $_POST["email"] && $_POST["characteristics"]) {

$db = mysql_connect("localhost", "15484nl", "secretg")
    or die("Kan niet verbinden: " . mysql_error());
mysql_select_db("15484nl", $db);
$sql = "INSERT INTO customers () VALUES ('".$_POST["initials"]."','".$_POST[""]."','".$_POST["first_name"]."','".$_POST["gag"]."','".$_POST["last_name"]."','".$_POST["sex"]."','".$_POST["address"]."','".$_POST["zip_code"]."','".$_POST["city"]."','".$_POST["phone_number"]."','".$_POST["mob_number"]."','".$_POST["email"]."','".$_POST["company_name"]."','".$_POST["company_address"]."','".$_POST["company_zip_code"]."','".$_POST["company_city"]."','".$_POST["company_phone_number"]."','".$_POST["company_email"]."','".$_POST["kvk"]."','".$_POST["user_ip"]."','".$_POST["characteristics"]."')";
if (!mysql_query($sql)) {
echo "Helaas, kan niet toevoegen" . mysql_error();
}
else {
    echo "Toegevoegd";
}

mysql_close($db);

}
else {
?*>

<
form method="post" action="<*?php echo $PHP_SELF ?*>">
Wat wil je toevoegen?<br>
Voorvoegsels: <input type="text" maxlength="8" name="initials">*<br>
Roepnaam: <input type="text" maxlength="20" name="first_name">*<br>
Tussenvoegsels: <input type="text" maxlength="12" name="gag">*<br>
Achternaam: <input type="text" maxlength="40" name="last_name">*<br>
Geslacht: <input type="radio" name="sex" value="M">Man<BR>
<
input type="radio" name="sex" value="V">Vrouw<BR>
Straatnaam: <input type="text" maxlength="60" name="address">*<br>
Postcode: <input type="text" maxlength="10" name="zip_code">*<br>
Plaatsnaam: <input type="text" maxlength="40" name="city">*<br>
Tel. nummer: <input type="text" maxlength="10" name="phone_number">*<br>
Mob. nummer: <input type="text" maxlength="10" name="mob_number"><br>
Email: <input type="text" maxlength="60" name="email"><br><br>
Bedrijfsnaam: <input type="text" maxlength="50" name="company_name">(indien van toepassing)<br>
Straatnaam: <input type="text" maxlength="60" name="company_address"><br>
Postcode: <input type="text" maxlength="10" name="company_zip_code"><br>
Plaatsnaam: <input type="text" maxlength="40" name="company_city"><br>
Tel. nummer: <input type="text" maxlength="10" name="company_phone_number"><br>
Email: <input type="text" maxlength="60" name="company_email"><br>
KVK nummer: <input type="text" maxlength="20" name="kvk"><br>
Bijzonderheden: <input type="text" maxlength="1000" name="characteristics"><br>
<
input type="hidden" maxlength="25" name="user_ip" value="<*? echo $ipadres ?*>"><br>

<
input type="submit" name="knop" value="toevoegen">
<
/form>

[
code]<?php
    echo $sql;
}

?>

</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door gerben=flash
 
Gerben=flash

gerben=flash

10/03/2009 22:00:00
Quote Anchor link
nu zegt ie direct het volgende:

Parse error: syntax error, unexpected T_STRING, expecting '(' in /var/www/testserver/test2.php on line 17
 
Timen kut

Timen kut

10/03/2009 22:03:00
Quote Anchor link
Oh mijn god.......
Ga AUB!!!!! de beginners handleiding lezen........


dit moet je IF wezen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(!empty($_POST["knop"]) && !empty($_POST["initials"]) && !empty($_POST["first_name"]) && !empty(_POST["gag"]) && !empty($_POST["last_name"]) && !empty($_POST["sex"]) && !empty($_POST["address"]) && !empty($_POST["zip_code"]) && !empty($_POST["city"]) && !empty($_POST["phone_number"]) && !empty($_POST["email"]) && !empty($_POST["characteristics"])) {
?>


en dit je query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "INSERT INTO customers (VELDNAAMVANINITIALS, VELDNAAMVANNIKS,VELDNAAMVANFIRSTNAME, ETC, ETC, ETC) VALUES ('".mysql_real_escape_string($_POST["initials"])."','".mysql_real_escape_string($_POST[""])."','".mysql_real_escape_string($_POST["first_name"])."','".mysql_real_escape_string($_POST["gag"])."','".mysql_real_escape_string($_POST["last_name"])."','".mysql_real_escape_string($_POST["sex"])."','".mysql_real_escape_string($_POST["address"])."','".mysql_real_escape_string($_POST["zip_code"])."','".mysql_real_escape_string($_POST["city"])."','".mysql_real_escape_string($_POST["phone_number"])."','".mysql_real_escape_string($_POST["mob_number"])."','".mysql_real_escape_string($_POST["email"])."','".mysql_real_escape_string($_POST["company_name"])."','".mysql_real_escape_string($_POST["company_address"])."','".mysql_real_escape_string($_POST["company_zip_code"])."','".mysql_real_escape_string($_POST["company_city"])."','".mysql_real_escape_string($_POST["company_phone_number"])."','".mysql_real_escape_string($_POST["company_email"])."','".mysql_real_escape_string($_POST["kvk"])."','".mysql_real_escape_string($_POST["user_ip"])."','".mysql_real_escape_string($_POST["characteristics"])."')";
?>


typfouten op voorbehoud.
 
Jesper Diovo

Jesper Diovo

10/03/2009 22:03:00
Quote Anchor link
Je vergeet een ( bij je if op regel 19 in het bovenstaande script.
 
Timen kut

Timen kut

10/03/2009 22:07:00
Quote Anchor link
Jezpur schreef op 10.03.2009 22:03:
Je vergeet een ( bij je if op regel 19 in het bovenstaande script.


En hij opent mysql_real_escape_string( en sluit het nergens.........

gewoon lekker mijn code gebruiken maar...
 
Gerben=flash

gerben=flash

10/03/2009 22:09:00
Quote Anchor link
geinig dat je het zeg... net in huis gehaald :P Handboek php 5 van Arjan Burger. Ik ben het even aan het proberen....
 
Timen kut

Timen kut

10/03/2009 22:10:00
Quote Anchor link
er staat een hele mooie uitleg hier op phphulp... lees die ook maar even goed door...

heb je mijn IF en query al geprobeerd?
 
Gerben=flash

gerben=flash

10/03/2009 22:21:00
Quote Anchor link
jah.. helaas krijg ik deze melding:

Parse error: syntax error, unexpected '[', expecting T_PAAMAYIM_NEKUDOTAYIM in /var/www/testserver/test2.php on line 17

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?

if(!empty($_POST["knop"]) && !empty($_POST["initials"]) && !empty($_POST["first_name"]) && !empty(_POST["gag"]) && !empty($_POST["last_name"]) && !empty($_POST["sex"]) && !empty($_POST["address"]) && !empty($_POST["zip_code"]) && !empty($_POST["city"]) && !empty($_POST["phone_number"]) && !empty($_POST["email"]) && !empty($_POST["characteristics"])) {

?>
Gewijzigd op 01/01/1970 01:00:00 door gerben=flash
 



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.