Zum Inhalt springen

PHP/MySQL Gästebuch absenden und aktualiseren und weiteres Probleme


Empfohlene Beiträge

Geschrieben

Hi,

hab folgende Probleme:

Wenn ich auf meiner Homepage im gästebuch einen Eintrag absende kommt folgende Meldung:

Warning: Cannot modify header information - headers already sent by (output started at /users/xxxxxxr/www/gbook.php:89) in /users/xxxxxx/www/gbook.php on line 143

Wenn ich die Seite aktualisiere kommt erst der Eintrag. Drück ich allerdings zweimal den Senden-Button kommt der Eintrag nochmal.

Wie oben schon gesehen hab ich die Header-Funktion benutzt.

Und hier mal der Quellcode des Formulars:

<table>

<form method="post" action="gbook.php">

<h5>Name:</h5>

<tr><input type="text" name="name" value="" /></tr><br />

<h5>E-Mail:</h5>

<tr><input type="text" name="email" value="" /></tr><br />

<h5>Beitrag schreiben(maximal 250 Zeichen):</h5>

<tr><textarea name="beitrag" cols="30" rows="6"></textarea> </tr><br /><br />

<tr><input type="submit" name="button" value=" Abschicken " /></tr>

</form>

</table>

$server_connect = mysql_connect($server, $user, $password)

or die("Verbindung nicht erfolgreich.");

$db_connect = mysql_select_db("db")

or die("Verbindungsprobleme zur Datenbank.");

$sql = "SELECT name AS Name, email AS Email, beitrag AS Beitrag FROM gb";

$abfrage = mysql_query($sql);

if ($abfrage == TRUE) {

$anz_daten = mysql_num_rows($abfrage);

?>

<div id="gbook2">

<?php

while($ergebnis = mysql_fetch_array($abfrage, MYSQL_ASSOC)) {

//pre($ergebnis);

echo "<h5>Name: " . $ergebnis['Name'] . "</h5><br />";

echo "<h5>E-Mail: " . $ergebnis['Email'] . "</h5><br />";

echo "<h5>Name: " . $ergebnis['Beitrag'] . "</h5><br /><hr />";

}

?>

</div>

<?php

} else {

echo "\nAbfrage nicht erfolgreich.<br />";

echo "MySQL-Fehler: " . mysql_error();

}

if (ISSET($_POST['name'])) {

$name = $_POST["name"];

$email = $_POST["email"];

$beitrag = $_POST["beitrag"];

$eintrag = "INSERT INTO gb (name, email, beitrag)

VALUES ('$name', '$email', '$beitrag')";

$result = mysql_query($eintrag);

header("Location: http://link zum gästebuch.php");

}

?>

Geschrieben

<?php
$server_connect = mysql_connect($server, $user, $password)
or die("Verbindung nicht erfolgreich.");

$db_connect = mysql_select_db("db")
or die("Verbindungsprobleme zur Datenbank.");


if (ISSET($_POST['name'])) {
$name = $_POST["name"];
$email = $_POST["email"];
$beitrag = $_POST["beitrag"];



$eintrag = "INSERT INTO gb (name, email, beitrag)
VALUES ('$name', '$email', '$beitrag')";
$result = mysql_query($eintrag);
header("Location: http://link zum gästebuch.php");

}
?>
<table>
<form method="post" action="gbook.php">
<h5>Name:</h5>
<tr><input type="text" name="name" value="" /></tr><br />
<h5>E-Mail:</h5>
<tr><input type="text" name="email" value="" /></tr><br />
<h5>Beitrag schreiben(maximal 250 Zeichen):</h5>
<tr><textarea name="beitrag" cols="30" rows="6"></textarea> </tr><br /><br />
<tr><input type="submit" name="button" value=" Abschicken " /></tr>

</form>
</table>

<div id="gbook2">
<?php


$sql = "SELECT name AS Name, email AS Email, beitrag AS Beitrag FROM gb";

$abfrage = mysql_query($sql);
if ($abfrage == TRUE) {
$anz_daten = mysql_num_rows($abfrage);


while($ergebnis = mysql_fetch_array($abfrage, MYSQL_ASSOC)) {
//pre($ergebnis);
echo "<h5>Name: " . $ergebnis['Name'] . "</h5><br />";
echo "<h5>E-Mail: " . $ergebnis['Email'] . "</h5><br />";
echo "<h5>Name: " . $ergebnis['Beitrag'] . "</h5><br /><hr />";

}

?>
</div>


<?php
} else {
echo "\nAbfrage nicht erfolgreich.<br />";
echo "MySQL-Fehler: " . mysql_error();
}


?>[/PHP]

Geschrieben

Aus dem Code kann ich nicht erkennen, warum der vorherige Beitrag ein zweites mal gesendet werden sollte? Was bedeutet übrigens ein zweites mal gesendet?


$sql = "SELECT name AS Name, email AS Email, beitrag AS Beitrag FROM gb";

$abfrage = mysql_query($sql);
if ($abfrage == TRUE) {
[/php]

Schau dir mal die Doku zu mysql_query an, was bei einem Select Statement im Erfolgsfall zurück geliefert wird. Das ist kein Boolean.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...