• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gästebuch funktioniert nicht

Status
Für weitere Antworten geschlossen.

THE_fan

Neues Mitglied
Servus :)

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("'", '&acute;', $_POST['eintrag']);
			$_POST['eintrag'] = str_replace('"', '&quot;', $_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());
	}

?>
<span class="title">» <b>Gästebuch</b></span>
  <div id="content">
	<span class="title">Neuer Eintrag</span><br><br>
	<form method="post">
	<table border="0" width="400px" align="center">
	 <tr>
.....

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'<center>Keine Einträge vorhanden</center><br><br>&nbsp;';
	else{
		if($_GET['site'] == 1) $zurueck = $_GET['site'];
		else $zurueck = $_GET['site']-1;
		$vorwaerts = $_GET['site']+1;
		if($_GET['site'] > 1 )echo'<a href="?action=gb/index&site='.$zurueck.'" title="Zur&uuml;ck">Eine Seite zurück <img src="./img/zurueck.gif" alt="zurueck" border="0"></a>&nbsp;&nbsp; ';
		if($s4 > $_GET['site'] and $s4 != $_GET['site']) echo'<img src="./img/vor.gif" alt="vor" border="0"> <a href="?action=gb/index&site='.$vorwaerts.'" title="Vorw&auml;rts">Eine Seite vor</a>';
		echo'<br><br>';


		while($res = mysql_fetch_array($result))
		{
		echo'<table border="0" width="550px" cellpadding="2" cellspacing="2">
		  <tr>
			<td  style="background:#000000;" colspan="2"><span style="color:#ffffff;font-size:10pt;">';if($res['ueberschrift'] == true){ echo'<b>'.$res['ueberschrift'].'</b>';}else{ echo'<i>Keine Überschrift</i>';}echo'</span></td>
		  </tr>
		  <tr>
			<td width="150px" valign="top" style="background:#1a1a1a;"><span style="color:#ffffff;font-size:8pt;">';if($res['name'] == true){ echo'<b>'.$res['name'].'</b>';}else{ echo'<i>Anonym</i>';}echo'<br>';echo date("d.m.Y", $res['date']);echo'</span></td>
			<td width="400px" valign="top" style="background:#1a1a1a;"><span style="color:#ffffff;font-size:9pt;">'.$res['eintrag'].'</span></td>
		  </tr>
		  <tr>
		   <td colspan="2"><span style="color:#ffffff;font-size:8pt;border-top:1px solid #FF3E96;"> <a href="'.$res['www'].'" target="_blank">Homepage</a> | <a href="mailto:'.$res['email'].'">E-Mail</a> | ICQ: '.$res['icq'].'</span></td>
		  </tr>
		</table><br><br>';
	  	}
	}
?>

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);
?>
(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 ;)
 
Zuletzt bearbeitet:
Werbung:
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:
<form action="newentry.php" method="post">
...
<input type="hidden" name="send" value="yes">
...
Und dann beim php teil:
PHP:
if($_POST['send'] == "yes" && $_POST['text'] != "")
{
   ...

greez web_spider :D
 
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 :) !
 
Werbung:
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 :) !

looool...
sowas habe ich ja noch nie gehört oO
du brauchst kein <form></form>....
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 <form></form> brauch? Nein!
Lern richtig lesen, ich schrieb, dass ich die action="" nicht brauch.

Man man man ^^

Und vielen Dank für deine Hilfe..
 
Schrieb ich, dass ich kein <form></form> 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?
 
Werbung:
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
 
Okay, nun klappt es.

Hatte noch das
PHP:
if($_POST['send'] == "yes" && $_POST['text'] != "")
{
   ...
von Web_spider drin, das wohl nicht funktionierte.

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

MfG
 
Werbung:
Okay, nun klappt es.

Hatte noch das
PHP:
if($_POST['send'] == "yes" && $_POST['text'] != "")
{
   ...
von Web_spider drin, das wohl nicht funktionierte.

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

MfG

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

PHP:
if($_POST['send'] == "yes" && $_POST['text'] != "")
{
   ...

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
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben