Cannot break

GoldenEye

Erfahrenes Mitglied
hi,

ich habe ein feedbackformular:

PHP:
<?php
    error_reporting(E_ALL);

    include 'config.php';
    // Konfigurationsdatei laden

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());


include "style/header.tpl";


?>
<p>
Sie haben Fragen oder möchten uns aus einem anderen Grund kontaktieren? Hier haben sie die Möglichkeit.

<form action="feed.php" method="post">
	<input type="text" name="name" value="Name"/>
	<input type="text" name="mail" value="Email Adresse"/>
	<br/><br/>Ihre Nachricht: <br/><textarea name="data" rows="10" cols="50"></textarea>
	<br/><input type="submit" value="Senden"/>
	<input type="reset" value="Verwerfen"/>
</form>

<?php
    if(empty($_POST['data'])) {
        echo "Bitte füllen sie alles sorgfälltig aus.";
	break;
    }







include "style/footer.tpl";
?>

mysql_query ("INSERT INTO feedback (date,name,mail,data) values (NOW(),'" . $_POST['name'] . "','" . $_POST['mail'] . "',"'.mysql_real_escape_string(strip_tags($_POST['data'])).'")");
 echo " Vielen Dank für Ihre Post. Das Senden war erfolgreich.";

   $insert ='INSERT INTO 
                          `feedback` 
                    SET 
                          `date` = NOW(),
                          `name` = "'.$_POST['name'].'",
                          `mail` = "'.$_POST['mail'].'",
                          `data` = "'.mysql_real_escape_string(strip_tags($_POST['data']).'"
             '; 

    mysql_query($insert) or die(mysql_error());

wenn ich das aufrufe kommt immer:

Fatal error: Cannot break/continue 1 level in /usr/export/www/vhosts/funnetwork/hosting/thephp/php/feed.php on line 30

was ist an dem brak falsch?
 
break gibt es nur in switch, Schleifen und Funktionen. Schreib einfach mal exit; hin
PHP:
if(empty($_POST['data'])) {
        echo "Bitte füllen sie alles sorgfälltig aus.";
    exit;
    }
Oder was willst du an dieser machen, wenn der User keine Daten angibt?

Tobee
 
Zuletzt bearbeitet:
Ein Blick/Klick in das php.net Manual: [phpf]break[/phpf]...
php.net hat gesagt.:
break bricht die Ausführung der aktuellen for, foreach while, do..while Schleife oder einer switch Anweisungssequenz ab.

Nimm daher [phpf]exit[/phpf] oder [phpf]die[/phpf].
 
seitdem mein script jetzt so aussieht:
PHP:
<?php
    error_reporting(E_ALL);

    include 'config.php';
    // Konfigurationsdatei laden

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());


include "style/header.tpl";


?>
<p>
Sie haben Fragen oder möchten uns aus einem anderen Grund kontaktieren? Hier haben sie die Möglichkeit.

<form action="feed.php" method="post">
	<input type="text" name="name" value="Name"/>
	<input type="text" name="mail" value="Email Adresse"/>
	<br/><br/>Ihre Nachricht: <br/><textarea name="data" rows="10" cols="50"></textarea>
	<br/><input type="submit" value="Senden"/>
	<input type="reset" value="Verwerfen"/>
</form>

<?php
    if(empty($_POST['data'])) {
        echo "Bitte füllen sie alles sorgfälltig aus.";
	die;
    }







include "style/footer.tpl";



mysql_query ("INSERT INTO feedback (date,name,mail,data) values (NOW(),'" . $_POST['name'] . "','" . $_POST['mail'] . "',"'.mysql_real_escape_string(strip_tags($_POST['data'])).'")");
 echo " Vielen Dank für Ihre Post. Das Senden war erfolgreich.";

   $insert ='INSERT INTO 
                          `feedback` 
                    SET 
                          `date` = NOW(),
                          `name` = "'.$_POST['name'].'",
                          `mail` = "'.$_POST['mail'].'",
                          `data` = "'.mysql_real_escape_string(strip_tags($_POST['data']).'"
             '; 

    mysql_query($insert) or die(mysql_error());
?>

kommt folgende Fehler:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/export/www/vhosts/funnetwork/hosting/thephp/php/feed.php on line 43
 
PHP:
mysql_query ("INSERT INTO feedback (date,name,mail,data) values (NOW(),'" . $_POST['name'] . "','" . $_POST['mail'] . "','".mysql_real_escape_string(strip_tags($_POST['data']))."')");

HAttest ein Problem mit den Gänsefüsschen. Vergleich mal deine und meine Version. Ein Tipp, leg dir eine gute IDE zu, welche den Code Highlighted. Dann siehst du sofort wo es einen Fehler gibt...

Gruss
X
 
Zurück