Pagina wordt niet weergegeven, controle wel
Ik zit met een vreemd probleempje.
Gister heb ik een controle functie in mijn script gezet, en die werkte.
Maar nu werkt de rest niet.
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
65
66
67
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
<?php
if (!$leden->is_ingelogd() || $leden->getAdverteerder($leden->getId()) == '0')
{
include 'geentoegang.php';
}else{
?>
<div id="midden">
<div id="contentheader">
<div id="textcontentheader">
Wijzig Doe-Advertentie
</div>
</div>
<div id="content">
<?php
$DoeAdCheck = $mysql->query("SELECT * FROM adv_doeads WHERE id = '" . mysql_real_escape_string($_GET['doead']) . "' AND van = '" . $leden->getId($leden->getId()) . "'");
$Fetch = mysql_fetch_assoc($DoeAdCheck);
if (mysql_num_rows($DoeAdCheck) == 0){
echo'<div id="rError">Deze Doe-Ad is niet van jou of bestaat niet.</div>';
}elseif ($Fetch['gekeurt'] == 2){
echo'<div id="rError">Deze Doe-Ad is afgekeurt. Je moet een nieuwe maken.</div>';
}else{
if($_SERVER['REQUEST_METHOD']=="POST") { //Checken of er iets is verzonden met POST data.
$UserQuery = $mysql->query("SELECT * FROM leden WHERE id = '" . $leden->getId($leden->getId()) . "'");
$UserFetch = mysql_fetch_assoc($UserQuery);
if (empty($_POST['titel'])){
echo'<div id="rError">Vul wel een Titel in.</div>';
}
elseif (empty($_POST['beschrijving'])){
echo'<div id="rError">Vul wel een Beschrijving in.</div>';
}
elseif (empty($_POST['website'])){
echo'<div id="rError">Vul wel de website in.</div>';
}
else {
mysql_query("UPDATE adv_doeads SET titel = '".mysql_real_escape_string($_POST['titel'])."', beschrijving = '".mysql_real_escape_string($_POST['beschrijving'])."', gekeurt = '0', website = '".mysql_real_escape_string($_POST['website'])."' WHERE id = '" . mysql_real_escape_string($_GET['doead']) . "'") or die(mysql_error());
echo '<div id="gError">Je Doe-Advertentie is gewijzigd! Hij wordt nu opnieuw gekeurd voordat hij online gaat.</div>'; //Doe Advertentie query uitvoeren + melding geven dat het gelukt is.
}
}else{
while($DoeAdFetch = mysql_fetch_assoc($DoeAdCheck)) {
?>
<form method="post" action="">
<table border="0">
<tbody><tr>
<td>Titel:</td>
<td><input type="text" value="<?php echo $DoeAdFetch['titel']; ?>" name="titel"></td>
</tr>
<tr>
<td>Beschrijving:</td>
<td><input type="text" value="<?php echo $DoeAdFetch['beschrijving']; ?>" name="beschrijving"></td>
</tr>
<tr>
<td>Pagina</td>
<td>http:// <input type="text" name="website" value="<?php echo $DoeAdFetch['website']; ?>"></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Verzenden"></td><td>
</td></tr>
</tbody></table>
<small>De prijs in totaal is de prijs per doe-ad keer het aantal stuks, dit wordt ook van uw tegoed afgeschreven</small>
</form>
<?php } } } ?>
</div>
</div>
<?php
}
?>
if (!$leden->is_ingelogd() || $leden->getAdverteerder($leden->getId()) == '0')
{
include 'geentoegang.php';
}else{
?>
<div id="midden">
<div id="contentheader">
<div id="textcontentheader">
Wijzig Doe-Advertentie
</div>
</div>
<div id="content">
<?php
$DoeAdCheck = $mysql->query("SELECT * FROM adv_doeads WHERE id = '" . mysql_real_escape_string($_GET['doead']) . "' AND van = '" . $leden->getId($leden->getId()) . "'");
$Fetch = mysql_fetch_assoc($DoeAdCheck);
if (mysql_num_rows($DoeAdCheck) == 0){
echo'<div id="rError">Deze Doe-Ad is niet van jou of bestaat niet.</div>';
}elseif ($Fetch['gekeurt'] == 2){
echo'<div id="rError">Deze Doe-Ad is afgekeurt. Je moet een nieuwe maken.</div>';
}else{
if($_SERVER['REQUEST_METHOD']=="POST") { //Checken of er iets is verzonden met POST data.
$UserQuery = $mysql->query("SELECT * FROM leden WHERE id = '" . $leden->getId($leden->getId()) . "'");
$UserFetch = mysql_fetch_assoc($UserQuery);
if (empty($_POST['titel'])){
echo'<div id="rError">Vul wel een Titel in.</div>';
}
elseif (empty($_POST['beschrijving'])){
echo'<div id="rError">Vul wel een Beschrijving in.</div>';
}
elseif (empty($_POST['website'])){
echo'<div id="rError">Vul wel de website in.</div>';
}
else {
mysql_query("UPDATE adv_doeads SET titel = '".mysql_real_escape_string($_POST['titel'])."', beschrijving = '".mysql_real_escape_string($_POST['beschrijving'])."', gekeurt = '0', website = '".mysql_real_escape_string($_POST['website'])."' WHERE id = '" . mysql_real_escape_string($_GET['doead']) . "'") or die(mysql_error());
echo '<div id="gError">Je Doe-Advertentie is gewijzigd! Hij wordt nu opnieuw gekeurd voordat hij online gaat.</div>'; //Doe Advertentie query uitvoeren + melding geven dat het gelukt is.
}
}else{
while($DoeAdFetch = mysql_fetch_assoc($DoeAdCheck)) {
?>
<form method="post" action="">
<table border="0">
<tbody><tr>
<td>Titel:</td>
<td><input type="text" value="<?php echo $DoeAdFetch['titel']; ?>" name="titel"></td>
</tr>
<tr>
<td>Beschrijving:</td>
<td><input type="text" value="<?php echo $DoeAdFetch['beschrijving']; ?>" name="beschrijving"></td>
</tr>
<tr>
<td>Pagina</td>
<td>http:// <input type="text" name="website" value="<?php echo $DoeAdFetch['website']; ?>"></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Verzenden"></td><td>
</td></tr>
</tbody></table>
<small>De prijs in totaal is de prijs per doe-ad keer het aantal stuks, dit wordt ook van uw tegoed afgeschreven</small>
</form>
<?php } } } ?>
</div>
</div>
<?php
}
?>
als ik een doead meestuur, is de pagina gewoon wit.
Hoe kan dat?
Je opbouw van het script lijkt me niet logisch.
Je doet een $_GET zonder te controleren of er wel een $_GET mogelijkheid is.
Mis foutafhandeling.
Staat error-reporting aan?
Script overzichtelijk. Ik zie nu op regel 62 3x } staan. Welke hoort waarbij?
Ga debuggen: wat wordt er doorgegeven? Waar strandt je script?