Problem bitte helft mir
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ahnung
anzeigen
apache
befehl
befehlen
besserwisser
date
error
feedback
fehler
gen
inhalt
insert
klammern
kommentar
meinung
result
spalten
test
versuchen
-
Diese Seite findet ihr unter http://possessor.de/feedback/feedback.php
Wo ist der fehler??
<?php
$dbhost = '*******';
$dbname = '*****';
$dbuser = '*****';
$dbpasswd = '******';
$db_link = @mysql_connect($dbhost,$dbuser, $dbpasswd);
if (!$db_link) {
echo $error[0];
die('Fehler beim Verbinden');
}
$db_select = @mysql_select_db($dbname);
if (!$db_link) {
echo $error[1];
die('Fehler beim DB-ausw?hlen');
}
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">Ihr Kommentar:<br>
<textarea cols="55" rows="4" wrap="soft" name="comment"></textarea><br>
Ihr Name:<br>
<input type="text" name="name"><br>
<input type="submit" value="Absenden"></form>
<h3>Bisherige Meinungen</h3>
<?php
// ?berpfr?fung f?r Kommentar und Namen
if (isset($comment) && $name != "") {
// Datum ermitteln und formatieren
$datum=date("j.n.Y");
// HTML-Zeichen maskieren, Slashes entfernen, Zeilenumbr?che erhalten
$comment=htmlspecialchars($comment);
$comment=stripslashes(nl2br($comment));
//schreib in die Datenbank
mysql_query("insert into `feedback` (`ID`, `Name`, `Kommentar`, `Zeit`) VALUES ('', '$name', '$comment', UNIX_TIMESTAMP())");
}
//anzeigen des Inhaltes
$result = mysql_query("select * from `feedback`");
while ($array = mysql_fetch_array($result)) {
echo "<b>$array[name]</b> schrieb am $array[zeit]:<br>$array[kommentar]<br><br>";
}
?> -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Fehler Nr. 1:
mysql_query("insert into `feedback` (`ID`, `Name`, `Kommentar`, `Zeit`) VALUES ('', '$name', '$comment', UNIX_TIMESTAMP())");
Richtig Nr.1:
$ustamp = date("U");
mysql_query("INSERT INTO feedback ( Name, Kommentar, Zeit) VALUES ('$name', '$comment', '$ustamp'");
Der Befehl unix_timestamp ist der gleiche wie date("U"). Die Ausageb sollte bei solchen Befehlen nach M?glichkeit im Vorraus verarbeitet sein. Au?erdem werden die Tabellenspaltennamen nicht in Anf?hrungsstriche gesetzt! ID wurde weggenommen, weil der Befehl ?berfl?ssig ist! Au?erdem war da eine )-Klammer zuviel hinter unix...
Fehler 2:
$result = mysql_query("select * from `feedback`");
Richtig:
$result = mysql_query("SELECT * FROM feedback");
Das gleiche nochmal mot den Tabellenspaltennamen!
Ich hoffe, ich habe alles gefunden!
-
Was ist den jetzt noch falsch?
<?php
$dbhost = '';
$dbname = '';
$dbuser = '';
$dbpasswd = '';
$db_link = @mysql_connect($dbhost,$dbuser, $dbpasswd);
if (!$db_link) {
echo $error[0];
die('Fehler beim Verbinden');
}
$db_select = @mysql_select_db($dbname);
if (!$db_link) {
echo $error[1];
die('Fehler beim DB-ausw?hlen');
}
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">Ihr Kommentar:<br>
<textarea cols="55" rows="4" wrap="soft" name="comment"></textarea><br>
Ihr Name:<br>
<input type="text" name="name"><br>
<input type="submit" value="Absenden"></form>
<h3>Bisherige Meinungen</h3>
<?php
// ?berpfr?fung f?r Kommentar und Namen
if (isset($comment) && $name != "") {
// Datum ermitteln und formatieren
$datum=date("j.n.Y");
// HTML-Zeichen maskieren, Slashes entfernen, Zeilenumbr?che erhalten
$comment=htmlspecialchars($comment);
$comment=stripslashes(nl2br($comment));
//schreib in die Datenbank
$ustamp = date("U");
mysql_query("INSERT INTO feedback ( Name, Kommentar, Zeit) VALUES ('$name', '$comment', '$ustamp'");
}
//anzeigen des Inhaltes
$result = mysql_query("SELECT * FROM feedback");
while ($array = mysql_fetch_array($result)) {
echo "<b>$array[name]</b> schrieb am $array[zeit]:<br>$array[kommentar]<br><br>";
}
?> -
rofl wieder so ein besserwisser der keine ahnung hat! tztztz
die `geh?ren sehr wohl hin versuch mal was in eine spalte mit dem namen test-geht-net einzuf?gen!!!
und das mit dem unixtimestamp kann man machen wie man will ob das nun der mysql server ?bernimmt oder der apache das ist so wurst wie sonstwas!
ist ID auf auto_increment gesetzt?
erstetz mal $name durch $_POST['name'] das selbe bei comment!
-
mysql_query("INSERT INTO feedback ( Name, Kommentar, Zeit) VALUES ('$name', '$comment', '$ustamp'");
ahh da fehlt ne klammer
so ists richtig:
mysql_query("INSERT INTO `feedback` (`ID`, `Name`, `Kommentar`, `Zeit`) VALUES ('', '$name', '$comment', '$ustamp')");
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage