Gästebuch mit sql

FAD

Mitglied
Brauche Hilfe...
Ich habe ein Flash Gästebuch, was die Eintäge mit Hilfe eines php-Scripts in eine Textdatei speichert. Da sganze funktioniert auch gut.

Da ich jetzt aber dabei bin ein Content Managment System für die Seite einzurichten, habe ich vor das ganze auf sql umzustellen.
Das sollte eigentlich ja zu machen sein. Leider funktioniert das ganze nicht so richtig ;(

Der Flashfilm sendet folgendes an die php-Datei:

PHP:
on (release) {
	if (Email.indexOf("@") != -1 && Email.indexOf(".") != -1 && Name != "" && Comments != "") {
		Submit = "Yes";
		NumHigh = 10;
		NumLow = 0;
		loadVariables("GuestBook.php", scrollTF, "POST");
		mc.Status = "Viele Dank für Deinen Eintrag";
	}
	if (Name == "") {
		mc.Status = "Dein Name fehlt!";
	}
	if (Comments == "") {
		mc.Status = "Dein Eintag fehlt!";
	}
	if (Email.indexOf("@") == -1 || Email.indexOf(".") == -1) {
		mc.Status = "Falsche email";
	}
}

In der php-Datei steht folgendes:

PHP:
<?
$Name = addslashes($Name);
$Email = addslashes($Email);
$Comments = addslashes($Comments);
$Today = time();
require("mysql.connect.php");
$sqlkommando = "INSERT INTO gaestebuch (Name, Email, Comments, Date) VALUES ('$Name', '$Email', '$Comments', '$Today')"; 
mysql_query($sqlkommando) or die("Error: " . mysql_error());
?>

Eigendlich sollte das die Einträge in die sql Datenbank speichern. Macht es aber nicht.
Bin leider noch nicht so der Mega php Profi.
 
Hi,

du hast ja or die(); drin, gibt er denn ein Error aus?
Hast du überhaupt ne verbindung zur Datenbank?
Wie sieht denn deine mysql.connect.php aus?

Gruß,
Snowowl
 
In der mysql.connect.php sind die Zugangsdaten für die sql Datenbank. Das sollte funktionieren. Habe ich vorher schon mit nem anderen Script ausprobiert.

Die Fehlermeldung wir nicht ausgegeben, da ich das ganze ja aus einem Flashfilm anspreche.
 
Hi,
poste hier mal bitte die mysql.connect.php.
Ansonsten probier es mal so:
PHP:
<?
$Name = addslashes($Name);
$Email = addslashes($Email);
$Comments = addslashes($Comments);
$Today = time();
require("mysql.connect.php");
$sqlkommando = "INSERT INTO gaestebuch (Name, Email, Comments, Date) VALUES ('$Name', '$Email', '$Comments', '$Today')"; 
if (!$sqlkommando) {
   die("Error: " . mysql_error());
}
?>

Gruß,
Snowowl
 
Falls das Dokument per Post-Methode versandt wird, probier mal Folgendes:
PHP:
<?php

	require 'mysql.connect.php';


	if( !empty($_POST) ) {
		$query = '
			INSERT INTO
			        `gaestebuch`
			  SET
			        `Name`     = "'.mysql_real_escape_string($_POST['Name']).'",
			        `Email`    = "'.mysql_real_escape_string($_POST['Email']).'",
			        `Comments` = "'.mysql_real_escape_string($_POST['Comments']).'",
			        `Date`     = "'.time().'"
			';
		mysql_query($query)
			or die('Error: '.mysql_error());
	}

?>
Falls die Daten per Get-Methode übertragen werden – was ich dir übrigens absolut nicht empfehle – müsstest du lediglich „_POST“ durch „_GET“ ersetzen.
 
Also irgendwie eht das auch net.
Hier is mal die mysql.connect.php
PHP:
<?php

$mysqlhost="localhost";
$mysqluser="...";
$mysqlpwd="...";
$mysqldb="...";

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");

?>
 
Hi,
hast du es mal so in einer php Datei probiert? Also ihne Flash?
Sollte dies gehen, liegt das Problem bei Flash.
Gruß,
Snowowl
 
Juhu hab den Fehler gefunden. Danke euch. Jetzt geht´s ;)

Nur das mit dem Datum funktioniert noch nicht. Lieg bestimmt am den Spalten-Typ der sql Datenbank. Weis jemand auf was man das stellen muss, dass das mit dem Script funktioniert?
 
Hi,
also entweder du machst den spalten typ als datetime oder wandelst das datum als Unix Zeitformat um.
Gruß,
Snowowl
 
Zurück