PHP-Datei sendet nicht an DB

svennson

Erfahrenes Mitglied
Hi,
hab hier nen was geschrieben um Neuigkeiten via mysql in eine Datenbank winzutragen.
Alles wird ausgeführt, nur er trägt die neuen daten leider nicht in die DAtenbank ein.
Eigentlich dürften keine großartigen Fehler enthalten sein, muss wenn das nen Logikfehler sein denke ich. Hab ihn bis jetzt aber noch nicht entdeckt.
Wäre nett, wenn von euch mal wer drüberschaun könnte:
Code:
<?php
include ("checkuser.php");
?>
<html>
<head>
<title>Interne Seite</title>
</head>
<body>
BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>
Nickname: <?php echo $_SESSION["user_nickname"]; ?><br>
Nachname: <?php echo $_SESSION["user_nachname"]; ?><br>
Vorname: <?php echo $_SESSION["user_vorname"]; ?>
<hr>
<?php
mysql_connect("localhost", "Sven", "sven") or die ("mysql_error()");
mysql_select_db("aktuelles") or die ("mysql_error()");

if($_GET['eintrag'] != "")
{
$titel = $_GET['titel'];
$text = $_GET['eintrag'];

$sql = "INSERT INTO themen (topic,text) VALUES ('$titel','$text')";
$senden = mysql_query($sql);
if($senden)
{
echo"Eintrag hinzugefügt!";
}
else
{
echo"Eintrag hinzufügen fehlgeschlagen";
}
}
else
{
?>
<h2>Aktuelles hinzufügen:</h2>
 <form action="" method="post">
 <table>
 <tr><td>Titel:</td></tr>
 <tr><td><input type="text" name="titel" size="50"></td></tr>
 <tr><td>Text:</td></tr>
 <tr><td><textarea name="eintrag" rows="20" cols="100">
</textarea></td></tr>
 <tr>
 <td><input type="submit" value="Absenden"></td>
 <td><input type="reset" value="Löschen"></td>
 </tr>
 </table>
 </form>
<?php
}
?>
<hr>
<a href="logout.php">Ausloggen</a>
</body>
</html>
Danke schonmal im Voraus...

MFG,
Sven
 
PHP:
<?php

	// Erhöhung der Fehler-Sensibilität
	ini_set('display_errors', 1);
	ini_set('error_reporting', E_ALL);

	include 'checkuser.php';
	mysql_connect('localhost', 'Sven', 'sven') or die(mysql_error());
	mysql_select_db('aktuelles') or die(mysql_error());

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>Interne Seite</title>
</head>

<body>
BenutzerId: <?php echo $_SESSION['user_id']; ?><br>
Nickname: <?php echo $_SESSION['user_nickname']; ?><br>
Nachname: <?php echo $_SESSION['user_nachname']; ?><br>
Vorname: <?php echo $_SESSION['user_vorname']; ?>
<hr>
<?php

	if( isset($_POST['eintrag']) && trim($_POST['eintrag'])!='' && isset($_POST['titel']) && trim($_POST['titel'])!='' ) {

		$query = "
			INSERT INTO
			        `themen`
			  SET
			        `topic` = '".mysql_real_escape_string($_POST['titel'])."',
			        `text`  = '".mysql_real_escape_string($_POST['eintrag'])."'
			";
		if( mysql_query($query) ) {
			echo 'Eintrag hinzugefügt!';
		} else {
			echo 'Eintrag hinzufügen fehlgeschlagen!';
		}

	} else {

?>
<h2>Aktuelles hinzufügen:</h2>
 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
 <table>
 <tr><td>Titel:</td></tr>
 <tr><td><input type="text" name="titel" size="50"></td></tr>
 <tr><td>Text:</td></tr>
 <tr><td><textarea name="eintrag" rows="20" cols="100">
</textarea></td></tr>
 <tr>
 <td><input type="submit" value="Absenden"></td>
 <td><input type="reset" value="Löschen"></td>
 </tr>
 </table>
 </form>
<?php

	}

?>
<hr>
<a href="logout.php">Ausloggen</a>
</body>
</html>
 
Zuletzt bearbeitet:
Hmmm,
habs ausprobiert, aber er zeigt keinen Fehler an.
Von diesem Teil kommt auch keine Ausgabe:
PHP:
if($senden)
{
echo"Eintrag hinzugefügt!";
}
else
{
echo"Eintrag hinzufügen fehlgeschlagen";
}
Könnte sein, dass er gar nicht in diesen Bereich kommt, aber dann würde er mir ja das Formular am Anfang nicht anzeigen, wenn halt noch nichts eingetragen ist.
 
Du hast den Fehler gemacht, dass die Formulardaten zwar mit der HTTP-POST-Methode versandt werden, du jedoch GET-Parameter zu verarbeiten versuchst.
 
Zurück