Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben
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 #)

Geschrieben
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.

Geschrieben

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?

Geschrieben

Moin :)

Füge am ende des Scriptes einfach :

echo "<META http-equiv='refresh' content='30;URL=datei.php'>";
[/php]

hinzu, dadurch wird die Site alle 30sec. neu geladen :)

MfG Too-Time

:)

Geschrieben

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 :(

Geschrieben

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.

Geschrieben

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 %>

Geschrieben

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

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...