Gastenboek staat niet goed in de site
Pagina: « vorige 1 2 3 4 5 volgende »
Maar die: You have an error in your SQL syntax blalbalbal dat is een foutje in de mYSQL (het praten met de database) dus die fout moet je straks even bekyken en nu dus even "vergeten".
Edit::
Edit2::
Ja, dat sluiten van </div> is nodig omdat een <div> tag hebt geopend.
Gewijzigd op 12/06/2010 17:23:19 door Joost van der Meijden
Wat gebeurd er als je die '; boven de require_onze doet, en de require_once met enkele quotes ( ' ) ipv dubbele quotes ( " )?
Edit::
Woeps, nu doe ik het perongeluk zelf, hahah :p
Gewijzigd op 12/06/2010 18:33:22 door Joost van der Meijden
Ik zit nog in de code te kijken en volgens mij gaat het al mis bij $sContent=' want de echo 3 regels eronder kleurt niet in dreamweaver, kun je daar wat mee? want in andere pagina's staat het onderaan ook zoals we nu hebben.
Er gaat gewoon iets niet goed met dat $sContent=' verhaal. op zich vreemd want alle andere pagina's op mijn site hebben het ook, enige verschil is dat er geen sql code in staat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(!defined('PATH'))
define('PATH', '');
include(PATH.'inc/config.php');
$sSubCategorie = 'Disclaimer';
$sContent='<div id="info_foto" class="style9">
<div class="left_style_bold"><h2>Disclaimer</h2></div>
****echo"<a href=\"sgastenboek.php\">Schrijf een bericht</a>";
include("connect.php"); // Nu maken we dus een verbinding met de database.
?>
if(!defined('PATH'))
define('PATH', '');
include(PATH.'inc/config.php');
$sSubCategorie = 'Disclaimer';
$sContent='<div id="info_foto" class="style9">
<div class="left_style_bold"><h2>Disclaimer</h2></div>
****echo"<a href=\"sgastenboek.php\">Schrijf een bericht</a>";
include("connect.php"); // Nu maken we dus een verbinding met de database.
?>
bij <div enzo moet ook nog echo "
Edit::
$sContent ='
echo "<div id="info_foto" class="style9">";
echo "<div class="left_style_bold"><h2>Disclaimer</h2></div>";
echo "<a href="sgastenboek.php">Schrijf een bericht</a>";
echo "<div id="info_foto" class="style9">";
echo "<div class="left_style_bold"><h2>Disclaimer</h2></div>";
echo "<a href="sgastenboek.php">Schrijf een bericht</a>";
Dat het niet kleurt hoort volgensmij zo.[/quote]
Edit2::
Je hebt gelyk. PHP in die variabel kan niet, je zal de output eerst moeten defineren (voor $sContenten) en dan die output in $sContent zetten.
1 moment.
1 moment.
Edit3::
What about that? :)
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
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
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
<?php
if (!defined('PATH'))
define('PATH', '');
include (PATH.'inc/config.php');
$sSubCategorie = 'Disclaimer';
include("connect.php");
$sql = "SELECT * FROM gastenboek";
$uitvoer = mysql_query('.$sql.');
$aantal = mysql_num_rows('.$uitvoer.');
$perpage = 10;
$page_count = ceil('.$aantal.' / '.$perpage.');
if (isset($_GET["page"])) {
if (is_int($_GET["page"])) {
// controleren of $_GET["page"] een getal is.
$page = $_GET["page"];
}
else {
$page = 1;
}
}
else {
$page = 1;
}
$start = ($page * $perpage) - $perpage;
$sql = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT '".$start."', '".$perpage; //Berichten uit de database halen en deze sorteren.
if ($uitvoer = mysql_query($sql)) {
while($data = mysql_fetch_array($uitvoer)) {
$output .= "Bericht geschreven door <b>".$data['naam']."</b>"; //De naam van de auteur
$output .= " op " .$data['datum'];
$output .= " om " .$data['tijd'];
$output .= "<br /><br />";
$bericht = nl2br($data['bericht']);
$output .= $bericht; //Het bericht zelf
$output .= "<br /><br /><br />";
}
$output .= "<br /><br />";
if ($page > 1) {
$vorige = $page-1;
$output .= "<a href='gastenboek.php?page=".$vorige."'>Vorige</a> ";
}
else {
echo("<b>Vorige </b>");
}
if ($page < ceil($aantal/$perpage)) {
$volgende = $page+1;
$output .= "<a href='gastenboek.php?page=".$volgende."'>Volgende</a>";
}
else {
$output .= "<b>Volgende</b>";
}
}
else {
$output .= "Error: ".mysql_error();
}
$output .= "</div>";
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div><a href="sgastenboek.php">Schrijf een bericht</a>'.$output;
require_once PATH."template.tpl";
?>
if (!defined('PATH'))
define('PATH', '');
include (PATH.'inc/config.php');
$sSubCategorie = 'Disclaimer';
include("connect.php");
$sql = "SELECT * FROM gastenboek";
$uitvoer = mysql_query('.$sql.');
$aantal = mysql_num_rows('.$uitvoer.');
$perpage = 10;
$page_count = ceil('.$aantal.' / '.$perpage.');
if (isset($_GET["page"])) {
if (is_int($_GET["page"])) {
// controleren of $_GET["page"] een getal is.
$page = $_GET["page"];
}
else {
$page = 1;
}
}
else {
$page = 1;
}
$start = ($page * $perpage) - $perpage;
$sql = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT '".$start."', '".$perpage; //Berichten uit de database halen en deze sorteren.
if ($uitvoer = mysql_query($sql)) {
while($data = mysql_fetch_array($uitvoer)) {
$output .= "Bericht geschreven door <b>".$data['naam']."</b>"; //De naam van de auteur
$output .= " op " .$data['datum'];
$output .= " om " .$data['tijd'];
$output .= "<br /><br />";
$bericht = nl2br($data['bericht']);
$output .= $bericht; //Het bericht zelf
$output .= "<br /><br /><br />";
}
$output .= "<br /><br />";
if ($page > 1) {
$vorige = $page-1;
$output .= "<a href='gastenboek.php?page=".$vorige."'>Vorige</a> ";
}
else {
echo("<b>Vorige </b>");
}
if ($page < ceil($aantal/$perpage)) {
$volgende = $page+1;
$output .= "<a href='gastenboek.php?page=".$volgende."'>Volgende</a>";
}
else {
$output .= "<b>Volgende</b>";
}
}
else {
$output .= "Error: ".mysql_error();
}
$output .= "</div>";
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div><a href="sgastenboek.php">Schrijf een bericht</a>'.$output;
require_once PATH."template.tpl";
?>
What about that? :)
Gewijzigd op 12/06/2010 19:32:35 door Joost van der Meijden
Op https://www.sanizo.nl/gastenboek.php kun je zien wat er nu gebeurd.
Nu die sql error nog. Enig idee wat dat kan zijn?
Verder moet ik nu sgastenboek.php aanpassen, want die gaat nog verkeerd. Ben er even 15 min tussenuit pak het dan weer op.
Gewijzigd op 12/06/2010 19:37:14 door M de Vries
Probeer is met deze, ik zag dat je een error hebt :)
Edit::
Ik heb altijd een beetje moeite met die quotes, altijd beetje puzzelen. Maar dat houd het leuk :)
Gewijzigd op 12/06/2010 19:44:03 door Joost van der Meijden
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 ''0', '10'' at line 1
Maar ben al lang blij dat het in de site staat :-)
Code (php)
1
2
3
2
3
<?php
$sql = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT ".$start.", ".$perpage.""; //Berichten uit de database halen en deze sorteren.
?>
$sql = "SELECT * FROM gastenboek ORDER BY id DESC LIMIT ".$start.", ".$perpage.""; //Berichten uit de database halen en deze sorteren.
?>
Die code werkt als het goed is :)
Edit::
Gewijzigd op 12/06/2010 19:50:42 door Joost van der Meijden
Gewijzigd op 12/06/2010 19:53:37 door M de Vries
Edit::
Kyk is, zo ziet het er mooi uit. Misschien dat een streep ( <hr /> ) wel mooi is tussen berichten, moet je maar even kijken.
En we moeten nog heel even kijken naar je formulier afhandeling qua beveiliging etc :)
En we moeten nog heel even kijken naar je formulier afhandeling qua beveiliging etc :)
Gewijzigd op 12/06/2010 19:54:13 door Joost van der Meijden
Ps. hoe stuur ik je een PM? Al gevonden!
Code:
Code (php)
<form method="post" action="" />
<table width="300" cellpadding="0" border="0">
<tr>
<td> Naam: </td>
<td> <input type="text" name="naam" maxlength="30" /> </td>
</tr>
<tr>
<td> Bericht: </td>
<td> <textarea name="bericht" cols="40" rows="8"></textarea> </td>
</tr>
<tr>
<td> </td>
<td> <br /><input type="submit" value="Bericht plaatsen" name="submit" /> </td>
</tr>
</table>
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
29
30
31
32
33
34
35
36
37
38
39
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
<?php
//if (regel 3)reeks afsluiten
}
else{
$naam = $_POST['naam'];
$bericht = $_POST['bericht'];
if (!$naam) {
echo "FOUTMELDING:<br />";
echo "Je hebt geen naam ingevuld, maar die is wel verplicht.<br />";
echo "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if(strlen($naam) > 30) {
echo "FOUTMELDING:<br />";
echo "Je naam mag maar 30 tekens lang zijn.<br />";
echo "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if (!$bericht){ //....
echo "FOUTMELDING:<br />";
echo "Je hebt geen bericht ingevuld, en waar gaat het hier nou juist om? Precies!... <br />";
echo "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
$naam = str_replace("'", "`", $naam);
$naam = htmlspecialchars($naam);
$tijd = date("G:i");
$datum = date("d-m-y");
$bericht = str_replace("'", "`", $bericht);
$bericht = htmlspecialchars($bericht);
$sql = "INSERT INTO gastenboek (id, naam, tijd, datum, bericht)
VALUES ('', '$naam', '$tijd', '$datum', '$bericht')";
mysql_query($sql) or die(mysql_error());
}
require_once (PATH.'template.tpl');
?>
//if (regel 3)reeks afsluiten
}
else{
$naam = $_POST['naam'];
$bericht = $_POST['bericht'];
if (!$naam) {
echo "FOUTMELDING:<br />";
echo "Je hebt geen naam ingevuld, maar die is wel verplicht.<br />";
echo "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if(strlen($naam) > 30) {
echo "FOUTMELDING:<br />";
echo "Je naam mag maar 30 tekens lang zijn.<br />";
echo "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if (!$bericht){ //....
echo "FOUTMELDING:<br />";
echo "Je hebt geen bericht ingevuld, en waar gaat het hier nou juist om? Precies!... <br />";
echo "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
$naam = str_replace("'", "`", $naam);
$naam = htmlspecialchars($naam);
$tijd = date("G:i");
$datum = date("d-m-y");
$bericht = str_replace("'", "`", $bericht);
$bericht = htmlspecialchars($bericht);
$sql = "INSERT INTO gastenboek (id, naam, tijd, datum, bericht)
VALUES ('', '$naam', '$tijd', '$datum', '$bericht')";
mysql_query($sql) or die(mysql_error());
}
require_once (PATH.'template.tpl');
?>
Gewijzigd op 12/06/2010 19:57:51 door M de Vries
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
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
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
<?php
if (!defined('PATH'))
define('PATH', '');
include("connect.php");
$sSubCategorie = 'Gastenboek';
if ($_SERVER['REQUEST_METHOD'] != "POST") {
$output .= '<form method="post" action="" />';
$output .= '<table width="300" cellpadding="0" border="0">';
$output .= '<tr>';
$output .= '<td>Naam: </td>';
$output .= '<td><input type="text" name="naam" maxlength="30" /></td>';
$output .= '</tr>';
$output .= '<tr>';
$output .= '<td>Bericht: </td>';
$output .= '<td><textarea name="bericht" cols="40" rows="8"></textarea></td>';
$output .= '</tr>';
$output .= '<tr>';
$output .= '<td><br /><input type="reset" value="velden legen" name="reset" onclick="javascript: alert(\'Weet u zeker dat u alle velden wilt legen?\')" /></td>';
$output .= '<td><br /><input type="submit" value="Bericht plaatsen" name="submit" /></td>';
$output .= '</tr>';
$output .= '</table>';
$output .= '</form>';
}
else {
$naam = $_POST['naam'];
$bericht = $_POST['bericht'];
if (!isset($naam) && $naam != "") {
$output .= "FOUTMELDING:<br />";
$output .= "Je hebt geen naam ingevuld, maar die is wel verplicht.<br />";
$output .= "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if(strlen($naam) > 30) {
$output .= "FOUTMELDING:<br />";
$output .= "Je naam mag maar 30 tekens lang zijn.<br />";
$output .= "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if (!isset($bericht) && $bericht != "") {
$output .= "FOUTMELDING:<br />";
$output .= "Je hebt geen bericht ingevuld, en waar gaat het hier nou juist om? Precies!... <br />";
$output .= "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
$naam = htmlspecialchars($naam);
$tijd = date("G:i");
$datum = date("d-m-y");
$bericht = htmlspecialchars($bericht);
$sql = "INSERT INTO gastenboek (id, naam, tijd, datum, bericht) VALUES ('', '".mysql_real_escape_string($naam)."', '".mysql_real_escape_string($tijd)."', '".mysql_real_escape_string($datum)."', '".mysql_real_escape_string($bericht)."')";
if (mysql_query($sql)) {
$output .= 'Gelukt, uw reactie is in ons gastenboek geplaatst. Bedankt voor het reageren.<br />U kunt <a href="gastenboek.php">hier klikken</a> om terug te gaan naar het gastenboek.';
}
else {
$output .= "Error: ".mysql_error();
}
}
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div>'.$output;
require_once (PATH.'template.tpl');
?>
if (!defined('PATH'))
define('PATH', '');
include("connect.php");
$sSubCategorie = 'Gastenboek';
if ($_SERVER['REQUEST_METHOD'] != "POST") {
$output .= '<form method="post" action="" />';
$output .= '<table width="300" cellpadding="0" border="0">';
$output .= '<tr>';
$output .= '<td>Naam: </td>';
$output .= '<td><input type="text" name="naam" maxlength="30" /></td>';
$output .= '</tr>';
$output .= '<tr>';
$output .= '<td>Bericht: </td>';
$output .= '<td><textarea name="bericht" cols="40" rows="8"></textarea></td>';
$output .= '</tr>';
$output .= '<tr>';
$output .= '<td><br /><input type="reset" value="velden legen" name="reset" onclick="javascript: alert(\'Weet u zeker dat u alle velden wilt legen?\')" /></td>';
$output .= '<td><br /><input type="submit" value="Bericht plaatsen" name="submit" /></td>';
$output .= '</tr>';
$output .= '</table>';
$output .= '</form>';
}
else {
$naam = $_POST['naam'];
$bericht = $_POST['bericht'];
if (!isset($naam) && $naam != "") {
$output .= "FOUTMELDING:<br />";
$output .= "Je hebt geen naam ingevuld, maar die is wel verplicht.<br />";
$output .= "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if(strlen($naam) > 30) {
$output .= "FOUTMELDING:<br />";
$output .= "Je naam mag maar 30 tekens lang zijn.<br />";
$output .= "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
if (!isset($bericht) && $bericht != "") {
$output .= "FOUTMELDING:<br />";
$output .= "Je hebt geen bericht ingevuld, en waar gaat het hier nou juist om? Precies!... <br />";
$output .= "<input type='submit' value='Terug' onclick='history.back(1)'>";
}
$naam = htmlspecialchars($naam);
$tijd = date("G:i");
$datum = date("d-m-y");
$bericht = htmlspecialchars($bericht);
$sql = "INSERT INTO gastenboek (id, naam, tijd, datum, bericht) VALUES ('', '".mysql_real_escape_string($naam)."', '".mysql_real_escape_string($tijd)."', '".mysql_real_escape_string($datum)."', '".mysql_real_escape_string($bericht)."')";
if (mysql_query($sql)) {
$output .= 'Gelukt, uw reactie is in ons gastenboek geplaatst. Bedankt voor het reageren.<br />U kunt <a href="gastenboek.php">hier klikken</a> om terug te gaan naar het gastenboek.';
}
else {
$output .= "Error: ".mysql_error();
}
}
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div>'.$output;
require_once (PATH.'template.tpl');
?>
Ik heb een paar dingen weggelaten en toegevoegd ( zoals $naam = str_replace("'", "`", $naam) ).
Dit heb ik vervangen door bij het invoeren van de gegevens in de database mysql_real_escape_string te gebruiken, dit is een betere beveiliging :)
Je moet er alleen wel opletten dat je met het uitputten van $data['bericht'] bijvoorbeeld dit moet doen: $output .= stripslashes($bericht);
Het beste is eigenlijk om de tijd en datum door SQL zelf op te laten slaan waardoor het sorteren en rekenen met tijd (rekenen is in dit geval niet nodig) beter te laten verlopen.
Gewijzigd op 12/06/2010 20:12:51 door Joost van der Meijden
Fatal error: Call to undefined function activelink() in /home/sanizo.nl/public_html/inc/menu.php on line 11
rij 11: $output .= '<td>Naam: </td>';
Dat is een fout in het bestand menu.php
Dus dan moet je even in de map inc kijken, daar staat het bestand menu.php en dan ff een paar regels weer plakken :)
Edit::
Gewijzigd op 12/06/2010 20:26:11 door Joost van der Meijden
Dat was hem idd. nu nog de layout goed zetten, waar doe ik dat?
Code (php)
1
2
3
2
3
<?php
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div>'.$output;
?>
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div>'.$output;
?>
Moet worden
Code (php)
1
2
3
2
3
<?php
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div>'.$output.'</div>';
?>
$sContent = '<div id="info_foto" class="style9"><div class="left_style_bold"><h2>Disclaimer</h2></div>'.$output.'</div>';
?>
Dat verhelpt het probleem als het goed is :)
Gewijzigd op 12/06/2010 20:35:05 door Joost van der Meijden
Ik zie ook dat vorige en volgende nog niet werken
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
if ($uitvoer = mysql_query($sql)) {
while($data = mysql_fetch_array($uitvoer)) {
$output .= "Bericht geschreven door <b>".stripslashes($data['naam'])."</b>"; //De naam van de auteur
$output .= " op " .stripslashes($data['datum']);
$output .= " om " .stripslashes($data['tijd']);
$output .= "<br /><br />";
$bericht = nl2br($data['bericht']);
$output .= stripslashes($bericht); //Het bericht zelf
$output .= "<br /><br /><br />";
}
$output .= "<br /><br />";
if ($page > 1) {
$vorige = $page-1;
$output .= "<a href='gastenboek.php?page=".$vorige."'>Vorige</a> ";
}
if ($page < ceil($aantal/$perpage)) {
$volgende = $page+1;
$output .= "<a href='gastenboek.php?page=".$volgende."'>Volgende</a>";
}
}
else {
$output .= "Error: ".mysql_error();
}
?>
if ($uitvoer = mysql_query($sql)) {
while($data = mysql_fetch_array($uitvoer)) {
$output .= "Bericht geschreven door <b>".stripslashes($data['naam'])."</b>"; //De naam van de auteur
$output .= " op " .stripslashes($data['datum']);
$output .= " om " .stripslashes($data['tijd']);
$output .= "<br /><br />";
$bericht = nl2br($data['bericht']);
$output .= stripslashes($bericht); //Het bericht zelf
$output .= "<br /><br /><br />";
}
$output .= "<br /><br />";
if ($page > 1) {
$vorige = $page-1;
$output .= "<a href='gastenboek.php?page=".$vorige."'>Vorige</a> ";
}
if ($page < ceil($aantal/$perpage)) {
$volgende = $page+1;
$output .= "<a href='gastenboek.php?page=".$volgende."'>Volgende</a>";
}
}
else {
$output .= "Error: ".mysql_error();
}
?>
Werkt dit?
Nu zijn ze helemaal weg!
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
include("connect.php");
$sql = "SELECT * FROM gastenboek";
$uitvoer = mysql_query($sql);
$aantal = mysql_num_rows($uitvoer);
$perpage = 10;
$page_count = ceil($aantal / $perpage);
if (isset($_GET["page"])) {
if (is_int($_GET["page"])) {
// controleren of $_GET["page"] een getal is.
$page = $_GET["page"];
}
else {
$page = 1;
}
}
else {
$page = 1;
}
?>
include("connect.php");
$sql = "SELECT * FROM gastenboek";
$uitvoer = mysql_query($sql);
$aantal = mysql_num_rows($uitvoer);
$perpage = 10;
$page_count = ceil($aantal / $perpage);
if (isset($_GET["page"])) {
if (is_int($_GET["page"])) {
// controleren of $_GET["page"] een getal is.
$page = $_GET["page"];
}
else {
$page = 1;
}
}
else {
$page = 1;
}
?>