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

Mal wieder vairablen

GerStriker

Neues Mitglied
Hi
Ich habe ein ganz simples Problem, aber anscheinend hab ich grade den Kopf zu voll.
Hier der Code:
$sql = mysql_query("UPDATE 'news' SET '$message'");

Ich glaube was er machen soll ist klar. Der String, den ich unter $message gespeichert habe, soll in eine Dantenbank und dort in die Tabelle News gelesen werden. Leider macht er es nicht...
 
Werbung:
PHP:
$sql = mysql_query("UPDATE `news` SET `FELDNAME` = '".$message."'");

Achte auf die Backticks
ist in $message etwas enthalten?
 
$message ist definitv nicht leer. Ich gebe die Variablen immernoch mal über echo aus, wenn ich noch entwickel. Dann kann ich sicher gehen das nichts schief gegangen ist.

Habs eben mal getestet. Mich beschleicht das Gefühl das der Fehler wo anders liegt -.-

Hier ist mal der komplette, relevante Code:

PHP:
require ('dbquery.inc.php');

$news = mysql_query("SELECT content FROM news");
$news = mysql_fetch_array($news);

if (isset ($_post['message'])) 
    {
$message = $_POST ['message'];
$sql = mysql_query("UPDATE `news` SET `content` = '".$message."'");  
    }
echo    '    <html>
            <head>
            <title>Newsfeed vom Musikbrunnen</title>
            <link rel="stylesheet" type="text/css" href="stdStyle.css" />
            </head>
            <body id="body">
            <h1 style="color: #ff4310;">Newsfeed vom Musikbrunnen</h1>
            <form action="news.php" method="post">
            <input name="passwort" type="hidden" value="';
echo         "$passwort";
echo        '">
            <p style="color: #ff4310;">Eintrag: <input name="message" size="100" type="text" value=" ';
echo        "$news[0]";
echo        '" />
            <br />
            <input type="submit" value="Okay" />
            </form></p>
            </body></html>';
 
Zuletzt bearbeitet:
Werbung:
PHP:
if (isset ($_post['message']))

PHP ist Casesensitive, und nach absenden ist $_POST immer belegt, zur not leer, also würde ich das so abfragen

PHP:
if(isset($_POST['message']) and ($_POST['message'] != ""))

PS
$message sollte unbedingt durch mysql_real_escape_string() geschickt werden, also

PHP:
$message = mysql_real_escape_string($_POST ['message']);
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
du hast die schliessende Klammer von isset vergessen:
PHP:
if(isset($_POST['message']) and ($_POST['message'] != ""))
 
Okay, der Befehl funktioniert jetzt. Leider aktualisiert das Programm aber immernoch nicht den Eintrag in der Datenbank. Ganz nebenbei ruft sich das Skript auch selbst wieder auf. Vielleicht ist dann der Ablauf ein wenig besser nach zu vollziehen.
 
Lass dir per echo $sql ausgeben und trag das in z.B. PhpMyadmin ein, dann siehst du den Fehler am ehesten.

Der Code zeigt auch immer dein Formular an und keinerlei Erfolgsmeldung.
PHP:
if (isset ($_POST['message']) and ($_POST['message'] != "") 
{
  $message = $_POST ['message'];
  $sql = mysql_query("UPDATE `news` SET `content` = '".$message."'");  

  echo    '<html>
            <head>
            <title>Newsfeed vom Musikbrunnen</title>
            <link rel="stylesheet" type="text/css" href="stdStyle.css" />
            </head>
            <body id="body">
             <h1 style="color: #ff4310;">Eintrag Erfolgreich</h1>
             <p>
              <form action="news.php" method="post">
                <input type="hidden" name="message" value="">
                <input type="submit" value="Neuer Eintrag" />
              </form>
             </p>
            </body>
           </html>'; 
}

else
{
  echo    '<html>
            <head>
            <title>Newsfeed vom Musikbrunnen</title>
            <link rel="stylesheet" type="text/css" href="stdStyle.css" />
            </head>
            <body id="body">
              <h1 style="color: #ff4310;">Newsfeed vom Musikbrunnen</h1>
              <form action="news.php" method="post">
                <input name="passwort" type="hidden" value="'.$passwort.'">
                <p style="color: #ff4310;">Eintrag: 
                  <input name="message" size="100" type="text" value="'.$news[0].'">
                  <br />
                  <input type="submit" value="Okay" />
                </form>
               </p>
              </body>
            </html>'; 
}

Deine <p>`s sind nicht richtig gesetzt, jag das durch den Validator und setz sie richtig, bring den Code in Form, man findet dann leichter was wann wo....
 
Werbung:
Danke für die Hilfe. Es hat dann doch endlich funktioniert. Nur leider habe ich vergessen wo ich dann den fertigen Code gelassen habe...
 
Zurück
Oben