Beste,
Ben druk bezig met php maar nu heb echt vage fout.
De script werkt hij geeft de fouten weer alleen voert die de else in db plaatsen niet uit.PHP Code:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$title = mysql_real_escape_string($_POST['title']);
$categorie = mysql_real_escape_string($_POST['categorie']);
$verhaal = mysql_real_escape_string($_POST['verhaal']);
if(($_POST['title']) < 2) {
echo "<div class=\"foutmelding\">Je hebt geen of een te korte title ingevuld</div>";
}
if(($_POST['categorie']) > 80) {
echo "<div class=\"foutmelding\">Je hebt een te lange title ingevuld</div>";
}
if(($_POST['verhaal']) < 10) {
echo "<div class=\"foutmelding\">Je hebt geen of een te korte verhaal ingevuld</div>";
} else {
//alles mooi in de database zetten
mysql_query ("INSERT INTO verhalen (id,title,verhaal,categorie,kliks,weergeven) VALUES ('', '".$title."', '".$verhaal."', '".$categorie."', '0', '1')") or die (mysql_error());
echo "<div class=\"foutmelding\">Je verhaal is verstuurt naar ons redactie en zal worden beoordeelt</div>";
}
}
Wat heb ik verkeerd gedaan?
mvg,
Wesley
- foutmelding php
-
21-07-2010, 10:56 #1
- Berichten
- 145
- Lid sinds
- 18 Jaar
foutmelding php
-
In de schijnwerper
-
21-07-2010, 11:18 #2
- Berichten
- 587
- Lid sinds
- 16 Jaar
Debuggen is de boodschap ;)
- Een foutmelding is ook altijd handig...
-
21-07-2010, 11:27 #3
- Berichten
- 751
- Lid sinds
- 15 Jaar
PHP Code:if($_SERVER['REQUEST_METHOD'] == 'POST') {
$title = mysql_real_escape_string($_POST['title']);
$categorie = mysql_real_escape_string($_POST['categorie']);
$verhaal = mysql_real_escape_string($_POST['verhaal']);
if($_POST['title'] < 2) {
echo '<div class="foutmelding">Je hebt geen of een te korte title ingevuld</div>';
} elseif($_POST['categorie'] > 80) {
echo '<div class="foutmelding">Je hebt een te lange title ingevuld</div>';
} elseif($_POST['verhaal'] < 10) {
echo '<div class="foutmelding">Je hebt geen of een te korte verhaal ingevuld</div>';
} else {
mysql_query("INSERT INTO verhalen (id,title,verhaal,categorie,kliks,weergeven) VALUES ('', '".$title."', '".$verhaal."', '".$categorie."', '0', '1')") or die (mysql_error());
echo '<div class="foutmelding">Je verhaal is verstuurt naar ons redactie en zal worden beoordeelt</div>';
}
}
-
21-07-2010, 11:35 #4
- Berichten
- 492
- Lid sinds
- 16 Jaar
Ik zit te kijken en er klopt nog iets niet.
Als je titel te kort is of niet bestaad word je verhaal wel gepost.
Maar er zit geen limiet aan de titel
Edit: Ik had het verhaal van gast17649 nog niet gelezen.
Wat ook wel leuk is om te doen, is als een gebruiker een heel verhaal heeft getypt,
En zijn titel niet correct is waar hij op de volgende pagina een melding krijgt.
En terug gaat dat hij zijn verhaal niet helemaal overnieuw hoeft te typen.Laatst aangepast door N. Meijer : 21-07-2010 om 11:50
-
21-07-2010, 11:39 #5
- Berichten
- 1.499
- Lid sinds
- 17 Jaar
Maar hoezo $_POST['verhaal'], dat is gewoon tekst. Hoe wil je controleren of dat kleiner is dan 10?
Bedoel je niet:
PHP Code:if(strlen($_POST['verhaal']) < 10)
{
// Je code
}
-
21-07-2010, 11:45 #6
- Berichten
- 751
- Lid sinds
- 15 Jaar
@N Meijer
Wat je dan kan doen is de errors in een array zetten, en die weer echoén bij de form.
En voor het onthouden van de post kun je simpel in de value van de input veld: "echo $_POST['input']"
-
21-07-2010, 12:04 #7
- Berichten
- 1.499
- Lid sinds
- 17 Jaar
@gast17649, dan wel htmlentities() er overheen, anders heb je een lek...
Zoiets kan ook:
PHP Code:<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$title = mysql_real_escape_string($_POST['title']);
$categorie = mysql_real_escape_string($_POST['categorie']);
$verhaal = mysql_real_escape_string($_POST['verhaal']);
$error = false;
if(strlen($_POST['title']) < 2)
{
echo '<div class="foutmelding">Je hebt geen of een te korte title ingevuld</div>';
$error = true;
}
elseif(strlen($_POST['categorie']) > 80)
{
echo '<div class="foutmelding">Je hebt een te lange title ingevuld</div>';
$error = true;
}
elseif(strlen($_POST['verhaal']) < 10)
{
echo '<div class="foutmelding">Je hebt geen of een te korte verhaal ingevuld</div>';
$error = true;
}
if($error != true)
{
mysql_query("INSERT INTO verhalen (id,title,verhaal,categorie,kliks,weergeven) VALUES ('', '".$title."', '".$verhaal."', '".$categorie."', '0', '1')") or die (mysql_error());
echo '<div class="foutmelding">Je verhaal is verstuurt naar ons redactie en zal worden beoordeelt</div>';
}
}
?>Laatst aangepast door Tom Verhaeg : 21-07-2010 om 15:03
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic