Gästebuch Problem

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Orther
Mitglied
Beiträge: 24
Registriert: 16.10.2003 16:14
Wohnort: Lüneburg
Kontaktdaten:

Gästebuch Problem

Beitrag von Orther »

Hallo, ich bin noch recht neu in PHP und habe mir versucht ein simples Gästebuch zu machen. Soweit kein Problem. Nur aus irgendeinem für mich nicht verständlichen Grund kann ich keine neuen Beiträge hinzufügen. Könnt ihr mir vielleicht helfen und mir sagen, was ich falsch gemacht habe? Hier mal der Code:

Code: Alles auswählen

if (isset($_POST["gesendet"])) 
{ 
// Verbindung zur Datenbank herstellen 

$db = mysql_connect("hostname", "benutzername", "passwort"); 
// Datenbank auswählen 

mysql_select_db("dbname");

$sql = "INSERT INTO guestbook (name, kontakt, page, icq, kommentar, Datum) VALUES " 
		."('" . $_POST["name"] . "','" . $_POST["kontakt"] . "','" . $_POST["page"] . "','"
		. $_POST["icq"] . "', '" . $_POST["kommentar"] . "','NOW())'";

mysql_query($sql);

 $num = mysql_affected_rows();
 if ($num>0)
 echo "Es wurde 1 Datensatz hinzugefügt<p>";
 else
 {
 echo "Es ist ein Fehler aufgetreten, ";
 echo "es wurde kein Datensatz hinzugefügt<p>";
 }
// Datenbankverbindung schliessen
 mysql_close($db);
 }
 else
 {
echo "Geben Sie einen vollständigen Datensatz ein und senden Sie das Formular ab:";
echo "<form action=gbeintragen.php method=post>";
echo "<input name=name> Name<p>";
echo "<input name=kontakt> E-Mail<p>";
echo "<input name=page> Homepage<p>";
echo "<input name=icq> ICQ<p>";
echo "<textarea name=kommentar></textarea> Kommentar<p>";
echo "<input type=submit name=gesendet>";
echo "<input type=reset>";
echo "</form>";
}
?>
Das Problem ist, dass er immer den Fehler "Es ist ein Fehler aufgetreten, es wurde kein Datensatz hinzugefügt" anzeigt.

Ich würde mich echt freuen wenn ihr mir helfen könntet.

Orther
Die Intelligenz verfolgt mich - doch ich bin schneller
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

AmShaegar
Mitglied
Beiträge: 408
Registriert: 09.07.2004 17:33

Beitrag von AmShaegar »

Code: Alles auswählen

// Verbindung zur Datenbank herstellen 

$db = mysql_connect("hostname", "benutzername", "passwort"); 
sind das wirklich die daten, dei du eingegeben hast, oder hast du die nur geändert, damit keiner deine daten erkennt?

ich glaube nämlich nicht, dass dein passwort "passwort" ist...

für mich sieht das so aus, dass du keine verbindung zur datenbank aufbauen kannst.

versuch mal folgendes:

Code: Alles auswählen

$db = mysql_connect("hostname", "benutzername", "passwort") or die("Keine Verbindung möglich");
Wenn du dies(Keine Verbindung möglich) als ausgabe bekommst, beim anzeigen der seit, dann kannst du keine verbindung zur datenbank aufbauen...
Orther
Mitglied
Beiträge: 24
Registriert: 16.10.2003 16:14
Wohnort: Lüneburg
Kontaktdaten:

Beitrag von Orther »

Danke für den Tip, doch leider kommt immernoch nur die Meldung, dass kein Datensatz hinzugefügt wurde. Der Link von Pyramide konnte mir auch nicht helfen, da ich das um ehrlich zu sein nicht richtig verstanden habe :oops:

Orther
Die Intelligenz verfolgt mich - doch ich bin schneller
AmShaegar
Mitglied
Beiträge: 408
Registriert: 09.07.2004 17:33

Beitrag von AmShaegar »

und, was ist denn nun? hast du das mit genau diesem script versucht??? ohne da irgendetwas zu ändern? und erhälst du die nachricht Keine verbindung möglich???

oder andersd gefragt: hast du überhaupt eine MySql-Datenbank????
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Wie wärs mit Debugging oder sich einen Dienstleister suchen :roll:

aus:

Code: Alles auswählen

mysql_query($sql);
wird ein

Code: Alles auswählen

@mysql_query($sql) or die ('SQL-ERROR: '.mysql_error());
Abgesehen davon sollte hier ein SQL Fehler vorliegen der Syntax betreffend erwarte ich ein

Code: Alles auswählen

echo $sql;
vor mysql_query();

Ansonsten bei jeder Mysql-Funktion das

or die(mysql_error());

anhängen.......


-> Und nun dein Part.....
Antworten

Zurück zu „Coding & Technik“