Kijk, ik vind dat dit script het moet doen, maar dat doet het dus niet... de server begrijpt mij niet:P

<?

//Includes
include('config.php');

//Database connectie

$mysql_user = "chriz"; // je mysql login naam
$mysql_pass = "e3340"; // je mysql wachtwoord
$mysql_host = "localhost"; // de host van je mysql database (localhost is meestal wel oke)
$mysql_dbn = "celexa"; // de naam van je database

if (!@mysql_select_db($mysql_dbn, @mysql_connect($mysql_host, $mysql_user, $mysql_pass)))
{
echo "Database connectie mislukt!";
exit();
}


//Script

if ($_POST['submit'])
{
$datum = date('d-m-Y H:i');
$ip = $REMOTE_ADDR;

mysql_query("CREATE TABLE ".$prefix."".$_POST['titel']." (id NOT NULL,tekst TEXT NOT NULL,datum VARCHAR(16) NOT NULL,ip VARCHAR(11) NOT NULL,titel VARCHAR(50) NOT NULL)");

$sql = "UPDATE ".$prefix."".$titel." SET ";
$sql .= "tekst = '" . $_POST['tekst'] . "'";
$sql .= ", titel = '" . $_POST['titel'] . "'";
$sql .= ", datum = '" . $datum . "'";
$sql .= ", ip = '" . $ip . "'";
$sql .= "WHERE id = 1";
$res = mysql_query($sql);

if ($res)
{
echo "Pagina succesvol gemaakt!";

echo "<form method=\"POST\" action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "Titel:<br><input type=\"text\" name=\"titel\" value=\"\"><br><br>";
echo "Content:<br><textarea name=\"tekst\" rows=\"15\" cols=\"50\"></textarea><br><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Pagina maken\">";
echo "</form>";
}
else
echo "De pagina is niet bewerkt";
}
else
{
if ($_POST['submit'])
echo "Foutje, probeer het eens opnieuw";

echo "<form method=\"POST\" action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "Titel:<br><input type=\"text\" name=\"titel\" value=\"" . $_POST['titel'] . "\"><br><br>";
echo "Content:<br><textarea name=\"tekst\" rows=\"15\" cols=\"50\">" . nl2br($_POST['tekst']) . "</textarea><br><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Home bewerken\">";
echo "</form>";
}
?>

hij geeft de error: De pagina is niet bewerkt, kortom het probleem zit m in dit stukkie:

<?
$datum = date('d-m-Y H:i');
$ip = $REMOTE_ADDR;

mysql_query("CREATE TABLE ".$prefix."".$_POST['titel']." (id NOT NULL,tekst TEXT NOT NULL,datum VARCHAR(16) NOT NULL,ip VARCHAR(11) NOT NULL,titel VARCHAR(50) NOT NULL)");

$sql = "UPDATE ".$prefix."".$titel." SET ";
$sql .= "tekst = '" . $_POST['tekst'] . "'";
$sql .= ", titel = '" . $_POST['titel'] . "'";
$sql .= ", datum = '" . $datum . "'";
$sql .= ", ip = '" . $ip . "'";
$sql .= "WHERE id = 1";
$res = mysql_query($sql);
?>

kan iemand mij helpen?
alvast bedankt, Chriz
$sql = "UPDATE ".$prefix."".$titel." SET ";
$sql .= "tekst = '" . $_POST['tekst'] . "'";
$sql .= ", titel = '" . $_POST['titel'] . "'";
$sql .= ", datum = '" . $datum . "'";
$sql .= ", ip = '" . $ip . "'";
$sql .= "WHERE id = 1";
$res = mysql_query($sql) or die(mysql_error());

kijk eens als dat een error oplevert.
Is dit wel goed?: $sql = "UPDATE ".$prefix."".$titel." SET ";

De variabele $titel wordt volgens mij nergens vastgesteld. Of zie ik iets over het hoofd?
Bedoel je dit soms:
$sql = "UPDATE ".$prefix."".$_POST['titel']." SET ";
Kijk, ik vind dat dit script het moet doen, maar dat doet het dus niet... de server begrijpt mij niet:P

Goh dat heb ik ook weleens :)
Mitch schreef op 24.04.2005 20:37
Kijk, ik vind dat dit script het moet doen, maar dat doet het dus niet... de server begrijpt mij niet:P

Goh dat heb ik ook weleens :)
Blijft natuurlijk ook gewoon een feit dat jullie domme servers hebben... :) Mijne zet koffie als ik dat zeg.. ;)

Edit:
Ik snap niet dat de ene keer wel een geneste quote werkt en de andere keer niet...

Elwin
Vars kun je gewoon buiten de quotes zetten, maar superglobals niet.
Bedoel je niet andersom?
echo "ik heet $naam";
echo "ik heet ".$naam;
echo "ik heet ".$_POST['naam'];
echo "ik heet $_POST['naam']";

Of die laatste werkt, is een vraag, maar de 3 daarboven moeten wel werken.

Maaaarrrrrr
if ($res){
$res = mysql_query($sql);
Mag dat wel zo? Want volgens mij geeft $res niet alleen true, maar ook het antwoord van de query. Moet het dan niet zo?
if($res === true){
Check het dan zo:

<?
$res = mysql_query($sql) or $error = mysql_error();
if ($error == "")
{
echo "bla bla goed";
}
else
{
echo "Fout, kun je dat echt helemaal niets??";
}
?>
Jelmer schreef op 24.04.2005 21:43

Maaaarrrrrr
if ($res){
$res = mysql_query($sql);
Mag dat wel zo? Want volgens mij geeft $res niet alleen true, maar ook het antwoord van de query. Moet het dan niet zo?
if($res === true){

Nee, dat if($res) is hetzelfde als je zou schrijven if($res == TRUE). de === gebruik je bijna nooit (weet niet eens precies waarvoor het is).
BTW: Ik mag hopen dat dat wachtwoord etc. niet klopt. anders zou ik het toch maar ff editten :x

Reageren