Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
 |
|
huhu
ich hab mal, obwohl ich ein totaler PHP-Anfänger bin, mich an einem Gästebuch versucht. Formular klappte auch erst ganz okay, erst nachdem ich dann die datei config.inc.php erstellt hatte, erschienen unterm Formular zwei Fehlermeldungen. Da ich im Code jedoch keinen Fehler feststellen kann (wie gesagt, cih bin noch Anfänger im Bereich PHP) würde es mich freuen, wenn mir hier geholfen werden könnte
Angezeigt wird dort:
Parse error: syntax error, unexpected T_IF in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 69
hier wäre dann der Code, um den es sich handelt:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Gästebuch</title>
<link rel="stylesheet" href="http://zsavenue.square7.ch/style.css">
</head>
<b>Gästebuch</b><br><br>
Hier im Gästebuch könnt ihr uns jederzeit euer Lob, eure Kritik oder aber auch Werbung für Turniere, etc. hinterlassen.<br><b>Achtung!</b> Bitte <u>keine</u> Werbung für Reitvereine oder andere vRh's, die auf Mitgliederfang aus sind posten!<br /><br>
<body>
<center><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="guestbook">
<input type="hidden" name="flag" value="1">
<table>
<tr>
<td><b>Dein Name</b></td>
<td><input type="text" name="absender" value="<?php echo $_POST['absender']; ?>"></td>
</tr>
<tr>
<td><b>Deine E-Mail Adresse</b></td>
<td><input type="text" name="mail" value="<?php echo $_POST['mail']; ?>"></td>
</tr>
<tr>
<td><b>Deine Homepage</b></td>
<td><input type="text" name="hp" value="<?php echo $_POST['hp']; ?>"></td>
</tr>
<tr>
<td><b>Dein Text</b></td>
<td><textarea name="text" style="height: 150px; width: 429px;"><?php echo $_POST['text']; ?></textarea>
</td>
</tr>
</table>
<input type="submit" value="Eintragen">
</form>
<?php
?>
<?php
//$_POST['flag']==1
if($_POST['flag']==1)
{
$_POST['absender']=trim($_POST['absender']);
$_POST['mail']=trim($_POST['mail']);
$_POST['hp']=trim($_POST['hp']);
$_POST['text']=trim($_POST['text']);
$_POST['absender']=strip_tags($_POST['absender']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['hp']=strip_tags($_POST['hp']);
$_POST['text']=strip_tags($_POST['text']);
if(!$_POST['absender']){$fehler="Bitte gib Deinen Namen an! <br>";}
if(!$_POST['text']){$fehler="Bitte gib eine Nachricht ein! <br>";}
if($fehler)
{
$meldung="".$fehler."";
unset($_POST['flag']);
}
else
{
include ("config.inc.php");
$date = date("d.m.Y");
$time = date("H:i");
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '".$_POST['text']."');" ;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
mysql_query($sql, $link);
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href="gb.php" target=_self>Weiter</a>";
}
echo $meldung;
} $_POST['flag']==1
if(!$_POST['flag'])
?>
<br>
<br>
<?php
include ("config.inc.php");
$anzeigen=15;
if($_GET['vor']){$start=$_GET['limit']+$anzeigen;}
if($_GET['back']){$start=$_GET['limit']-$anzeigen;}
if(!$start){$start=0;}
$tabellenname="gb";
$sql="SELECT id, date, time, name, mail, hp, text FROM $tabellenname ORDER BY id DESC LIMIT ".$start.", ".$anzeigen;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0);
for($i=0;$i<count($ergebnis);$i++)
{
$text=nl2br($ergebnis[$i]['text']);
echo ("
<br /><br /><table>
<tr>
<td>".$ergebnis[$i]['name']." (<a href="mailto:".$ergebnis[$i]['mail']."">Mail</a> | <a href="".$ergebnis[$i]['hp']."" target=_blank>WWW</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>
</tr>
<tr>
<td>".$text."</td>
</tr></table>");
}
echo "<table border="0" width="100%"><tr><td align="left">";
if($start>=$anzeigen){echo "<a href="".$_SERVER['PHP_SELF']."?limit=".$start."&back=1">Zurück</a>";}
echo "</td><td align="right">";
if($start+$anzeigen<$max-1){echo "<a href="".$SERVER['PHP_SELF']."?limit=".$start."&vor=1">Weiter</a>";}
echo "</tr></table>";
?>
</center> |
|
Ich hoffe, ihr könnt mir helfen
Liebe Grüße
__________________
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Raindrops: 20.07.2010 23:57.
|
|
20.07.2010 23:50 |
|
|
callous.

mag Kekse :]
 
Dabei seit: 03.03.2009
Beiträge: 2.253
 |
|
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
<?php
...
$_POST['flag']==1;
if(!$_POST['flag']) {
?>
...
<?php
}
?> |
|
Zu einer if-Anweisung gehören auch die Klammern
Und bei der Variable in Zeile 69 fehlt noch ein Semikolon.
__________________
|
|
21.07.2010 09:28 |
|
|
Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
Themenstarter
 |
|
danke für deine Hilfe, jetzt kommt zumindest keine Fehlermeldung mehr, dafür stehen jetzt aber Codeteile auf der Seite: klick
LG
__________________
|
|
21.07.2010 12:36 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Hi,
dann fehlt dir ein vor dem Code...
LG
|
|
21.07.2010 12:45 |
|
|
Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
Themenstarter
 |
|
ah, danke
Jetz sind die Codeschnipsel weg
Neue Fehlermeldung: Fehler in Zeile 67 =/
Der mittlerweile aktualisierte Code:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Gästebuch</title>
<link rel="stylesheet" href="http://zsavenue.square7.ch/style.css">
</head>
<b>Gästebuch</b><br><br>
Hier im Gästebuch könnt ihr uns jederzeit euer Lob, eure Kritik oder aber auch Werbung für Turniere, etc. hinterlassen.<br><b>Achtung!</b> Bitte <u>keine</u> Werbung für Reitvereine oder andere vRh's, die auf Mitgliederfang aus sind posten!<br /><br>
<body>
<center><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="guestbook">
<input type="hidden" name="flag" value="1">
<table>
<tr>
<td><b>Dein Name</b></td>
<td><input type="text" name="absender" value="<?php echo $_POST['absender']; ?>"></td>
</tr>
<tr>
<td><b>Deine E-Mail Adresse</b></td>
<td><input type="text" name="mail" value="<?php echo $_POST['mail']; ?>"></td>
</tr>
<tr>
<td><b>Deine Homepage</b></td>
<td><input type="text" name="hp" value="<?php echo $_POST['hp']; ?>"></td>
</tr>
<tr>
<td><b>Dein Text</b></td>
<td><textarea name="text" style="height: 150px; width: 429px;"><?php echo $_POST['text']; ?></textarea>
</td>
</tr>
</table>
<input type="submit" value="Eintragen">
</form>
<?php
?>
<?php
//$_POST['flag']==1
if($_POST['flag']==1)
{
$_POST['absender']=trim($_POST['absender']);
$_POST['mail']=trim($_POST['mail']);
$_POST['hp']=trim($_POST['hp']);
$_POST['text']=trim($_POST['text']);
$_POST['absender']=strip_tags($_POST['absender']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['hp']=strip_tags($_POST['hp']);
$_POST['text']=strip_tags($_POST['text']);
if(!$_POST['absender']){$fehler="Bitte gib Deinen Namen an! <br>";}
if(!$_POST['text']){$fehler="Bitte gib eine Nachricht ein! <br>";}
if($fehler)
{
$meldung="".$fehler."";
unset($_POST['flag']);
}
else
{
include ("config.inc.php");
$date = date("d.m.Y");
$time = date("H:i");
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '".$_POST['text']."');" ;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
mysql_query($sql, $link);
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href="gb.php" target=_self>Weiter</a>";
}
<?php
echo $meldung;
} $_POST['flag']==1;
if(!$_POST['flag']){
?>
<?php
}
?>
<br>
<br>
<?php
include ("config.inc.php");
$anzeigen=15;
if($_GET['vor']){$start=$_GET['limit']+$anzeigen;}
if($_GET['back']){$start=$_GET['limit']-$anzeigen;}
if(!$start){$start=0;}
$tabellenname="gb";
$sql="SELECT id, date, time, name, mail, hp, text FROM $tabellenname ORDER BY id DESC LIMIT ".$start.", ".$anzeigen;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0);
for($i=0;$i<count($ergebnis);$i++)
{
$text=nl2br($ergebnis[$i]['text']);
echo ("
<br /><br /><table>
<tr>
<td>".$ergebnis[$i]['name']." (<a href="mailto:".$ergebnis[$i]['mail']."">Mail</a> | <a href="".$ergebnis[$i]['hp']."" target=_blank>WWW</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>
</tr>
<tr>
<td>".$text."</td>
</tr></table>");
}
echo "<table border="0" width="100%"><tr><td align="left">";
if($start>=$anzeigen){echo "<a href="".$_SERVER['PHP_SELF']."?limit=".$start."&back=1">Zurück</a>";}
echo "</td><td align="right">";
if($start+$anzeigen<$max-1){echo "<a href="".$SERVER['PHP_SELF']."?limit=".$start."&vor=1">Weiter</a>";}
echo "</tr></table>";
?>
</center> |
|
Ich hoffe ihr könnt mir helfen, ich glaub langsam echt, dass ich ein hoffnungsloser Fall bin =/
__________________
|
|
21.07.2010 19:55 |
|
|
 |
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Zitat: |
Original von Kleines_Springpony
Ich hoffe ihr könnt mir helfen, ich glaub langsam echt, dass ich ein hoffnungsloser Fall bin =/ |
Nunja, jeder macht Fehler. Manche mehr, manche weniger. Und zum Teil ist es dann einfach Erfahrung, dass man diese schnell wieder findet und dann gar nicht mehr als Fehler empfindet.
php: |
1:
2:
3:
4:
5:
6:
7:
|
<?php
[...]
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href="gb.php" target=_self>Weiter</a>";
}
<?php
echo $meldung;
} $_POST['flag']==1; |
|
Diesmal ein <?php zuviel, du bist an der Stelle doch schon in PHP-Code
.
LG
|
|
21.07.2010 20:01 |
|
|
Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
Themenstarter
 |
|
aw, danke <3
nun geht das Formular wieder, darunter erscheinen aber immernoch 2 Fehlermeldungen: Es verstecken sich noch Fehler in den Zeilen 90 & 97 =(
__________________
|
|
21.07.2010 20:43 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Poste mal bitte die Fehlermeldungen. Da steht zum Großteil schon drin, was falsch ist.
|
|
21.07.2010 21:52 |
|
|
Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
Themenstarter
 |
|
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 90
Warning: mysql_result() expects parameter 1 to be resource, boolean given in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 97
hier wären die Fehlermeldungen
__________________
|
|
21.07.2010 21:57 |
|
|
Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
Themenstarter
 |
|
jetzt kommt diese Meldung:
No database selected
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 91
Warning: mysql_result() expects parameter 1 to be resource, boolean given in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 98
__________________
|
|
21.07.2010 22:37 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Dann ist auch schon mysql_select_db() dafür schiefgegangen. Prüf mal nach, ob der Wert, der in $db steht, auch stimmt.
|
|
21.07.2010 22:47 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Änder mal jeweils
php: |
1:
|
mysql_select_db("$db", $link); |
|
in
php: |
1:
|
mysql_select_db("$db", $link) or print("<br /><b>Datenbank ausw&auuml;hlen fehlgeschlagen:</b> ".mysql_error()); |
|
Dann sehen wir mal genauer, was da schief geht, falls das (so wie es scheint) der Fall ist.
|
|
22.07.2010 10:33 |
|
|
Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
Themenstarter
 |
|
nun kommt diese Meldung raus:
Datenbank ausw&auuml;hlen fehlgeschlagen: Access denied for user 'zsavenue'@'localhost' to database 'gb'No database selected
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 91
Warning: mysql_result() expects parameter 1 to be resource, boolean given in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 98
__________________
|
|
22.07.2010 13:13 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Deine Datenbank heißt garantiert nicht "gb", sondern wohl eher "zsavenue" und gb ist der Tabellenname - oder die Datenbank heißt "zsavenue_gb", falls es tatsächlich eine separate Datenbank ist.
-> Ich sags nochmal: Der Wert in $db ist falsch, überprüf den mal...
|
|
22.07.2010 22:07 |
|
|
Raindrops
Sie ist ein starkes Mädchen.
 

Dabei seit: 08.09.2007
Beiträge: 6.211
Themenstarter
 |
|
oh, vielen Dank, es war zsavenue
nun wird ncoh dies angezeigt:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /users/zsavenue/www/Zuchtstation/Gaestebuch/gb.php on line 91
LG
__________________
|
|
22.07.2010 22:26 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Da muss der Fehler im SQL liegen - lass dir evtl. mal zum Test $sql mit echo ausgeben, damit du siehst, ob auch wirklich das drin steht, was darin stehen sollte.
Falls du den Fehler nicht findest schau ich mir das später (bzw. morgen) nochmal an, hab nur jetzt so gut wie keine Zeit und hab den Fehler auch nicht auf Anhieb gesehen.
|
|
23.07.2010 12:54 |
|
|
 |
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Zitat: |
Original von Kleines_Springpony
Hängt das noch mit dem Fehler zusammen? Oder ist der nun sozusagen nur noch ein "schönheitsfehler"? |
Ja, das hängt sicherlich mit dem Fehler zusammen. Der Code zum Eintrag hinzufügen funktioniert schonmal, die Ausgabe eben (noch) nicht.
So etwas wie "Schönheitsfehler" gibt es eigentlich nicht, sobald ein Fehler auftritt, ist etwas falsch. Es gibt Fehler, die nach bestimmten Regeln toleriert werden und daher keine Fehlermeldung sondern nur einen "Hinweis" ergeben - und das auch nur, wenn man diese z.B. mit error_reporting(E_ALL) "aktiviert".
Ein Beispiel für solche Fehler ist:
php: |
1:
2:
3:
|
...
echo $row[name]; //falsch
echo $row['name']; //richtig |
|
Warum? Weil name ohne Anführungszeichen kein String, sondern eine Konstante ist. Ist diese dann auch noch definiert, entstehen unerwartete Ergebnisse:
php: |
1:
2:
3:
|
define('name','irgendwas');
echo $row[name]; //ergibt jetzt $row['irgendwas'], weil name definiert ist
echo $row['name']; //ist das eigentlich gewollte |
|
LG
|
|
24.07.2010 15:38 |
|
|
Impressum
|
|