PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MYSQL / PHP Problem - Daten werden nicht eingetragen



4n4rchis7
30.07.2008, 07:36
Also ich habe zZ folgendes Problem:
Wenn ich bei meinem ersten PHP Script (Post.php) ne Nachricht eintrage und dann mittels form auf mein andres Script verweise, dann wird kein Eintrag erstellt. Dabei müsste ich eigentlich alles angegeben haben, was nötig ist.

Hier die 2 Scripts:
Post.php

<html>
<head>
<title> Neue Nachricht </title>
</head>
<body>
<form action = "valid.php" method="post">
Autor:
<input name = "Autor">



Titel:
<input name = "Titel">



Nachricht:
<textarea cols = "50" rows = "10" name="Inhalt">
</textarea>



<input type = "submit" value = "Nachricht erstellen">
<input type = "reset" value = "Zurücksetzen!">
</form>
</body>
</html>


und hier mein 2. Script, Valid.php:


<html>
<head>
<title> Neue Nachricht </title>
</head>
<body>
<?php
error_reporting(E_ALL);
include 'inc/config.php';

@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("<font color=red>Es konnte keine Verbindung zur Datenbank hergestellt werden!
Bitte versuchen sie es zu einem späteren Zeitpunkt erneut!
Fehlermeldung: ".mysql_error()."</font>");
//
mysql_select_db(MYSQL_DATABASE) OR die("<font color=red>Datenbank konnte nicht ge&ouml;ffnet werden.
Fehlermeldung:".mysql_error()."</font>");
//
echo "\n
<font color=green>Datenbank ge&ouml;ffnet!</font>
";
//
mysql_query("
INSERT INTO News
(Titel, Inhalt, Datum, Autor)
VALUES
($Titel,
$Inhalt,
NOW(),
$Autor
);
");
echo "Nachricht erstellt.";

$sql = "SELECT
Titel,
Inhalt,
Datum,
Autor
FROM
News
ORDER BY
Datum DESC;";
//
$result = mysql_query($sql) OR die(mysql_error());
echo "huhu!";

?>
</body>
</html>


Wenn ich bei meinem ersten Script auf Nachricht absenden drücke, werde ich auf meine valid.php umgeleitet.

Irgendwie hab ich das Gefühl, dass ich auf m Schlauch stehe :roll: , weil ich einfach keine Ahnung hab wo der Fehler noch sein könnte. Wenn er irgendwo noch ist, dann am Anfang vom zweiten Script oder im ersten Script.

MFG Glookie1

Lidloses_Auge
30.07.2008, 09:10
WIe wärs damit, erstmal den POST Parameter rauszuziehen? ;)
Seh ich bei dir nirgends.

enco
30.07.2008, 09:23
Richtig, du benutz zwar die Variablen $Titel, $Inhalt und $Autor, weist denen aber nirgends einen Wert zu ;-)
Schreibe am Anfang einfach folgendes:
$Titel = $_POST['Titel'];
etc ...
Dann klappt es auch.

4n4rchis7
30.07.2008, 09:25
thx werds sofort mal ausprobieren und schreib dann obs funktioniert hat

mfg glookie1

€dit:

Daran liegts nicht. Ich übergebe den Text ja über Post, sodass er nicht über die Url übergeben wird. Außerdem habe ich festgestellt, dass wenn ich die echo "$Inhalt"; eingebe der Inhalt auch ohne $Inhalt = $_POST['Inhalt']; ausgegeben wird (der richtige :D ).
Ich vermute, dass es an einem der mysql_querys liegt, bin mir jedoch nicht sicher, die Datenbank ist auch erstellt, er erstellt jedoch einfach keine neuen Beiträge -.-*

Na ja werd mir den Code noch mal genau angucken und den Fehler suchen.
Wäre trotzdem froh, wenn mir jemand mal sagen könnte wo der Fehler liegt.

€dit2:

Der Fehler war, das man $Inhalt in Anführungszeichen setzten musste \"$Inhalt\", dann gehts.

Noch mal THX an alle die mitgeholfen haben.

mfg glookie1

L!x
30.07.2008, 10:02
kanst du mir das Projekt mal per PM zukommen lassen? Lerne Gerade php Und ich würd mir das jetzt mal ankuken. Danke

echoslider
31.07.2008, 19:01
$time=time();



mysql_connect($dbhost,$dbuser,$dbpass);

@mysql_select_db($db) or die( "Unable to select database");

$query = "INSERT INTO `users` (aktiv,rechte,username,password,email,anmeldung,be sonderheiten,newsletter,layer) VALUES ('1','1','$user','$pass','$email','$time','no limit','no','1')";

mysql_query($query);

mysql_close();


das sollte dir helfen. musste nur anpassen. so muss die syntax aussehen.

natürlich noch per $x=$_POST['x'];

die variable "füllen"