Beste mensen,

Ik zit met onderstaand script.

Voorheen werkte het goed maar nu voor mij een onbekende reden werkt het niet meer.
Er komt niets in de database te staan en verder geen foutmelding.

Ik krijg 1 foutmelding namelijk:

Notice: Undefined variable: submit in /home/beste/domains/besteartiestenvannederland.nl/public_html/cplog/web/toevoegen.php on line 41

<?
error_reporting(E_ALL | E_STRICT);

session_start();
if(!isset($_SESSION['dataLIaut']))
{
header('Location: ../dc/404.php');
exit();
}


/* FUNCTIES INCLUDEN */
include("../fs/functions.php");


echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr>";
echo "<td>";
echo "<img src=\"../img/OK.gif\" width=\"16\" height=\"16\">&nbsp;";
echo "<img src=\"../img/ON.gif\" width=\"16\" height=\"16\">";
echo "<font color=\"#121260\" size=\"3\" face=\"Arial\"><b>&nbsp;";
echo "$_SESSION[USname]</b>";
echo "</td>";
echo "<td>";
echo "<div align=\"right\">";
echo "<font color=\"#121260\" size=\"1\" face=\"Arial\"><b>&nbsp;";
echo "<img src=\"../img/sp/refresh.jpg\" border=\"0\"> ";
echo "<a href=\"javascript:location.reload()\" onMouseOver=\"window.status = 'Vernieuw deze pagina!'; return true;\" onMouseOut=\"window.status = ' ';\">Vernieuwen</a>";
echo "&nbsp;&nbsp;|&nbsp;&nbsp;";
echo "<img src=\"../img/sp/uplevel.jpg\" border=\"0\"> ";
echo "<a href=\"javascript:history.back()\" onMouseOver=\"window.status = 'Ga terug naar de vorige pagina!'; return true;\" onMouseOut=\"window.status = ' ';\">Vorige</a>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<br><br><br>";

// Dit is de pagina waar je het Nieuws toevoegt

include("config.php");

if ($submit) {
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");
$bericht = htmlspecialchars($bericht);
$bericht = eregi_replace("\[b\]","<b>",$bericht);
$bericht = eregi_replace("\[/b\]","</b>",$bericht);
$bericht = eregi_replace("\[a\]","<a href=\"",$bericht);
$bericht = eregi_replace("\[/a\]","</a>",$bericht);
$bericht = eregi_replace("\[aa\]","\" target=\"_blank\">",$bericht);
$bericht = eregi_replace("\[i\]","<i>",$bericht);
$bericht = eregi_replace("\[/i\]","</i>",$bericht);
$bericht = eregi_replace("\[u\]","<u>",$bericht);
$bericht = eregi_replace("\[/u\]","</u>",$bericht);
$bericht = eregi_replace("\[p\]","<p>",$bericht);
$bericht = eregi_replace("\[/p\]","</p>",$bericht);
$bericht = eregi_replace("\[br\]","<br>",$bericht);
$bericht = eregi_replace("\[font\]","<font color=\"#FF0000\" size=\"1\">",$bericht);
$bericht = eregi_replace("\[/font\]","</font>",$bericht);
$datum = date("d/m/Y");
$tijd = date("H:i");



$insert = "INSERT INTO nieuws (auteur,onderwerp,bericht,tijd,datum,email) VALUES ('$auteur','$onderwerp','$bericht','$tijd','$datum','$email')";
$query = mysql_query($insert)or die(mysql_error());



echo "Je Nieuws Item is succesvol geplaatst!<META HTTP-EQUIV=\"refresh\" CONTENT=\"2;URL=../welcome.php\">";

}
else {
echo "<form action='toevoegen.php' method=POST><center>";
echo "<table cellspacing=0 border=0>";
echo "<tr><td>Auteur: </td><td><input type=text name=auteur></td></tr>";
echo "<tr><td>E-mail adres: </td><td><input type=text name=email></td></tr>";
echo "<tr><td>Onderwerp: </td><td><input type=text name=onderwerp></td></tr>";
echo "<tr><td>Bericht: </td><td><textarea name=bericht cols=30 rows=10></textarea></td></tr>";
echo "<tr><td colspan=2><input type=submit value=toevoegen style=width:25%></td></tr>";
echo "</table></form>";
}

?>
Ja klopt. Maar hij insert niets in de database en geeft ook geen foutmelding
Lees mijn eerste regel eens van mijn vorige post.
Sorry


<?
if (isset($submit) && !empty($submit)) {
	mysql_connect("$host","$user","$pass");
	mysql_select_db("$db");
	$bericht = htmlspecialchars($bericht);
	$bericht = eregi_replace("\[b\]","<b>",$bericht);
	$bericht = eregi_replace("\[/b\]","</b>",$bericht);
	$bericht = eregi_replace("\[a\]","<a href=\"",$bericht);
	$bericht = eregi_replace("\[/a\]","</a>",$bericht);
	$bericht = eregi_replace("\[aa\]","\" target=\"_blank\">",$bericht);
	$bericht = eregi_replace("\[i\]","<i>",$bericht);
	$bericht = eregi_replace("\[/i\]","</i>",$bericht);
	$bericht = eregi_replace("\[u\]","<u>",$bericht);
	$bericht = eregi_replace("\[/u\]","</u>",$bericht);
	$bericht = eregi_replace("\[p\]","<p>",$bericht);
	$bericht = eregi_replace("\[/p\]","</p>",$bericht);
	$bericht = eregi_replace("\[br\]","<br>",$bericht);
	$bericht = eregi_replace("\[font\]","<font color=\"#FF0000\" size=\"1\">",$bericht);
	$bericht = eregi_replace("\[/font\]","</font>",$bericht);
	$datum = date("d/m/Y");
	$tijd = date("H:i");



	$insert = "INSERT INTO nieuws (auteur,onderwerp,bericht,tijd,datum,email) VALUES ('$auteur','$onderwerp','$bericht','$tijd','$datum','$email')";
	$query = mysql_query($insert)or die(mysql_error());



	echo "Je Nieuws Item is succesvol geplaatst!<META HTTP-EQUIV=\"refresh\" CONTENT=\"2;URL=../welcome.php\">";

}
else {
	echo "<form action='toevoegen.php' method=POST><center>";
	echo "<table cellspacing=0 border=0>";
	echo "<tr><td>Auteur: </td><td><input type=text name=auteur></td></tr>";
	echo "<tr><td>E-mail adres: </td><td><input type=text name=email></td></tr>";
	echo "<tr><td>Onderwerp: </td><td><input type=text name=onderwerp></td></tr>";
	echo "<tr><td>Bericht: </td><td><textarea name=bericht cols=30 rows=10></textarea></td></tr>";
	echo "<tr><td colspan=2><input type=submit value=toevoegen  style=width:25%></td></tr>";
	echo "</table></form>";
}?>
Aar
]
dus het lijkt me dat je die toegepast hebt...?


Je hebt er geen fluit met die adviezen gedaan. Ik zie nog eregi, $submit komt uit het niets vallen, variabelen staan niet buiten quotes etc.

EN... waar is je fout afhandeling?
die() is kerkhof techniek. Je script moet niet stoppen als het fout gaat. In de theorie gaat er nooit iemand dood als iets fout gaat.

Dus bouw gewoon nette foutafhandeling in volgens onderstaand model:


<?php
$debug= true; //true als je wilt testen, false als je site 'live' staat. Niet iedereen hoeft je fouten te zien.

$insert_sql = "INSERT INTO nieuws (
                auteur,
                onderwerp,
                bericht,
                tijd,
                datum, 
                email)               
              VALUES(
               '".mysql_real_escape_string($_POST['auteur'])."',
               '".mysql_real_escape_string($_POST['onderwerp'])."',
               '".mysql_real_escape_string($_POST['bericht'])."',
               '$tijd',
               '$datum',
               '".mysql_real_escape_string($_POST['mail'])."')";

$result = mysql_query($insert_sql);
if($result) {
// de query is gelukt. 
echo "Je Nieuwsitem is succesvol geplaatst!";
} else {
echo "Helaas is er wat fout gegaan met op onze site.";
 if($debug) {
  echo "<b>Error:</b> ". mysql_error()."<br />";
  echo "<b>SQL:</b> ".$insert_sql; 
 ) 
}
?>

PHP jasper op 31/10/2010 20:06:10

@ karl veel van wat jij zegt heb ik al gezegd / verbeterd


Is dit weer zo'n topic voor twee mensen ofzo?

Reageren