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>

<?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>
?>
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)

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?
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)

<?

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

<?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>

<?php
echo $sql;
}
?>
</body>
</html>

nu zegt ie direct het volgende:

Parse error: syntax error, unexpected T_STRING, expecting '(' in /var/www/testserver/test2.php on line 17
Oh mijn god.......
Ga AUB!!!!! de beginners handleiding lezen........


dit moet je IF wezen:
<?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:
<?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.
Je vergeet een ( bij je if op regel 19 in het bovenstaande script.
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...
geinig dat je het zeg... net in huis gehaald :P Handboek php 5 van Arjan Burger. Ik ben het even aan het proberen....
er staat een hele mooie uitleg hier op phphulp... lees die ook maar even goed door...

heb je mijn IF en query al geprobeerd?
jah.. helaas krijg ik deze melding:

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

<?

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"])) {

?>

Reageren