[GastForen Programmierung/Entwicklung PHP und MySQL Gästebuch in php

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Gästebuch in php

joejoeaction
Beiträge gesamt: 2

28. Feb 2005, 15:07
Beitrag # 1 von 5
Bewertung:
(952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
Ich habe versucht eine Art Gästebuch zu machen mit folgenden 3 Datein:

---------------------------------------------
index_gb.php

<?php
echo "<div align='center'><h1>Gästebuch</h1></div>";
echo "<form action='gb_start.php'>";
$connection=mysql_connect("localhost","root","*****");
$gb_auslesen="select * from gast";
$ergebnis=mysql_db_query("db_gb",$gb_auslesen,$connection);
while(list($name,$hp,$email,$icq,$msg)=mysql_fetch_array($ergebnis))
{
echo "<table width='40%' border='1' align='center' bgcolor='#EEEEEE'>
<tr>
<td>
<table width='100%' border='0' bgcolor='#CCCCCC'>
<tr>
<th>
<div align='left'>Name: ".$name."</div>
</th>
<td width='50'>
<div align='right'>";

if($email != "") echo "<a href='mailto:".$email."'><img border='0' src='bilder/email.gif' width='14' height='11'></a> ";

if($hp != "") echo "<a href='http://".$hp."'><img border='0' src='bilder/home.gif' width='14' height='14'></a>";

echo " </div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>".$msg."</td>
</tr>
</table><p>";
}
mysql_close($connection);
echo "<div align='center'><input type='submit' value='Eintrag erstellen'></input></div>";
?>

----------------------------------
gb_start.php

<?php
echo "<form action='gb_ende.php' method='POST'>";

echo "<table width='40%' align='center' bgcolor='#CCCCCC'>
<tr>
<td align='center'><b>Gästebucheintrag erstellen<b></td>
</tr>
</table><p>";

echo "<table width='40%' align='center' bgcolor='#EEEEEE'>
<tr>
<td>Name: </td>
<td><input typ='text' name='name' size='25' maxlength='50'></input></td>
</tr>
<tr>
<td>Homepage: </td>
<td><input typ='text' name='hp' size='25' maxlength='50'> (ohne http:// )</input></td>
</tr>
<tr>
<td>e-mail: </td>
<td><input typ='text' name='email' size='25' maxlength='50'></input></td>
</tr>
<tr>
<td>Icq: </td>
<td><input typ='text' name='icq' size='25' maxlength='9'></input></td>
</tr>
<tr>
<td>Nachricht: </td>
<td><textarea name='msg' cols='25' rows='7'></textarea></td>
</tr>
</table><p>
<div align='center'><input type='submit' value='Absenden'> </input>
<input type='reset' value='Löschen'></input></div>";
?>

------------------------------
gb_ende.php

<?php
echo "<form action='index_gb.php'>";

$name=$_POST[name];
$hp=$_POST[hp];
$email=$_POST '@email.de, 106498719, testnachricht)' at line 1

was mach ich da falsch??? kann mir wer helfen???
X

Gästebuch in php

ganesh
Beiträge gesamt: 1981

28. Feb 2005, 15:39
Beitrag # 2 von 5
Beitrag ID: #148674
Bewertung:
(952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
$sqlbefehl="insert into gast(name, hp, email, icq, msg) values ('$name', '$hp', '$email', '$icq', '$msg')";


als Antwort auf: [#148666]

Gästebuch in php

joejoeaction
Beiträge gesamt: 2

28. Feb 2005, 15:42
Beitrag # 3 von 5
Beitrag ID: #148676
Bewertung:
(952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
habs schon gelöst.
hab in der datei gb_ende folgenden fehler gemacht:

statt:
$sqlbefehl="insert into gast (name, hp, email, icq, msg) values ($name, $hp, $email, $icq, $msg)";

gehört:
$sqlbefehl="insert into gast (name, hp, email, icq, msg) values ('$name', '$hp', '$email', '$icq', '$msg')";

thread kann geschlossen werden.

@^^ thx bin auch grad drauf gekommen.


als Antwort auf: [#148666]
(Dieser Beitrag wurde von joejoeaction am 28. Feb 2005, 15:43 geändert)

Gästebuch in php

Pozor
Beiträge gesamt: 892

28. Feb 2005, 15:44
Beitrag # 4 von 5
Beitrag ID: #148677
Bewertung:
(952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

der Fehler liegt hier:

insert into gast (name, hp, email, icq, msg) values ($name, $hp, $email, $icq, $msg)

sollte so lauten:
insert into gast (name, hp, email, icq, msg) values ('$name', '$hp', '$email', '$icq', '$msg')

Einfügen von Strings immer mit Hochkomma beginnen und abschliessen!
Integer geht auch ohne und ist auch empfohlen ohne hochkommas in der
query zu verwenden (aus Kompatibilitätsgründen).

noch etwas zu den Daten die Du verwendest:

Vertraue NIE Daten die vom User kommen (also nicht direkt von deiner DB).
Mit http://www.php.net/mysql_escape_string hast Du eine Funktion, die Deine
Anmwendung sicherer macht.
Suche nach "sql injection"

$name = mysql_escape_string($_POST[name]); //sicher für gebrauch mit der mysql DB

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php


als Antwort auf: [#148666]

Gästebuch in php

Pozor
Beiträge gesamt: 892

28. Feb 2005, 15:45
Beitrag # 5 von 5
Beitrag ID: #148680
Bewertung:
(952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Toll,

drei gleiche Antworten! Das muss stimmen ;)

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php


als Antwort auf: [#148666]
(Dieser Beitrag wurde von Pozor am 28. Feb 2005, 15:58 geändert)
X