Kan fout niet vinden.
Ik heb de volgende script gemaakt gebouwd op een origineel script voor een CMS systeem genaamd Webspell.
Alleen krijg ik dit script niet kloppend, ik heb reeds al via een boek bekeken wat ik heb fout gedaan en ook vind een programma de fout niet (dev-php2).
Hier is de script:
empty.php (voor de admincenter)
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
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
<?php
if(!ispageadmin($userID) OR substr(basename($_SERVER[REQUEST_URI]),0,15) != "admincenter.php") die('Access denied.');
if($_POST['submit']) {
$empty = $_POST['empty'];
$title = $_POST['title'];
if(mysql_num_rows(safe_query("SELECT * FROM ".PREFIX."empty")))
safe_query("UPDATE ".PREFIX."empty SET title='".mysql_escape_string($title)."', empty='".mysql_escape_string($empty)."' ");
else safe_query("INSERT INTO ".PREFIX."empty ( title, empty ) values( '".$_POST[title']."', '".$_POST['empty']."') ");
redirect("admincenter.php?site=empty","Succesvol opgeslagen.");
}
else {
$ergebnis=safe_query("SELECT * FROM ".PREFIX."empty");
$ds=mysql_fetch_array($ergebnis);
echo'<h2>title</h2>';
echo'
<form method="post" action="admincenter.php?site=empty">
<table cellpadding="0" cellspacing="3">
<tr>
<td align="right">Pagina Titel:</td><td><input type="text" name="title" value="'.$ds[title].'" class="form_off" onFocus="this.className=\'form_on\'" onBlur="this.className=\'form_off\'"></td><td> </td>
</tr>
</table>
<table cellpadding="0" cellspacing="3">
<td>
Je kan hier HTML-tags gebruiken.<br>
<textarea name="empty" cols="100" rows="30" class="form_off" onFocus="this.className=\'form_on\'" onBlur="this.className=\'form_off\'">'.$ds[empty].'</textarea>
</td>
</tr>
<tr><td><input type="submit" name="submit" value="opslaan"></td></tr>
</table>
</form>';
}
?>
if(!ispageadmin($userID) OR substr(basename($_SERVER[REQUEST_URI]),0,15) != "admincenter.php") die('Access denied.');
if($_POST['submit']) {
$empty = $_POST['empty'];
$title = $_POST['title'];
if(mysql_num_rows(safe_query("SELECT * FROM ".PREFIX."empty")))
safe_query("UPDATE ".PREFIX."empty SET title='".mysql_escape_string($title)."', empty='".mysql_escape_string($empty)."' ");
else safe_query("INSERT INTO ".PREFIX."empty ( title, empty ) values( '".$_POST[title']."', '".$_POST['empty']."') ");
redirect("admincenter.php?site=empty","Succesvol opgeslagen.");
}
else {
$ergebnis=safe_query("SELECT * FROM ".PREFIX."empty");
$ds=mysql_fetch_array($ergebnis);
echo'<h2>title</h2>';
echo'
<form method="post" action="admincenter.php?site=empty">
<table cellpadding="0" cellspacing="3">
<tr>
<td align="right">Pagina Titel:</td><td><input type="text" name="title" value="'.$ds[title].'" class="form_off" onFocus="this.className=\'form_on\'" onBlur="this.className=\'form_off\'"></td><td> </td>
</tr>
</table>
<table cellpadding="0" cellspacing="3">
<td>
Je kan hier HTML-tags gebruiken.<br>
<textarea name="empty" cols="100" rows="30" class="form_off" onFocus="this.className=\'form_on\'" onBlur="this.className=\'form_off\'">'.$ds[empty].'</textarea>
</td>
</tr>
<tr><td><input type="submit" name="submit" value="opslaan"></td></tr>
</table>
</form>';
}
?>
Hier nog de install.php (die wel werkte):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include ("_mysql.php");
mysql_connect($host, $user, $pwd) or die ('ERROR: No connection with MysQl');
mysql_select_db($db) or die ('Error: Could not connect to "'.$db.'" in database');
mysql_query("DROP TABLE IF EXISTS `".PREFIX."empty`");
mysql_query("CREATE TABLE `".PREFIX."empty` (
`empty` longtext NOT NULL,
`title` varchar(50) NOT NULL default ''
)");
echo'Succesfully added the new addon.';
?>
include ("_mysql.php");
mysql_connect($host, $user, $pwd) or die ('ERROR: No connection with MysQl');
mysql_select_db($db) or die ('Error: Could not connect to "'.$db.'" in database');
mysql_query("DROP TABLE IF EXISTS `".PREFIX."empty`");
mysql_query("CREATE TABLE `".PREFIX."empty` (
`empty` longtext NOT NULL,
`title` varchar(50) NOT NULL default ''
)");
echo'Succesfully added the new addon.';
?>
Had je aan de highlighting al kunnen zien
En staat deze error in je code of heb je de ubbparser stuk gemaakt?
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/vhosts/phphulp.nl/httpdocs/cfgs/ubbparser/bbcode.class.php on line 472
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
@ Jacco:
Ik zag ook al zoiets aan de highlighting, maar ik snap niet wat er fout is aan die functie, of hoe ik hem anders zou moeten doen. Ik wil als value namenlijk de titel uit de database.
De fout die er ook in staat is "Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/vhosts/phphulp.nl/httpdocs/cfgs/ubbparser/bbcode.class.php on line 472". Maar ik heb helemaal geen line 472 en ik snap de warning ook al niet.
Maar bedankt voor de snelle reacties.
values( '".$_POST[title']."',
Moet worden
values( '".$_POST['title']."',
Zoek het kleine maar eccensiele verschil
Maar ik heb nu veranderd:
'.$ds[title].' in $ds[title]
en
values( '".$_POST[title']."', in values( '".$_POST['title']."',
.. Ik heb nu deze script:
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
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
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
// rest
if(!ispageadmin($userID) OR substr(basename($_SERVER[REQUEST_URI]),0,15) != "admincenter.php") die('Access denied.');
if($_POST['submit']) {
$empty = $_POST['empty'];
$title = $_POST['title'];
if(mysql_num_rows(safe_query("SELECT * FROM ".PREFIX."empty")))
safe_query("UPDATE ".PREFIX."empty SET title='".mysql_escape_string($title)."', empty='".mysql_escape_string($empty)."' ");
else safe_query("INSERT INTO ".PREFIX."empty ( title, empty ) values( '".$_POST['title']."', '".$_POST['empty']."') ");
redirect("admincenter.php?site=empty","Succesvol opgeslagen.");
}
else {
$ergebnis=safe_query("SELECT * FROM ".PREFIX."empty");
$ds=mysql_fetch_array($ergebnis);
echo'<h2>title</h2>';
echo'
<form method="post" action="admincenter.php?site=empty">
<table cellpadding="0" cellspacing="3">
<tr>
<td align="right">Pagina Titel:</td><td><input type="text" name="title" value="$ds[title]" maxlength="30" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td><td> </td>
</tr>
</table>
<table cellpadding="0" cellspacing="3">
<td>
Je kan hier HTML-tags gebruiken.<br>
<textarea name="empty" cols="100" rows="30" class="form_off" onFocus="this.className=\'form_on\'" onBlur="this.className=\'form_off\'">'.$ds[empty].'</textarea>
</td>
</tr>
<tr><td><input type="submit" name="submit" value="opslaan"></td></tr>
</table>
</form>';
}
?>
error_reporting(E_ALL);
ini_set("display_errors", 1);
// rest
if(!ispageadmin($userID) OR substr(basename($_SERVER[REQUEST_URI]),0,15) != "admincenter.php") die('Access denied.');
if($_POST['submit']) {
$empty = $_POST['empty'];
$title = $_POST['title'];
if(mysql_num_rows(safe_query("SELECT * FROM ".PREFIX."empty")))
safe_query("UPDATE ".PREFIX."empty SET title='".mysql_escape_string($title)."', empty='".mysql_escape_string($empty)."' ");
else safe_query("INSERT INTO ".PREFIX."empty ( title, empty ) values( '".$_POST['title']."', '".$_POST['empty']."') ");
redirect("admincenter.php?site=empty","Succesvol opgeslagen.");
}
else {
$ergebnis=safe_query("SELECT * FROM ".PREFIX."empty");
$ds=mysql_fetch_array($ergebnis);
echo'<h2>title</h2>';
echo'
<form method="post" action="admincenter.php?site=empty">
<table cellpadding="0" cellspacing="3">
<tr>
<td align="right">Pagina Titel:</td><td><input type="text" name="title" value="$ds[title]" maxlength="30" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td><td> </td>
</tr>
</table>
<table cellpadding="0" cellspacing="3">
<td>
Je kan hier HTML-tags gebruiken.<br>
<textarea name="empty" cols="100" rows="30" class="form_off" onFocus="this.className=\'form_on\'" onBlur="this.className=\'form_off\'">'.$ds[empty].'</textarea>
</td>
</tr>
<tr><td><input type="submit" name="submit" value="opslaan"></td></tr>
</table>
</form>';
}
?>
Wanneer je problemen hebt met SQL, ga dan je queries eens echoen. Dan wordt het 100x duidelijker wat je nu aan het uitspoken bent en welke queries je nu naar de database stuurt. Met bovenstaande code heb je daar namelijk geen flauw idee van.
Kan iemand dus achterhalen waar de fout zit.
Alvast bedankt.