Gästebuch funktioniert nicht

Servus :slight_smile:

Ich habe folgendes Problem:

Ich habe mir. mit Hilfe von Freunden, ein eigenes Gästebuch programmiert.
Zuerst hatte ich es in meinem Portfolio laufen. Nun bin ich dabei eine Seite von mir und meiner Freundin zu bauen und möchte dort das Gästebuch wieder einsetzen.
Es klappt auch fast alles wunderbar. Das Gästebuch wird angezeigt, die schon damals eingetragenen Einträge werden angezeigt, etc pp.

Wenn ich nun versuche einen Eintrag zu machen, aktualisiert sich die Seite bzw die Formulare - das war’s.

Es wird nichts in die DB geschrieben, nichtmal die trueentry.php wird aufgerufen („Vielen Dank für dein Eintrag…“).

Die DB ist die gleihc geblieben.
Der Webspace ist der gleiche.
Deshalb verstehe ich nicht, wieso das nicht funktioniert.
Ich habe fast nichts an der Datei geändert.

newentry.php
[php]

<?php include'config.inc.php'; if($_POST['send'] && $_POST['text'] == true) { $_POST['eintrag'] = str_replace(";", ".", $_POST['eintrag']); $_POST['eintrag'] = str_replace("'", '´', $_POST['eintrag']); $_POST['eintrag'] = str_replace('"', '"', $_POST['eintrag']); $_POST['eintrag'] = nl2br($_POST['eintrag']); $sql = "INSERT INTO gbook (name, eintrag, www, icq, email, ueberschrift, date) VALUES ('".$_POST['name']."', '".$_POST['eintrag']."', '".$_POST['www']."', '".$_POST['icq']."', '".$_POST['email']."', '".$_POST['ueberschrift']."', '".time()."')"; $query = mysql_query($sql) or die(mysql_error()); } ?>

» Gästebuch

Neuer Eintrag

..... [/php]

index.php
[php]

<?php include'config.inc.php'; $ppp = 5; //Posts per page $akt_site = $_GET['site']; //Aktuelle Seite $entry_ids_start = ($akt_site * $ppp) - 5; $entry_ids_ende = $entry_ids_start; $result = mysql_query("SELECT id, name, eintrag, www, icq, email, ueberschrift, date FROM gbook ORDER BY date DESC LIMIT ".$entry_ids_start.",".$ppp." ") or die (mysql_error()); $eintraege = mysql_query("SELECT count(id) as anz FROM gbook") or die (mysql_error()); $count = mysql_fetch_array($eintraege); if(!$s3 = strrpos((int)$count['anz'] / $ppp,".")) $s4 = $count['anz'] / $ppp; else $s4 = substr((int)$count['anz'] / $ppp,0,$s3) +1; if($count['anz'] == 0) echo'Keine Einträge vorhanden

 '; else{ if($_GET['site'] == 1) $zurueck = $_GET['site']; else $zurueck = $_GET['site']-1; $vorwaerts = $_GET['site']+1; if($_GET['site'] > 1 )echo'Eine Seite zurück zurueck   '; if($s4 > $_GET['site'] and $s4 != $_GET['site']) echo'vorEine Seite vor'; echo'

'; while($res = mysql_fetch_array($result)) { echo'
';if($res['ueberschrift'] == true){ echo''.$res['ueberschrift'].'';}else{ echo'Keine Überschrift';}echo'
';if($res['name'] == true){ echo''.$res['name'].'';}else{ echo'Anonym';}echo'
';echo date("d.m.Y", $res['date']);echo'
'.$res['eintrag'].'
Homepage | E-Mail | ICQ: '.$res['icq'].'


'; } } ?>

[/php]

config.inc.php
[php]

<?php mysql_connect('localhost', 'username', 'password'); mysql_select_db('db_name'); error_reporting(E_ALL ^ E_NOTICE); ini_set("display_errors",1); ?>

[/php]
(Natürlich steht hier mein Username, das PW und der Datenbankname drin)

Ansehen könnt ihr euch das Problem unter gelöscht, da nur sinnlos blöde Einträge. Danke!

Vielen Dank für die Hilfe!
Und 'nen schönen Abend noch!

MfG
Stefan

/edit: Habe aus [code] mal [php] gemacht :wink:

du hast keine Formaction angegeben, gib dort mal an:
action=„newentry.php“
und dann bin ich mir nicht sicher ob
du bei der if abfrage in Bezug auf $_POST[‚text‘] mit true vergleichen kannst, ich würde es eher so machen:
Voraussetzung:
[HTML]

... ... [/HTML] Und dann beim php teil: [PHP] if($_POST['send'] == "yes" && $_POST['text'] != "") { ... [/PHP]

greez web_spider :smiley:

Eine Formaction brauch ich nicht, da sich die action ja in der selben Datei abspielt. (Habe es ausprobiert)
Und an dem Vergleich liegt es nicht.
Danke schonmal :slight_smile: !

looool…
sowas habe ich ja noch nie gehört oO
du brauchst kein …
es liegt in der gleichen datei… (lächerlich)
dann erklär mir mal bitte wie das script oder der browser erkennen soll das du ein formular hast… ?!?

du brauchst ne action. das formular weiss doch garnet was es machen soll. aussder dem post.
und aussdem: welche fehlermeldung wird denn angzeigt?
wenn ich mir die testseite mal anschaue, dann passiert nix wenn ich auf abschicken klicke…

Schrieb ich, dass ich kein brauch? Nein!
Lern richtig lesen, ich schrieb, dass ich die action=„“ nicht brauch.

Man man man ^^

Und vielen Dank für deine Hilfe…

das habe ich ja gemeint…
und werd nicht direkt so kratzig… wenn du hilfe brauchst musst du auch mit kritik klar kommen.
du brauchst das action…… zum 2.mal: woher soll das script wissen wo und was es machen soll, ausser post?

Es gibt Kritik und beleidigende Kritik „(lächerlich)“. Soviel mal dazu…

Komisch finde ich nun nur, dass es vorher klappte.
Ich sagte ja, dass ich fast nichts an dem Script geändert habe. Damit meinte ich, dass ich nur den Style geändert habe.
Wenn ich in die action „newsentry.php“ eingebe, öffnet sich diese Seite in einem neuen Browserfenster.
Auch wenn ich gb/newsentry.php eingebe, passiert das Selbe. (Da ich gb/index include)

Wie also soll ich das lösen?
Es wurde vorher genauso includet…

Danke

....

so wie du es auch includest :slight_smile:

Okay, nun klappt es.

Hatte noch das
[php]
if($_POST[‚send‘] == „yes“ && $_POST[‚text‘] != „“)
{

[/php]
von Web_spider drin, das wohl nicht funktionierte.

Vielen Dank für die Hilfe.
Entschuldige meinen Ton!

MfG

ach nun klappt es? :slight_smile:
kein thema… (lächerlich) war auch unnötig…

[php]if($_POST[‚send‘] == „yes“ && $_POST[‚text‘] != „“)
{

[/php]

funktoniert auch nur wenn du das hidden feld einsetzt…
solltest du aber machen… wegen der sicherheit!

er hat recht. action braucht man nicht immer. wenn man es braucht, aber auf die gleiche datei verlinkt, geht das mit PHP_SELF oder einer leeren action.

Nils aka XraYSoLo

ich weiß, aber das Attribut action braucht man egal, ob da „“ oder Php self ist.