Homepage selbermachen 7.851 Themen, 35.615 Beiträge

Wichtig @ Thomas Wölfer

T E S T E R / 7 Antworten / Flachansicht Nickles

Hi, ich habe das Gästebuchscript von dir ausprobiert und
es funktioniert nicht:

Statt dem eintrag, der eigentlich kommen sollte, kommt das
hier:

Fehler beim eintragen: insert into gaestebuch ( datum, name, email, text) values( NOW(), \'tz\', \'hgf\', \'hg\')
Fehler beim query: select DATE_FORMAT(datum,\'%d.%m.%Y\') as date,name,email,text from gaestebuch order by id desc

keine Ahnung was das soll

Hier der komplette Script den ich verwendet habe, wäre echt super, wenn du mir helfen könntest:

<?php



$DB_NAME = "meine tabelle, die auch \'gaestebuch\' heisst";
$DB_USERNAME = "mein username";
$DB_PASSWORD = "mein passwort";



$DB_TABLE_NAME = "gaestebuch";
$DB_SERVER = "localhost";




function DoForm()
{
print \'<form action=gaestebuch.php>\';
print \'Name: <input type=text name=name width=20><br>\';
print \'eMail: <input type=text name=email width=20><br>\';
print \'Dein Kommentar:<br>\';
print \'<textarea name=text cols=20 rows=5></textarea><br>\';
print \'<input type=hidden name=cmd value=enter>\';
print \'<input type=submit value=Eintragen>\';
print \'</form>\';
}




function InsertData( $name, $email, $text)
{

global $DB_NAME;
global $DB_USERNAME;
global $DB_PASSWORD;
global $DB_TABLE_NAME;
global $DB_SERVER;


$c = mysql_connect( $DB_SERVER, $DB_USERNAME, $DB_PASSWORD);


$s = "insert into $DB_TABLE_NAME ( datum, name, email, text) values( NOW(), \'$name\', \'$email\', \'$text\')";


$r = mysql_db_query( $DB_NAME, $s, $c);


if( ! $r) print "<b>Fehler beim eintragen: $s </b><br>";
}



function ListContent()
{

global $DB_NAME;
global $DB_USERNAME;
global $DB_PASSWORD;
global $DB_TABLE_NAME;
global $DB_SERVER;


$c = mysql_connect( $DB_SERVER, $DB_USERNAME, $DB_PASSWORD);


if( ! $c) print \'CONNECT FAILED<br>\';


$s = "select DATE_FORMAT(datum,\'%d.%m.%Y\') as date,name,email,text from " . $DB_TABLE_NAME . " order by id desc";


$r = mysql_db_query( "nickles", $s, $c);


if( ! $r) print "<b>Fehler beim query: $s </b><br>";
else
{

$n = mysql_num_rows( $r);


for( $i=0; $i<$n;$i++)
{

$o = mysql_fetch_object( $r);


print "Von <a href=mailto:$o->email>$o->name</a> am $o->date:<br>";
print $o->text;
print \'<br><br><hr size=1>\';
}
}
}




print \'<html><head><title>Mein Gaestebuch</title></head><body>\';

print \'<h2>Hallo auf meinem Gästebuch! Tragt doch auch was ein!</h2><hr size=1>\';


DoForm();


if( IsSet( $cmd)) InsertData( $name, $email, $text);


ListContent();


print \'</body></html>\';

?>

bei Antwort benachrichtigen
thomas woelfer T E S T E R „Hi, hmmm also die von mir angegebenen Daten stimmen, denn das script habe ich...“
Optionen

naja, wenn die tabelle im phpmyadmin angezeigt wird, dann ist sie auch da - mehr gibts da eigentlich nicht zu testen. ich vermute, das die anpassung ganz oben im script nicht richtig ist. da steht bei dir folgendes drin:

$DB_NAME = "meine tabelle, die auch 'gaestebuch' heisst";
$DB_USERNAME = "mein username";
$DB_PASSWORD = "mein passwort";
$DB_TABLE_NAME = "gaestebuch";
$DB_SERVER = "localhost";

- und das ist nicht richtig. unter $DB_NAME muss der name der _datenbank_ stehen und nicht der name der tabelle. ferner kann es sein (das kann ich aber ohne zugangsberechtigung natuerilch nicht ueberpruefen), das der $DB_SERVER eben nicht 'localhost' sondern ein anderer rechner ist. beides kann man im phpMyAdmin kurz nachsehen: der 'rechnername' steht unter der willkommens-seite MySQL 3.23.37 auf localhost' - in dem fall ist das richtig.... der datenbank-name steht im linken bereich direkt unter 'home', also oberhalb des namens des gaestebuches.

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen