Zum Inhalt springen

php Gästeuch geht nicht..wer hilft mir?


Empfohlene Beiträge

gbeintragen.php

-------------------

<html>

<head>

</head>

<title>Gästebuch</title>

<body bgcolor="#C3C53F">

<center><h2>Gästebuch</h2></center><br>

<form action="gbeingetragen.php" method="post">

<table>

<tr><td>

Name: </td>

<td><input name="name" type="text" size="30" maxlength="30"><br> </td></tr>

<tr><td>Email-Adresse: </td>

<td><input name="email" type="text" size="50" maxlength="50"><br></td></tr>

<tr><td>Url: (optional) </td>

<td><input name="url" type="text" size="50" maxlength="50"><br></td>

</table>

<textarea name="text" cols="100" rows="6"></textarea><br>

<input type="submit" value="Datensatz eintragen" >

</form>

</body>

</html>

geingetragen.php

------------------------

<?

$verbindung = @mysql_connect("dieDatenbank","pw","");

if (!$verbindung) {

echo "Keine Verbindung möglich!\n";

exit;

}

$fehler = 0;

if ($name == '')

{ echo "Name muss angegeben werden<br>";

$fehler = 1; }

if ($email == '')

{ echo "Email-Adresse muss angegeben werden<br>";

$fehler = 1; }

if ($url == '')

{ $url = "keine"; }

if ($text == '')

{ echo "Email-Adresse muss angegeben werden<br>";

$fehler = 1; }

if ($text == '')

{ echo "Text muss angegeben werden<br>";

$fehler = 1; }

if ($fehler == 0)

{

$abfrage = "INSERT INTO gaestebuch (ID,name,email,url,text) VALUES (25,$name,$email,$url,$text)";

echo "Datensatz wurde eingetragen"; }

else { echo "Datensatz wurde nicht eingetragen"; }

$erg = mysql_db_query("db",$abfrage,$verbindung);

mysql_close($verbindung);

?>

---------------------------------

Als ID soll einfach mal 25 eingetragen werden, werd ich später noch richtig machen, wenn das Eintragen ansich mal funktioniert.

Die ID ist zwar als eindeutiger Primärschlüssel definiert, Nummer 25 ist aber noch nicht vorhanden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von tobixxx

gbeintragen.php

-------------------


<?

$verbindung = @mysql_connect("dieDatenbank","pw","");

if (!$verbindung) {
echo "Keine Verbindung möglich!\n";
exit;
}

$fehler = 0;

if ($name == '')
{ echo "Name muss angegeben werden<br>";
$fehler = 1; }

if ($email == '')
{ echo "Email-Adresse muss angegeben werden<br>";
$fehler = 1; }

if ($url == '')
{ $url = "keine"; }

if ($text == '')
{ echo "Email-Adresse muss angegeben werden<br>";
$fehler = 1; }

if ($text == '')
{ echo "Text muss angegeben werden<br>";
$fehler = 1; }


if ($fehler == 0)

{
$abfrage = "INSERT INTO gaestebuch (ID,name,email,url,text) VALUES (25,$name,$email,$url,$text)";
echo "Datensatz wurde eingetragen"; }

else { echo "Datensatz wurde nicht eingetragen"; }

$erg = mysql_db_query("db",$abfrage,$verbindung);

mysql_close($verbindung);

?>[/php]

[/b]

Ich bin mir zwar nicht sicher, aber ich glaube dein Fehler ist hier :

[php]$verbindung = @mysql_connect("dieDatenbank","pw","");

richtig wäre


$variable-deklaration = mysql_connect(($mysqlhost, $mysqluser, $mysqlpassword);
[/php]

Nur so zum Still, es muß zwar jeder selber wissen wie er schreibt

[php]
$abfrage = "INSERT INTO gaestebuch (ID,name,email,url,text) VALUES (25,$name,$email,$url,$text)";
echo "Datensatz wurde eingetragen"; }

ich würde es so aufteilen, da es die Übersich etwas erhöht


$abfrage = "insert gäestebuch";
$abfrage .= " (ID,'name','email','url','text') values";
$abfrage .= "(25,'$name,'$email', '$url', '$text')";
[/php]

Hinweis: Alles was keine Zahl - sprich Int / boolen double ... -ist muß in Hochkomma ' ' gesetzt werden. :)

Mfg Tool-Time

Ps: um deine PHP Codes besser hier anzeigen zu lassen schreib es so [#php] code [#/php] (ohne #)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von tobixxx



$erg = mysql_db_query("db",$abfrage,$verbindung);

mysql_close($verbindung);

?>
[/php]

[/b]

Das scheint auch nicht so ganz zu passen :

[php]
$reg = mysql_db_query("db",$abfrage);

Du muß hier nicht erneut $verbindung eintragen, da du schon am Anfang eine Verbindung zur DB aufgebaut hast.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Tool-Time! Jetzt gehts.

Eine Frage noch... wenn ich dann alle Datensätze mit Hilfe von PHP ausgebe dann geht das zwar, ich muss aber auf der Seite immer F5 drücken damit die Seite aktualisiert wird und die neuesten Datensätze angezeigt werden.

Vermutlich muss da der Buffer gelöscht werden.... weiß jemand den PHP Befehl dafür?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das hilft mir nicht weiter, ich kann ja nicht alle 30 Sekunden das Gästebuch neu laden...da kriegen die Leute ja nen Anfall beim lesen :D

In ASP gibs ein paar Codezeilen die man in der Option Explicit einfügt, dann löscht er den Buffer wenn man die Seite aufruft...in PHP kenn ich mich aber leider (noch) nicht so gut aus :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du willst also eine dynamische Änderung ohne die Seite neu zu laden?

Wundert mich, dass das möglich ist. Ich kenn mich zwar auch noch nicht so richtig in dieser Materie aus, aber ich glaube nicht, das du da was finden würdest. Wenn doch dann poste doch deine Lösung hier.

Zu reloaden der Seite könntest du auch noch javascript nutzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

E-T du siehst das viel zu kompliziert. Ich suche einfach den Befehl womit die Seite immer neu geladen wird wenn man sie aufruft...und zwar dann nur einmal und nicht alle XX Sekunden.

In VBScript sieht das ganze so aus:

<%@ LANGUAGE=VBScript %>

<% Option Explicit response.expires=0 %>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Original geschrieben von E-T

Das macht PHP doch automatisch. Denn dafür ist es ja ne serverseitige Scriptsprache ;)

nicht unbedingt...

Um das Caching einer Seite zu verhindern, ist der folgende Code passend:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") ." GMT");

header("Cache-Control: no-cache");

header("Pragma: no-cache");

header("Cache-Control: post-check=0, pre-check=0");

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Datum ist relativ egal, muss halt nur in der Vergangenheit liegen, wahrscheinlich sind diese Zeilen das erste mal einen Tag nach dem Datum gepostet worden.

Der Rest überlagert sich eigentlich, da es bei Browsern aber keinen Standard gibt, ist doppelt gemoppelt besser. :D

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...