Help met PHP/MySQL script

Status
Niet open voor verdere reacties.

utero

Gebruiker
Lid geworden
20 mrt 2011
Berichten
8
Hey ik ben nieuw met PHP en MySQL. Ik krijg telkens op mijn website de volgende error:
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


Dit is mijn script:
PHP:
$mysql = mysql_connect("localhost","user","pass") or die("Fout: Er is geen verbinding met de MySQL-server tot stand gebracht."); 
mysql_select_db("leerling_10115Hgr5park",$mysql) or die("Fout: Het openen van de database is mislukt."); 
$Week_nummer = mysql_query("SELECT Week_nummer FROM Bungalows",$mysql) or die(mysql_error()); 
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND '$berekening')",$mysql) or die(mysql_error()); 
$berekening = mysql_query("SELECT Week_nummer FROM Bungalows WHERE Week_nummer => '$Week_intrek' AND Week_nummer <= 'Week_vertrek')",$mysql) or die(mysql_error()); 
mysql_query("INSERT INTO Klant (Voornaam,Tussenvoegsel,Achternaam,Straat,Huisnummer,Postcode,Woonplaats,Telefoonnummer,aantal_pers,prijs) VALUES ('$Voornaam','$Tussenvoegsel','$Achternaam','$Straat','$Huisnummer','$Postcode','$Woonplaats','$Telefoonnummer','$aantal_pers','$prijs')",$mysql) or die(mysql_error()); 
mysql_query("INSERT INTO Reserveringen(Week_intrek,Week_vertrek,Week_geboekt,bungalow_soort) VALUES ('$Week_intrek','$Week_vertrek','$Week_geboekt','$bungalow_soort')",$mysql) or die(mysql_error()); 
mysql_query("INSERT INTO Rekening(Kosten_klant) VALUES ('$prijs')",$mysql) or die(mysql_error()); 
mysql_close($mysql) or die("Het verbreken van de verbinding met de MySQL-server is mislukt."); 
print("De reservering:<br />Voornaam:<p class='Voornaam'>$Voornaam<p /><br />Tussenvoegsel:<p class='Tussenvoegsel'>$Tussenvoegsel</p><br />Achternaam:<p class='Achternaam'>$Achternaam</p><br />Straat:<p class='Straat'>$Straat</p><br />Huisnummer:<p class='Huisnummer'>$Huisnummer</p><br />Postcode:<p class='Postcode'>$Postcode</p><br />Woonplaats:<p class='Woonplaats'>$Woonplaats</p><br />Telefoonnummer:<p class='Telefoonnummer'>$Telefoonnummer</p><br />Aantal personen:<p class='aantal_pers'>$aantal_pers<p /><br />Soort bungalow:<p class='bungalow_soort'>$bungalow_soort<p /><br />Week van intrek:<p class='Week_intrek'>$Week_intrek<p /><br />Week van vertrek:<p class='Week_vertrek'>$Week_vertrek<p /><br />Week geboekt:<p class='Week_geboekt'>$Week_geboekt<p /><br />Bungalow soort:<p class='bungalow_soort'>$bungelow_soort<p /><br /><br />Prijs:<p class='prijs'>$prijs<p /><br />wordt zo spoedig mogelijk in behandeling genomen. We laten via email weten of de gekozen bungalow beschikbaar is.");

Dit is mijn formulier:
PHP:
<p>  M.b.v. onderstaand formulier kunt u uw bungalow reserveren.<br />
</p>
<form action="beheer.php" method="post">
  <p>    Voorletters:<br />
    <input type="text" size="12" maxlength="12" name="Voornaam" /><br /><br />
    Tussenvoegsel:<br />
    <input type="text" size="7" maxlength="7" name="Tussenvoegsel" /><br /><br />
    Achternaam:<br />
    <input type="text" size="12" maxlength="12" name="Achternaam" /><br /><br />
    Straat en huisnummer:<br />
    <input type="text" size="20" maxlength="255" name="Straat" />
    <input type="text" size="5" maxlength="5" name="Huisnummer" /><br /><br />
    Postcode:<br />
    <input type="text" size="6" maxlength="6" name="Postcode" /><br /><br />
    Woonplaats:<br />
    <input type="text" size="20" maxlength="100" name="Woonplaats" /><br /><br />
    Telefoonnummer:<br />
    <input type="text" size="11" maxlength="11" name="Telefoonnummer" /><br /><br />
    Welke week intrekken:<br />
    <label>
      <select name="Week_intrek" id="Week_intrek">
      	<option value="" selected></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="52">52</option>
      </select>
    </label>
    <br /><br />
    Welke week vertrekken:<br />
    <label>
      <select name="Week_vertrek" id="Week_vertrek">
      	<option value="" selected></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="52">52</option>
      </select>
    </label>
    <br /><br />
    Welke soort bungalow:<br />
    <label>
      <select name="bungalow_soort" id="bungalow_soort">
        <option value="" selected></option>
        <option value="4A">4A</option>
        <option value="4B">4B</option>
        <option value="6A">6A</option>
        <option value="6B">6B</option>
        <option value="8A">8A</option>
      </select>
    </label>
    <br /><br />
    Aantal personen:<br />
    <input type="text" size="5" maxlength="1" name="aantal_pers" />
    <br /><br />
    Hoeveelste week van het jaar is het deze week:<br />
	<label>
      <select name="Week_geboekt" id="Week_geboekt">
      	<option value="" selected></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="52">52</option>
      </select>
    </label>
    <br /><br />
    <input type="submit" value="Verzend" />
    <input type="reset" value="Maak alles leeg" />
  </p>
</form>

Ik ben echt wanhopig want ik zie niet wat ik fout heb gedaan. :(
 
Laatst bewerkt:
probeer het ff opnieuw en zet dan ff het script in php tags, staat netter en leest makkelijker.
 
Haal in
PHP:
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND '$berekening')",$mysql) or die(mysql_error());
het eerste sluithaakje eens weg. Dus
PHP:
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND '$berekening'",$mysql) or die(mysql_error());

Overigens moet je nog mysql_real_escape_string aanroepen op alle variabelen die de gebruiker kan invullen/aanpassen. Je script is nu kwetsbaar voor SQL-injectie.
 
Haal in
PHP:
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND '$berekening')",$mysql) or die(mysql_error());
het eerste sluithaakje eens weg. Dus
PHP:
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND '$berekening'",$mysql) or die(mysql_error());

Overigens moet je nog mysql_real_escape_string aanroepen op alle variabelen die de gebruiker kan invullen/aanpassen. Je script is nu kwetsbaar voor SQL-injectie.
Ah ok bedankt voor de reacties, hoe zou ik dat moeten doen?
 
Hoe? Heb je op de link 'mysql_real_escape_string' geklikt?
 
Ok nu krijg ik deze error:
PHP:
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 '=> '10' AND Week_nummer <= '11')' at line 1

Mijn script is nu:
PHP:
function invoer_schoonmaken($tekst)
{
 $tekst = strip_tags($tekst);
 $tekst = htmlspecialchars($tekst);
 return $tekst;
}
$Voornaam = invoer_schoonmaken($_POST["Voornaam"]);
$Tussenvoegsel = invoer_schoonmaken($_POST["Tussenvoegsel"]);
$Achternaam = invoer_schoonmaken($_POST["Achternaam"]);
$Straat = invoer_schoonmaken($_POST["Straat"]);
$Huisnummer = invoer_schoonmaken($_POST["Huisnummer"]);
$Postcode = invoer_schoonmaken($_POST["Postcode"]);
$Woonplaats = invoer_schoonmaken($_POST["Woonplaats"]);
$Telefoonnummer = invoer_schoonmaken($_POST["Telefoonnummer"]);
$Week_intrek = invoer_schoonmaken($_POST["Week_intrek"]);
$Week_vertrek = invoer_schoonmaken($_POST["Week_vertrek"]);
$bungalow_soort = invoer_schoonmaken($_POST["bungalow_soort"]);
$aantal_pers = invoer_schoonmaken($_POST["aantal_pers"]);
$Week_geboekt = invoer_schoonmaken($_POST["Week_geboekt"]);
$Email = invoer_schoonmaken($_POST["Email"]);
if (empty($Voornaam))
{
 print("Vul uw voorletters in.");
}
elseif (empty($Achternaam))
{
 print("Vul uw achternaam in.");
}
elseif (empty($Straat))
{
 print("Vul uw straat in.");
}
elseif (empty($Huisnummer))
{
 print("Vul uw huisnummer in.");
}
elseif (empty($Postcode))
{
 print("Vul uw postcode in.");
}
elseif (empty($Woonplaats))
{
 print("Vul uw woonplaats in.");
}
elseif (empty($Telefoonnummer))
{
 print("Vul uw telefoonnummer in.");
}
elseif (empty($Week_intrek))
{
 print("Vul uw week van intrekken in.");
}
elseif (empty($Week_vertrek))
{
 print("Vul uw week van vertrekken in.");
}
elseif (empty($aantal_pers))
{
 print("Vul aantal personen in.");
}
elseif (empty($bungalow_soort))
{
 print("Vul het soort bungalow in.");
}
elseif (empty($Week_geboekt))
{
 print("Vul de week van het boeken in.");
}
else
{
$mysql = mysql_connect("localhost","leerling_10115H5","park84") or die("Fout: Er is geen verbinding met de MySQL-server tot stand gebracht.");
mysql_select_db("leerling_10115Hgr5park",$mysql) or die("Fout: Het openen van de database is mislukt.");
$Week_nummer = mysql_query("SELECT Week_nummer FROM Bungalows",$mysql) or die(mysql_error());
$berekening = mysql_query("SELECT Week_nummer FROM Bungalows WHERE Week_nummer => '$Week_intrek' AND Week_nummer <= '$Week_vertrek')",$mysql) or die(mysql_error());
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND '$berekening'",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Klant (Voornaam,Tussenvoegsel,Achternaam,Straat,Huisnummer,Postcode,Woonplaats,Telefoonnummer,aantal_pers,prijs) VALUES ('$Voornaam','$Tussenvoegsel','$Achternaam','$Straat','$Huisnummer','$Postcode','$Woonplaats','$Telefoonnummer','$aantal_pers','$prijs')",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Reserveringen(Week_intrek,Week_vertrek,Week_geboekt,bungalow_soort) VALUES ('$Week_intrek','$Week_vertrek','$Week_geboekt','$bungalow_soort')",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Rekening(Kosten_klant) VALUES ('$prijs')",$mysql) or die(mysql_error());
mysql_close($mysql) or die("Het verbreken van de verbinding met de MySQL-server is mislukt.");
print("De reservering:<br />Voornaam:<p class='Voornaam'>$Voornaam<p /><br />Tussenvoegsel:<p class='Tussenvoegsel'>$Tussenvoegsel</p><br />Achternaam:<p class='Achternaam'>$Achternaam</p><br />Straat:<p class='Straat'>$Straat</p><br />Huisnummer:<p class='Huisnummer'>$Huisnummer</p><br />Postcode:<p class='Postcode'>$Postcode</p><br />Woonplaats:<p class='Woonplaats'>$Woonplaats</p><br />Telefoonnummer:<p class='Telefoonnummer'>$Telefoonnummer</p><br />Aantal personen:<p class='aantal_pers'>$aantal_pers<p /><br />Soort bungalow:<p class='bungalow_soort'>$bungalow_soort<p /><br />Week van intrek:<p class='Week_intrek'>$Week_intrek<p /><br />Week van vertrek:<p class='Week_vertrek'>$Week_vertrek<p /><br />Week geboekt:<p class='Week_geboekt'>$Week_geboekt<p /><br />Bungalow soort:<p class='bungalow_soort'>$bungelow_soort<p /><br /><br />Prijs:<p class='prijs'>$prijs<p /><br />wordt zo spoedig mogelijk in behandeling genomen. We laten via email weten of de gekozen bungalow beschikbaar is.");
}
 
Laatst bewerkt:
De "groter dan of gelijk aan"-operator is '>=', niet '=>'. Verander regel 74 dus in
PHP:
$berekening = mysql_query("SELECT Week_nummer FROM Bungalows WHERE Week_nummer >= '$Week_intrek' AND Week_nummer <= '$Week_vertrek')",$mysql) or die(mysql_error());
 
Thanks. Nu krijg ik dit:
PHP:
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


Script:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- TemplateBeginEditable name="doctitle" -->
<title>Vakantiepark De Vries</title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<!-- TemplateEndEditable -->
<link href="style.css" rel="stylesheet" type="text/css" />
 
</style></head>
 
<body class="oneColElsCtrHdr">
<ul class="menu">
  <li><a href="index.php" class="active"><span>Home</span></a></li>
  <li><a href="informatie.php"><span>Informatie</span></a></li>
  <li><a href="bungalows.php"><span>Bungalows</span></a></li>
  <li><a href="omgeving.php"><span>Omgeving</span></a></li>
  <li><a href="prijzenschema.php"><span>Prijzenschema</span></a></li>
  <li><a href="boeken.php"><span>Boeken</span></a></li>
  <li><a href="contact.php"><span>Contact</span></a></li>
</ul>
<title>Script</title>
</head>
<?php
function invoer_schoonmaken($tekst)
{
 $tekst = strip_tags($tekst);
 $tekst = htmlspecialchars($tekst);
 return $tekst;
}
$Voornaam = invoer_schoonmaken($_POST["Voornaam"]);
$Tussenvoegsel = invoer_schoonmaken($_POST["Tussenvoegsel"]);
$Achternaam = invoer_schoonmaken($_POST["Achternaam"]);
$Straat = invoer_schoonmaken($_POST["Straat"]);
$Huisnummer = invoer_schoonmaken($_POST["Huisnummer"]);
$Postcode = invoer_schoonmaken($_POST["Postcode"]);
$Woonplaats = invoer_schoonmaken($_POST["Woonplaats"]);
$Telefoonnummer = invoer_schoonmaken($_POST["Telefoonnummer"]);
$Week_intrek = invoer_schoonmaken($_POST["Week_intrek"]);
$Week_vertrek = invoer_schoonmaken($_POST["Week_vertrek"]);
$bungalow_soort = invoer_schoonmaken($_POST["bungalow_soort"]);
$aantal_pers = invoer_schoonmaken($_POST["aantal_pers"]);
$Week_geboekt = invoer_schoonmaken($_POST["Week_geboekt"]);
$Email = invoer_schoonmaken($_POST["Email"]);
if (empty($Voornaam))
{
 print("Vul uw voorletters in.");
}
elseif (empty($Achternaam))
{
 print("Vul uw achternaam in.");
}
elseif (empty($Straat))
{
 print("Vul uw straat in.");
}
elseif (empty($Huisnummer))
{
 print("Vul uw huisnummer in.");
}
elseif (empty($Postcode))
{
 print("Vul uw postcode in.");
}
elseif (empty($Woonplaats))
{
 print("Vul uw woonplaats in.");
}
elseif (empty($Telefoonnummer))
{
 print("Vul uw telefoonnummer in.");
}
elseif (empty($Week_intrek))
{
 print("Vul uw week van intrekken in.");
}
elseif (empty($Week_vertrek))
{
 print("Vul uw week van vertrekken in.");
}
elseif (empty($aantal_pers))
{
 print("Vul aantal personen in.");
}
elseif (empty($bungalow_soort))
{
 print("Vul het soort bungalow in.");
}
elseif (empty($Week_geboekt))
{
 print("Vul de week van het boeken in.");
}
else
{
$mysql = mysql_connect("localhost","user","pass") or die("Fout: Er is geen verbinding met de MySQL-server tot stand gebracht.");
mysql_select_db("leerling_10115Hgr5park",$mysql) or die("Fout: Het openen van de database is mislukt.");
$Week_nummer = mysql_query("SELECT Week_nummer FROM Bungalows",$mysql) or die(mysql_error());
$berekening = mysql_query("SELECT Week_nummer FROM Bungalows WHERE Week_nummer >= '$Week_intrek' AND Week_nummer <= '$Week_vertrek')",$mysql) or die(mysql_error());
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND '$berekening'",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Klant (Voornaam,Tussenvoegsel,Achternaam,Straat,Huisnummer,Postcode,Woonplaats,Telefoonnummer,aantal_pers,prijs) VALUES ('$Voornaam','$Tussenvoegsel','$Achternaam','$Straat','$Huisnummer','$Postcode','$Woonplaats','$Telefoonnummer','$aantal_pers','$prijs')",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Reserveringen(Week_intrek,Week_vertrek,Week_geboekt,bungalow_soort) VALUES ('$Week_intrek','$Week_vertrek','$Week_geboekt','$bungalow_soort')",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Rekening(Kosten_klant) VALUES ('$prijs')",$mysql) or die(mysql_error());
mysql_close($mysql) or die("Het verbreken van de verbinding met de MySQL-server is mislukt.");
print("De reservering:<br />Voornaam:<p class='Voornaam'>$Voornaam<p /><br />Tussenvoegsel:<p class='Tussenvoegsel'>$Tussenvoegsel</p><br />Achternaam:<p class='Achternaam'>$Achternaam</p><br />Straat:<p class='Straat'>$Straat</p><br />Huisnummer:<p class='Huisnummer'>$Huisnummer</p><br />Postcode:<p class='Postcode'>$Postcode</p><br />Woonplaats:<p class='Woonplaats'>$Woonplaats</p><br />Telefoonnummer:<p class='Telefoonnummer'>$Telefoonnummer</p><br />Aantal personen:<p class='aantal_pers'>$aantal_pers<p /><br />Soort bungalow:<p class='bungalow_soort'>$bungalow_soort<p /><br />Week van intrek:<p class='Week_intrek'>$Week_intrek<p /><br />Week van vertrek:<p class='Week_vertrek'>$Week_vertrek<p /><br />Week geboekt:<p class='Week_geboekt'>$Week_geboekt<p /><br />Bungalow soort:<p class='bungalow_soort'>$bungelow_soort<p /><br /><br />Prijs:<p class='prijs'>$prijs<p /><br />wordt zo spoedig mogelijk in behandeling genomen. We laten via email weten of de gekozen bungalow beschikbaar is.");
}
?>
</body>
</html>
 
In diezelfde regel moet je ook nog het sluithaakje achter '$Week_vertrek' weghalen.
 
volgens mij is het de ) die achter $Week_vertrek nog weg.

PHP:
$berekening = mysql_query("SELECT Week_nummer FROM Bungalows WHERE Week_nummer >= '$Week_intrek' AND Week_nummer <= '$Week_vertrek')",$mysql) or die(mysql_error());
 
Ja dat was het inderdaad :)
Alleen krijg ik nu dit weer :(
PHP:
Duplicate entry '0' for key 'PRIMARY'
 
Dan is die primary key niet auto_increment.
 
Heel erg bedankt allemaal :)
Ik krijg nu bijna alles goed alleen het berekenen van de $prijs en het invullen in de database lukt niet, hij zegt:
Resource id #4

Ook de bungalow soort laat hij niet zien :(
 
Ik heb nu dus dit formulier:
PHP:
<p>  M.b.v. onderstaand formulier kunt u uw bungalow reserveren.<br />
</p>
<form action="beheer.php" method="post">
  <p>    Voorletters:<br />
    <input type="text" size="12" maxlength="12" name="Voornaam" /><br /><br />
    Tussenvoegsel:<br />
    <input type="text" size="7" maxlength="7" name="Tussenvoegsel" /><br /><br />
    Achternaam:<br />
    <input type="text" size="12" maxlength="12" name="Achternaam" /><br /><br />
    Straat en huisnummer:<br />
    <input type="text" size="20" maxlength="255" name="Straat" />
    <input type="text" size="5" maxlength="5" name="Huisnummer" /><br /><br />
    Postcode:<br />
    <input type="text" size="6" maxlength="6" name="Postcode" /><br /><br />
    Woonplaats:<br />
    <input type="text" size="20" maxlength="100" name="Woonplaats" /><br /><br />
    Telefoonnummer:<br />
    (030)<input type="text" size="11" maxlength="11" name="Telefoonnummer" /><br /><br />
    Welke week intrekken:<br />
    <label>
      <select name="Week_intrek" id="Week_intrek">
      	<option value="" selected></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="52">52</option>
      </select>
    </label>
    <br /><br />
    Welke week vertrekken:<br />
    <label>
      <select name="Week_vertrek" id="Week_vertrek">
      	<option value="" selected></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="52">52</option>
      </select>
    </label>
    <br /><br />
    Welke soort bungalow:<br />
    <label>
      <select name="bungalow_soort" id="bungalow_soort">
        <option value="" selected></option>
        <option value="4A">4A</option>
        <option value="4B">4B</option>
        <option value="6A">6A</option>
        <option value="6B">6B</option>
        <option value="8A">8A</option>
      </select>
    </label>
    <br /><br />
    Aantal personen:<br />
    <input type="text" size="5" maxlength="1" name="aantal_pers" />
    <br /><br />
    Hoeveelste week van het jaar is het deze week:<br />
	<label>
      <select name="Week_geboekt" id="Week_geboekt">
      	<option value="" selected></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="52">52</option>
      </select>
    </label>
    <br /><br />
    <input type="submit" value="Verzend" />
    <input type="reset" value="Maak alles leeg" />
  </p>

En dit script:
PHP:
<?php
function invoer_schoonmaken($tekst)
{
 $tekst = strip_tags($tekst);
 $tekst = htmlspecialchars($tekst);
 return $tekst;
}
$Voornaam = invoer_schoonmaken($_POST["Voornaam"]);
$Tussenvoegsel = invoer_schoonmaken($_POST["Tussenvoegsel"]);
$Achternaam = invoer_schoonmaken($_POST["Achternaam"]);
$Straat = invoer_schoonmaken($_POST["Straat"]);
$Huisnummer = invoer_schoonmaken($_POST["Huisnummer"]);
$Postcode = invoer_schoonmaken($_POST["Postcode"]);
$Woonplaats = invoer_schoonmaken($_POST["Woonplaats"]);
$Telefoonnummer = invoer_schoonmaken($_POST["Telefoonnummer"]);
$Week_intrek = invoer_schoonmaken($_POST["Week_intrek"]);
$Week_vertrek = invoer_schoonmaken($_POST["Week_vertrek"]);
$bungalow_soort = invoer_schoonmaken($_POST["bungalow_soort"]);
$aantal_pers = invoer_schoonmaken($_POST["aantal_pers"]);
$Week_geboekt = invoer_schoonmaken($_POST["Week_geboekt"]);
if (empty($Voornaam))
{
 print("Vul uw voorletters in.");
}
elseif (empty($Achternaam))
{
 print("Vul uw achternaam in.");
}
elseif (empty($Straat))
{
 print("Vul uw straat in.");
}
elseif (empty($Huisnummer))
{
 print("Vul uw huisnummer in.");
}
elseif (empty($Postcode))
{
 print("Vul uw postcode in.");
}
elseif (empty($Woonplaats))
{
 print("Vul uw woonplaats in.");
}
elseif (empty($Telefoonnummer))
{
 print("Vul uw telefoonnummer in.");
}
elseif (empty($Week_intrek))
{
 print("Vul uw week van intrekken in.");
}
elseif (empty($Week_vertrek))
{
 print("Vul uw week van vertrekken in.");
}
elseif (empty($aantal_pers))
{
 print("Vul aantal personen in.");
}
elseif (empty($bungalow_soort))
{
 print("Vul het soort bungalow in.");
}
elseif (empty($Week_geboekt))
{
 print("Vul de week van het boeken in.");
}
else
{
$mysql = mysql_connect("localhost","user","pass") or die("Fout: Er is geen verbinding met de MySQL-server tot stand gebracht.");
mysql_select_db("leerling_10115Hgr5park",$mysql) or die("Fout: Het openen van de database is mislukt.");
$max_aantal_pers = mysql_query("SELECT max_aantal_pers FROM Bungalows",$mysql) or die(mysql_error());
$Week_nummer = mysql_query("SELECT Week_nummer FROM Bungalows",$mysql) or die(mysql_error());
$prijs = mysql_query("SELECT prijs FROM Bungalows WHERE '$aantal_pers' = '$max_aantal_pers' AND '$Week_intrek' >= '$Week_nummer' AND '$Week_vertrek' <= '$Week_nummer'",$mysql) or die(mysql_error());
$bungalow_nummer = mysql_query("SELECT bungalow_nummer FROM Bungalows WHERE '$aantal_pers' = '$max_aantal_pers' AND '$Week_intrek' >= '$Week_nummer' AND '$Week_vertrek' <= '$Week_nummer'",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Klant (Voornaam,Tussenvoegsel,Achternaam,Straat,Huisnummer,Postcode,Woonplaats,Telefoonnummer,aantal_pers,prijs) VALUES ('$Voornaam','$Tussenvoegsel','$Achternaam','$Straat','$Huisnummer','$Postcode','$Woonplaats','$Telefoonnummer','$aantal_pers','$prijs')",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Reserveringen(bungalow_nummer,Week_intrek,Week_vertrek,Week_geboekt,bungalow_soort) VALUES ('$bungalow_nummer','$Week_intrek','$Week_vertrek','$Week_geboekt','$bungalow_soort')",$mysql) or die(mysql_error());
mysql_close($mysql) or die("Het verbreken van de verbinding met de MySQL-server is mislukt.");
print("Voornaam:<p class='Voornaam'>$Voornaam<p /><br />Tussenvoegsel:<p class='Tussenvoegsel'>$Tussenvoegsel</p><br />Achternaam:<p class='Achternaam'>$Achternaam</p><br />Straat:<p class='Straat'>$Straat</p><br />Huisnummer:<p class='Huisnummer'>$Huisnummer</p><br />Postcode:<p class='Postcode'>$Postcode</p><br />Woonplaats:<p class='Woonplaats'>$Woonplaats</p><br />Telefoonnummer:<p class='Telefoonnummer'>$Telefoonnummer</p><br />Aantal personen:<p class='aantal_pers'>$aantal_pers<p /><br />Soort bungalow:<p class='bungalow_soort'>$bungalow_soort<p /><br />Week van intrek:<p class='Week_intrek'>$Week_intrek<p /><br />Week van vertrek:<p class='Week_vertrek'>$Week_vertrek<p /><br />Week geboekt:<p class='Week_geboekt'>$Week_geboekt<p /><br />Bungalow soort:<p class='bungalow_soort'>$bungalow_soort<p /><br /><br />Prijs:<p class='prijs'>$prijs<p /><br /><br />Bungalow nummer:<p class='bungalow_nummer'>$bungalow_nummer<p /><br />De reservering wordt zo spoedig mogelijk in behandeling genomen. We laten telefonisch weten of de gekozen bungalow beschikbaar is.");
}
?>

Alleen doet de berekening het niet dus van $prijs en $bungalow_nummer :(

Kan iemand mij alsjeblieft helpen :confused:
 
Je dient eens waarden met 0 en null in je database te stoppen zodat je snel kan zien of je deze resultaat krijgt.
Mogelijks moet je ook voorzien dat het niet werkt of geen fout geeft als er lege waarden gestuurd worden.en dan kan je een mooie boodschap tonen zie try{}catch(){}

en printen van de query is soms aangewezen om snel te zien waar het fout loopt.
 
Dat komt omdat mysql_query een resource oplevert. Om hier de waardes die in de database staan uit te halen moet je een mysql_fetch_-functie gebruiken zoals mysql_fetch_assoc (op deze pagina staat ook een voorbeeld).


Overigens heb ik al eerder mysql_real_escape_string genoemd als je in de functie invoer_schoonmaken de regel
PHP:
$tekst = mysql_real_escape_string($tekst);
zet ben je beschermd tegen SQL-injectie.
 
Dat komt omdat mysql_query een resource oplevert. Om hier de waardes die in de database staan uit te halen moet je een mysql_fetch_-functie gebruiken zoals mysql_fetch_assoc (op deze pagina staat ook een voorbeeld).


Overigens heb ik al eerder mysql_real_escape_string genoemd als je in de functie invoer_schoonmaken de regel
PHP:
$tekst = mysql_real_escape_string($tekst);
zet ben je beschermd tegen SQL-injectie.

Kunt u mij helpen waar ik dat allemaal moet zetten? (mysql_real_escape_string)

Mijn nieuwe script:
PHP:
<body class="oneColElsCtrHdr">
<ul class="menu">
  <li><a href="index.php" class="active"><span>Home</span></a></li>
  <li><a href="informatie.php"><span>Informatie</span></a></li>
  <li><a href="bungalows.php"><span>Bungalows</span></a></li>
  <li><a href="omgeving.php"><span>Omgeving</span></a></li>
  <li><a href="prijzenschema.php"><span>Prijzenschema</span></a></li>
  <li><a href="boeken.php"><span>Boeken</span></a></li>
  <li><a href="contact.php"><span>Contact</span></a></li>
</ul>
<div id="container">
  <div id="header">
<title>Script</title>
</head>
<?php
function invoer_schoonmaken($tekst)
{
 $tekst = strip_tags($tekst);
 $tekst = htmlspecialchars($tekst);
 return $tekst;
}
$Voornaam = invoer_schoonmaken($_POST["Voornaam"]);
$Tussenvoegsel = invoer_schoonmaken($_POST["Tussenvoegsel"]);
$Achternaam = invoer_schoonmaken($_POST["Achternaam"]);
$Straat = invoer_schoonmaken($_POST["Straat"]);
$Huisnummer = invoer_schoonmaken($_POST["Huisnummer"]);
$Postcode = invoer_schoonmaken($_POST["Postcode"]);
$Woonplaats = invoer_schoonmaken($_POST["Woonplaats"]);
$Telefoonnummer = invoer_schoonmaken($_POST["Telefoonnummer"]);
$Week_intrek = invoer_schoonmaken($_POST["Week_intrek"]);
$Week_vertrek = invoer_schoonmaken($_POST["Week_vertrek"]);
$bungalow_soort = invoer_schoonmaken($_POST["bungalow_soort"]);
$aantal_pers = invoer_schoonmaken($_POST["aantal_pers"]);
$Week_geboekt = invoer_schoonmaken($_POST["Week_geboekt"]);
if (empty($Voornaam))
{
 print("Vul uw voorletters in.");
}
elseif (empty($Achternaam))
{
 print("Vul uw achternaam in.");
}
elseif (empty($Straat))
{
 print("Vul uw straat in.");
}
elseif (empty($Huisnummer))
{
 print("Vul uw huisnummer in.");
}
elseif (empty($Postcode))
{
 print("Vul uw postcode in.");
}
elseif (empty($Woonplaats))
{
 print("Vul uw woonplaats in.");
}
elseif (empty($Telefoonnummer))
{
 print("Vul uw telefoonnummer in.");
}
elseif (empty($Week_intrek))
{
 print("Vul uw week van intrekken in.");
}
elseif (empty($Week_vertrek))
{
 print("Vul uw week van vertrekken in.");
}
elseif (empty($aantal_pers))
{
 print("Vul aantal personen in.");
}
elseif (empty($bungalow_soort))
{
 print("Vul het soort bungalow in.");
}
elseif (empty($Week_geboekt))
{
 print("Vul de week van het boeken in.");
}
else
{
$mysql = mysql_connect("localhost","user","pass") or die("Fout: Er is geen verbinding met de MySQL-server tot stand gebracht.");
mysql_select_db("leerling_10115Hgr5park",$mysql) or die("Fout: Het openen van de database is mislukt.");
$prijs = mysql_query("SELECT prijs,max_aantal_pers,Week_nummer FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND Week_nummer >= '$Week_intrek'  AND Week_nummer <= '$Week_vertrek'",$mysql) or die(mysql_error());
$prijs2 = mysql_fetch_row($prijs);
$bungalow_nummer = mysql_query("SELECT bungalow_nummer,max_aantal_pers,Week_nummer FROM Bungalows WHERE max_aantal_pers = '$aantal_pers' AND Week_nummer >= '$Week_intrek'  AND Week_nummer <= '$Week_vertrek'",$mysql) or die(mysql_error());
$bungalow_nummer2 = mysql_fetch_row($bungalow_nummer);
mysql_query("INSERT INTO Klant (Voornaam,Tussenvoegsel,Achternaam,Straat,Huisnummer,Postcode,Woonplaats,Telefoonnummer,aantal_pers,prijs) VALUES ('$Voornaam','$Tussenvoegsel','$Achternaam','$Straat','$Huisnummer','$Postcode','$Woonplaats','$Telefoonnummer','$aantal_pers','$prijs2[0]')",$mysql) or die(mysql_error());
mysql_query("INSERT INTO Reserveringen(bungalow_nummer,Week_intrek,Week_vertrek,Week_geboekt,bungalow_soort) VALUES ('$bungalow_nummer2[0]','$Week_intrek','$Week_vertrek','$Week_geboekt','$bungalow_soort')",$mysql) or die(mysql_error());
mysql_close($mysql) or die("Het verbreken van de verbinding met de MySQL-server is mislukt.");
print("Voornaam:<p class='Voornaam'>$Voornaam<p /><br />Tussenvoegsel:<p class='Tussenvoegsel'>$Tussenvoegsel</p><br />Achternaam:<p class='Achternaam'>$Achternaam</p><br />Straat:<p class='Straat'>$Straat</p><br />Huisnummer:<p class='Huisnummer'>$Huisnummer</p><br />Postcode:<p class='Postcode'>$Postcode</p><br />Woonplaats:<p class='Woonplaats'>$Woonplaats</p><br />Telefoonnummer:<p class='Telefoonnummer'>$Telefoonnummer</p><br />Aantal personen:<p class='aantal_pers'>$aantal_pers<p /><br />Soort bungalow:<p class='bungalow_soort'>$bungalow_soort<p /><br />Week van intrek:<p class='Week_intrek'>$Week_intrek<p /><br />Week van vertrek:<p class='Week_vertrek'>$Week_vertrek<p /><br />Week geboekt:<p class='Week_geboekt'>$Week_geboekt<p /><br />Prijs excl. toeristenbelasting, reserveringskosten en bedlinnen:<p class='prijs'>$prijs2[0]<p /><br /><br />Bungalow nummer:<p class='bungalow_nummer'>$bungalow_nummer2[0]<p /><br />De reservering wordt zo spoedig mogelijk in behandeling genomen. We laten telefonisch weten of de gekozen bungalow beschikbaar is.");
}
?>
  </div><div id="footer">
  <!-- end #footer --></div>
<!-- end #container --></div>
</body>
 
De regel die ik noemde kan je gewoon kopiëren naar de functie invoer_schoonmaken. Waar je hem precies zet maakt niet uit (zo lang het voor "return $tekst;" is).

Overigens heb je je vorige probleem ook nog niet helemaal opgelost. Mysql_fetch_row (en alle andere mysql_fetch-functies) leveren een array op (kijk maar eens met
PHP:
print_r($prijs2);
Je zal hier nog de juiste waardes uit moeten halen (in dit geval $prijs2[0] en $bungalow_nummer2[0]).
 
En htmlspecialchars() gebruik je niet voor het de database ingaat. Striptags() ook niet trouwens.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan