php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.08.2004, 14:31  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard Problem mit meinem Gästebuch

Also ich hab mich vor einigen Tagen mal an die Arbeit gemacht und ein Gästebuch geschrieben. Soweit so gut. Es läuft und die Einträge werden in die Datenbank eingetragen. Wenn ich das Gästebuch aber in meine Seite include und ich möchte etwas eintragen, dann klappt es nicht. Ich komme dann wieder auf die Startseite und es wurde nichts eingetragen.
Hier der Link zur Seite http://www.geosektor.de/beta/gv4/index.php?site=gb
Hier der Link zum Gästebuch http://www.geosektor.de/beta/gv4/gb.php

Und hier der Quelltext:

Zitat:
<?php
// DB Einstellungen

$id = "xxx"; // ID MySQL
$pw = "xxx"; // PW
$host = "localhost"; // Host
$database = "xxx"; // Name der DB
$table = "gb"; // Tabelle

// Verbindung
$conn_id = mysql_connect($host,$id,$pw);
mysql_select_db($database,$conn_id);

// Eintrag speichern

if ($action=="save") {
$datum = time();
$inhalt = $inhalt;
$name = ($name) ? $name : " ";
mysql_query("insert into $table (name,email,open,hp,inhalt,datum) VALUES ('$name','$email','$open','$hp','$inhalt','$datum' )");
header("Location: ".$PHP_SELF);
}

// Ausgabe

?>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="con"><form action="<?php echo $PHP_SELF; ?>" method="post"><tr>
<input type="hidden" name="action" value="save">
<td align="right">Name:</td>
<td><input type="text" name="name" size="30" class="GB_input"></td>
</tr><tr>
<td align="right">Email:</td>
<td><input type="text" name="email" size="30" class="GB_input"></td>
</tr><tr>
<td align="right">Homepage:</td>
<td><input type="text" name="hp" size="30" class="GB_input"></td>
</tr><tr>
<td align="right" valign="top">Nachricht:</td>
<td><textarea name="inhalt" cols="32" rows="7" class="GB_input"></textarea></td>
</tr><tr>
<td> </td>
<td><input type="submit" value=":: Senden" class="GB_button">
<input name="reset" type="reset" value=":: L&ouml;schen" class="GB_button"></td></form>
</tr></table>


<?php

// Ausgabe Einträge

$query = "select * from $table order by datum desc";
$result = mysql_query($query);

if (mysql_num_rows($result)) {
while($row=mysql_fetch_array($result)) {

$name = $row['name'];
$open = $row['open'];
$email = $row['email'];
$hp = $row['hp'];
$inhalt = $row['inhalt'];
$kommentar = $row['kommentar'];
$datum = date("d.m.y h:i:s A",$row['datum']);
?>

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="GB_style" style="padding-left:2px;">
<tr>
<td width="90%" class="GB_head"><? echo "$name"; ?></td>
<td width="10%" style="padding-left:5px;"><? if($hp) echo "<a href=\"http://$hp\" target=\"_blank\"><img src=\"img/gb/hp.gif\" border=\"0\"></a>";
if($email) echo "<a href=\"mailto:$email\"><img src=\"img/gb/em.gif\" border=\"0\"></a>"; ?></td>
</tr>
<tr>
<td colspan="2"><? echo nl2br($inhalt) ?></td>
</tr>
</table>


<?php
flush();

}
} else {
echo "Keine Einträge";
}
?>
Wo der Fehler genau liegen könnte weiß ich nicht. Ich vermute, es liegt am header. Ich hab es schon mit einem Link auf das Gästebuch versucht, aber es hat auch nicht geklappt.
Dann hab ich noch 2 Fragen dazu: 1. Ich würde gerne eine Blätterfunktion einbauen. Ich habe zwar schon einige Workshops gefunden, aber diese sind entweder fehlerhaft oder funktionieren nicht. Wo genau müsste ich so eine Funktion einbauen und wie würde diese aussehen?
2. Ein weiteres Problem ist, dass wenn ein Feld nicht ausgefüllt wurde, dieses leer bleibt und es sieht dann nicht so besonders aus, wenn die Einträge ausgegeben werden. Wie stelle ich es mit PHP an, dass bestimmte Felder ausgefüllt werden müssen? Eine Möglichkeit wäre JavaScript, aber davon halte ich nicht viel.
Picco
picco ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.08.2004, 14:44  
Gast
 
Beiträge: n/a
Standard

mysql_error() und error_reporting( E_ALL );

blätterfunktion kommt in dein select. anhand der übergegebenen seitennummer
berechnen welche einträge auf der gewünschten seite stehen sollten.

pflichtfelder kriegste hin indem du das formular an sich selber schickst und
checkst per if() ob alle felder ausgefüllt sind, die ausgefüllt sein sollen.
wenn dem so ist, führst nen INSERT aus, wenn nicht, zeigste das formular
nochmal - diesmal allerdings mit vorbelegung - an.
 
Alt 25.08.2004, 14:47  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 1.531
Quadaptor befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von http://www.phpfriend.de/ftopic21515.html
Fortgeschrittene knipsen register_globals aus und verwenden konsequent die Superglobals $_POST, $_GET, $_COOKIE, $_SERVER, $_SESSION, $_FILES
das solltest du dir mal zu herzen nehmen, wenn du dich als fortgeschrittener php-programmierer bezeichnen möchtest.

http://www.phpfriend.de/ftopic21515.html
Quadaptor ist offline  
Alt 25.08.2004, 15:48  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard

@Quadaptor Was heißt das nun konkret? Mein Problem löst sich dadurch leider nicht.
Picco
picco ist offline  
Alt 25.08.2004, 15:56  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 1.531
Quadaptor befindet sich auf einem aufstrebenden Ast
Standard

sicher, dass die aktion "save" wirklich aufgerufen wird?
PHP-Code:
if ($action=="save") {...} 
wenn register_globals = 0, klappt es nicht.
allerdings würde das dann ohne include auch nicht funktionieren.

setz mal vor
PHP-Code:
mysql_query("insert into $table (name,email,open,hp,inhalt,datum) VALUES ('$name','$email','$open','$hp','$inhalt','$datum')");
header("Location: ".$PHP_SELF); 
Zitat:
die('Here I am!');
dann überprüfe mal, ob der an diese stelle kommt.
Quadaptor ist offline  
Alt 25.08.2004, 16:42  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard

Su hab es nun vorgesetzt. Es erscheint nicht. Mich wundert nur, dass das Gästebuch so funktioniert. Wenn es includet wird, dann klappt es nicht.
Picco
picco ist offline  
Alt 25.08.2004, 21:47  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$PHP_SELF 
ist veraltet und sollte durch
PHP-Code:
$_SERVER['PHP_SELF'
ersetzt werden.


[/code]
imported_Ben ist offline  
Alt 25.08.2004, 23:19  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard

Also ich habe nun den veralteten Code durch den neuen ersetzt. Hat auch nicht wirklich geholfen. Dann habe ich mal bei form action die Seite hinzugefügt:
Zitat:
<?php echo $_SERVER['PHP_SELF?site=gb']; ?>
Die Einträge werden nun soweit gespeichert. Es erscheint nach dem Eintrag aber folgende Fehlermeldung:

Zitat:
Warning: Cannot modify header information - headers already sent by (output started at /home/htdocs/web85/html/geosektor/beta/gv4/index.php:8) in /home/htdocs/web85/html/geosektor/beta/gv4/content/gb.php on line 21
Edit: Hat sich erledigt. Ich habe den Header entfernt, jetzt klappt es einwandfrei. Danke für die Hilfe.

Picco
picco ist offline  
Alt 25.08.2004, 23:20  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 1.531
Quadaptor befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von picco
Zitat:
<?php echo $_SERVER['PHP_SELF?site=gb']; ?>
hä?
PHP-Code:
<?php echo $_SERVER['PHP_SELF'].'?site=gb'?>
Quadaptor ist offline  
Alt 25.08.2004, 23:23  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum.

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines Fortgeschrittenen.

moved to PHP - Anfänger
imported_Ben ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
geosektor

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.