• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

if_Abfrage funktioniert nicht

Status
Für weitere Antworten geschlossen.

Dark D.

Neues Mitglied
Ich hab das Problem, dass nach dem Druck auf 'subm2' nicht der gewünschte Text erscheint,
sondern nur eine leere Seite:
PHP:
<?php
if (isset($_POST['subm2']) && !empty($_POST['gegner']) && !empty($_POST['herg']) &&  !empty($_POST['erg']) &&  !empty($_POST['modus'])) {

    if (isset($_POST['bericht'])) {
        $_POST['bericht'] = htmlspecialchars($_POST['bericht']);
        $_POST['bericht'] = nl2br($_POST['bericht']);
    }
    $_POST['gegner'] = htmlspecialchars($_POST['gegner']);

    if (isset($_POST['bericht'])) {
        $eintrag = "insert into presse () values ('".$_POST['manns'].", '  ".$_POST['gegner'].",  '".$_POST['modus'].", '".$_POST['herg'].",  '".$_POST['erg'].", '".$_POST['bericht'].")";
    }
    else {
        $eintrag = "insert into presse () values ('".$_POST['manns'].", '".$_POST['gegner'].", '".$_POST['modus'].", '".$_POST['herg'].", '".$_POST['erg'].", '')";
    }

    include ("zugriff.php");
    if (mysql_query($eintrag)) {
        echo "<h2>Dateneingabe erfolgreich!</h2>
              <a href='index.html'>Ausloggen</a>";
    }
    else {
            echo "<h2>Dateneingabe nicht erfolgreich</h2>
                  Benutzen Sie bitte den
                  <a href='javascript:history.back()'>Zur&uuml;ck-Button</a>
                  ihres Browsers<br />und versuchen Sie es noch einmal.";
    }
    mysql_close();

}
?>
Der Browser zeigt aber auch keine Fehlermeldung an, woran kann es also liegen?
 
Du hast Fehler mit den Hochkommas gemacht:

PHP:
if (isset($_POST['bericht'])) {
        $eintrag = "insert into presse () values ('".$_POST['manns']."', '  ".$_POST['gegner']."',  '".$_POST['modus']."', '".$_POST['herg']."',  '".$_POST['erg']."', '".$_POST['bericht']."')";
    }
    else {
        $eintrag = "insert into presse () values ('".$_POST['manns']."', '".$_POST['gegner']."', '".$_POST['modus']."', '".$_POST['herg']."', '".$_POST['erg']."', '')";
    }
Kann mir aber nicht vorstellen, dass wegen der Fehlerhaften query gar nichts ausgegeben wird.
 
was ist das hier:

Code:
insert into presse () values

?
ohne leere klammern sähe das schöner aus.

Nils aka XraYSoLo
 
Dann an den Anfang der Seite error_reporting(E_ALL); und hinter die MySQL-Query or die(mysql_error())
 
Ich habs jetzt ohne Klammern geschrieben (funktioniert nicht) und werd das gleich mit dem error-Dings machen.

Einen Fehler zeigt es trotzdem nicht an, ich werd die ganze Seite am besten
noch mal schreiben :???:.
 
Zuletzt bearbeitet von einem Moderator:
Autsch. Da können sehr leicht böse Script mit in die Datenbank gelangen.
In eine Datenbank trägt man so ein (vorrausgesetzt, die Grundbedingungen, wie richtiger Datenbankname - Tabelle ist da und richtiges Login zur Datenbank, id wird automatisch vergeben):
PHP:
$sql = "INSERT INTO tabllenname (bla, blub, muh) VALUES ('" . mysql_real_escape_string(htmlspecialchars(stripslashes($_POST['bla']))) . "', '" . mysql_real_escape_string(htmlspecialchars(stripslashes($_POST['blub']))) . "', '" . mysql_real_escape_string(htmlspecialchars(stripslashes($_POST['muh']))) . "')";
$result = mysql_query($sql OR die(mysql_error());
if ($result) {
echo "geschafft";
}
 
Problem gelöst!

Es lag daran, dass ich bei <form action=""> 'irgendwas.php' geschrieben hab;
das hab ich durch 'index.php?irgendwas.php' ersetzt.

Thema kann also geschlossen werden, danke für eure Hilfe!

mfG,
Markus
 
was soll denn bitte index.pjp?datei.php sein??

Nils aka XraYSoLo
Das Zeug ist alles auf einer leeren Seite erschienen und nicht in der Box,
wo ich es haben wollte.
Das lag daran, das der Inhalt der Box dynamisch mit 'include()' generiert wird.
Im <form>-Tag stand, dass die Auswertung in 'datei.php' stattfinden sollte (die leere Seite).
Damit das Ergebnis aber in der Box angezeigt wird musste ich 'index.php?datei.php' angeben. ;-)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben