Hallo,
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)
<?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>&nbsp;</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):
<?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.';
?>
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
values( '".$_POST[title']."',

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
SanThe, ik heb die script erboven gezet maar tevergeefs, ik krijg geen fouten te zien. Of hoe moet ik die uberhaupt bekijken. Ik verwacht dat die fouten te zien zijn op de pagina?

@ 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.
Warning is dan van phphulp zelf :P

values( '".$_POST[title']."',

Moet worden

values( '".$_POST['title']."',

Zoek het kleine maar eccensiele verschil
Bedankt, alleen doet mijn script het nog steeds niet.

Maar ik heb nu veranderd:

'.$ds[title].' in $ds[title]
en
values( '".$_POST[title']."', in values( '".$_POST['title']."',

.. Ik heb nu deze script:

<?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>&nbsp;</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>';
}

?>
Gefeliciteerd! En wat is nu het probleem?

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.
Hey, de termen zeggen me allemaal niet zoveel. Ik ben begonnen met een boek. Maar ik ben niet van de boeken maar meer van de fouten. Als ik zie waar ik fout zat leert dat me meer dan een boek.
Kan iemand dus achterhalen waar de fout zit.
Alvast bedankt.

Reageren