finde den fehler einfach nicht. wo liegt der?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angeben
anweisung
are
blicken
count
database
datei
eintrag
email
entry
error
exit
fehler
inhalt
insert
order
pawort
regel
skript
speicher
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
gespeichert unter index.php
(die daten wie passwort hab ich durch XXXX ersetzt):
<html>
<head>
<title>Guestbook</title>
</head>
<body>
<p align="center"><span style="font-size:25pt" weigth="bold">Guestbook</span></p>
<br>
<br>
<br>
<form name="entry" action="eintrag.php" method="post">
<table>
<tr>
<td><input type="submit"value="New entry"</td>
</tr>
</table>
<br>
<br>
<br>
<?php
$dbName = "XXXXX";
$dbHost = "mysql.lima-city.de";
$dbUser = "XXXXXXX";
$dbPW = "XXXXXX";
if (!(($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
if ($query = mysql_query("SELECT * FROM gbook ORDER BY datum DESC;")) {
while ($eintrag = mysql_fetch_array($query)) {
$datum[] = $eintrag["datum"];
$name[] = $eintrag["name"];
$email[] = $eintrag["email"];
$inhalt[] = $eintrag["entry"];
}
} else die(mysql_error());
$inhalt = str_replace(":-)", "<img src=\"smilie1.gif\">", $inhalt);
$inhalt = str_replace("", "<img src=\"smilie2.gif\">", $inhalt);
$inhalt = str_replace("", "<img src=\"smilie3.gif\">", $inhalt);
$inhalt = str_replace("", "<img src=\"smilie4.gif\">", $inhalt);
for ($i = 0; $i < count($name); $i++) { ?>
<table>
<tr>
<td><h4><?php echo date("d.m.Y - H:i",$datum[$i])." ".stripslashes($name[$i])." (".stripslashes($email[$i]).")"; ?></h4></td>
</tr>
<tr>
<td><h3><?php echo stripslashes(nl2br($inhalt[$i]."")); ?></h3></td>
</tr>
</table>
<hr>
<?php
}?>
</table>
</body>
</html>
die hier hab ich unter speichern.php gespeichert:
<html> <head> </head> <body> <?php $feld = array(); $name = $_POST["Name"]; $email = $_POST["EMail"]; $eintrag = $_POST["entry"]; if ($name == "") $feld[] = "Name"; if ($email == "") $feld[] = "E-Mail"; if (!count($feld) == 0) { ?> <form name="entry" action="eintrag.php" method="post"> <h1>Type error:</h1> <span style="font-size:14pt">The Following fields are empty: <ul> <?php foreach ($feld as $fehler) { echo "<li>".$fehler; } ?> <br> <br> </ul> <input type="submit" value="Back"> </span></form><?php exit(); } else { ?> <span style="font-size:20pt"><p align="center">Thank you <?php echo $name?> for your entry.</p></span> <br> <br> <form name="entry" action="gb_eintrag.php" method="post"> <p align="center"><input type="submit" value="Next"></p> </form> <?php } ?> <?php $dbName = "XXXXXXX"; $dbHost = "mysql.lima-city.de"; $dbUser = "XXXXXXXXXX"; $dbPW = "XXXXXXXX"; if (!(($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error()); $datum = time(); mysql_query("INSERT INTO gbook VALUES('','$name','$email','$eintrag');") or die(mysql_error()); ?> </body> </html
und die hier unter eintrag.php:
<html>
<head>
<title>Guestbook</title>
<script language="JavaScript">
<!--
function SmilieEinfuegen(Smilie)
{
document.Formular.Textfeld.value+=Smilie+" ";
document.Formular.Textfeld.focus();
}
//-->
</script>
</head>
<body class="main">
<form name="Formular" action="speichern.php" method="post">
<p align="center"><font size="16">New entry in the Guestbook</font></p>
<p align="center">
<table>
<tr>
<td><span style="font-size:14pt">Name: </span></td>
<td><input type="text" name="Name" class="normal"</td>
<td> </td>
<td><span style="font-size:14pt">E-Mail</span></td>
<td><input type="text" name="EMail" class="normal"</td>
</tr>
<tr>
<td colspan="5" style="text-align:center;">
<center>
<table>
<tr>
<td><p align="center"><span style="font-size:14pt">Entry: </span></p></td>
<td><p ailgn="center"><textarea name="Textfeld" cols="25" rows="5"></textarea></p></td>
<a href="javascript:SmilieEinfuegen(':-)')"><img border="0" src="smilie1.gif"></a>
<a href="javascript:SmilieEinfuegen('')"><img border="0" src="smilie2.gif"></a>
<a href="javascript:SmilieEinfuegen(':))')"><img border="0" src="smilie3.gif"></a>
<a href="javascript:SmilieEinfuegen('')"><img border="0" src="smilie4.gif"></a>
</tr>
</table>
</center>
</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><p align="center"><input type="submit" value="Enter"></p></td>
<td><p align="center"><input type="reset" value="Delete"></p></td>
</tr>
</table>
</form>
</body>
</html>
dazu hab ich eine Tabelle angelegt in einer mysqul datenbank angelegt:
Feld Typ Null Standard
id int(15) Nein 0
name varchar(18) Nein
email varchar(150) Nein
datum int(15) Nein 0
eintrag text Nein
Da ich nicht wusste wo der fehler genau h?ngt hab ich mal alle die dazu geh?ren gepostet.Hoff ihr k?nnt mir helfen.
-
Hi,
bitte mach bei der Datei speichern.php dein DB-Kennwort raus und ?ndere es um!
Mir ist in der selben Datei eins aufgefallen:
mysql_query("INSERT INTO gbook VALUES('','$name','$email','$eintrag');")
das m?sste so gehn:
mysql_query("INSERT INTO gbook ('id','xxx','xxx','xxx') VALUES ('','$name','$email','$eintrag')");
F?r die xxx musst du den Namen f?r das Feld reinschreiben, z.B. Eintrag oder wie auch immer.
LG
nwo -
Danke doch,
ein fehler taucht noch auf der hier irgendwo liegen muss:
if ((($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
bei index.php -
Ich w?rde die Verbindung zur DB in eine eigene Datei schreiben und die dann mittels include ""; einbinden!
Ich nenne diese Datei immer dbconnect.php:
<?php $myhost = "mysql.lima-city.de"; $myuser = "USERxxxxx"; $mypass = "xxxxxxxx"; $mydb = "DB1117260001"; $db_link = mysql_connect($myhost,$myuser,$mypass); if($db_link) { } else { echo "Es konnte keine Verbindung aufgebaut werden!"; } if(mysql_select_db($mydb,$db_link)) { } else { echo "DB konnte nicht ausgewählt werden!"; } ?>
Die Einbindung muss vor der ersten Ausgabe erfolgen, also am besten gleich hinter <?
LG,
nwo -
es wir wieder ein fehler ausgegeben f?r:
$db_link = mysql_connect($myhost,$myuser,$mypass);
if(mysql_select_db($mydb,$db_link)) -
Hast du die Datei eingebunden?
Weil f?r mich sieht es nicht danach aus.
Die Datei musst du ?berall wo du mit der DB kommunizierst einbinden. -
<?
// Code
$db_link = mysql_connect($myhost,$myuser,$mypass);
$db = mysql_select_db($mydb,$db_link);
if(!$db)
{
echo "Datenbank existiert nicht!";
}
?>
Anscheinend f?hrt die if-Anweisung den mysql_select_db-Befehl nicht aus.....
-
ehhh, ich glaub dieses mal liegst du falsch!
Weil das ist mein original Script, so wie ich es immer verwende und es funzt! Durch Copy/Paste kann auch hier kein Fehler sein. -
auch wenn ich es dierekt anw?hle kommt:
Warning: mysql_connect(): Access denied for user: 'USERXXXXX@serverXXXXXXXX.serverpool.info' (Using password: YES) in /home/webpages/lima-city/zerospage/html/dbXXX.php on line 9
Es konnte keine Verbindung aufgebaut werden!
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/webpages/lima-city/zerospage/html/dbXXX.php on line 17
DB konnte nicht ausgew?hlt werden!
und doch verwende ich genau den code mit dem passwort und so eingesetzt. -
Bitte ?ndere mal dein Datenbank-Passwort in ein Beliebiges um, das hilft oft Wunder. Aber ganz am Anfang waren anscheinend die Probleme nicht da, also musst du irgendwas ver?ndert haben heute.
-
Ich hab es jetzt das zweite mal ge?ndert, einmal nach dem als ich`s versehentlich hier gepostet hab und dann noch jetzt, doch das hat irgendwie nichts geholfen der fehler bleibt bestehen, leider.
-
Ich bin jetzt nochmal auf die index.php gegangen, nun scheint nur die DB nicht ausgew?hlt werden.
Bitte poste nochmal deinen aktuellen Code der die Verbindung zur DB herstellt.
Ach ja, das Verbindungsscript musst du auch in der speichern.php richtig einsetzen.
-
die der verbindungsdatei:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head> </head><body>
<?php
$myhost = "mysql.lima-city.de";
$myuser = "USERXXXX";
$mypass = "XXXXXX";
$mydb = "XXXXXXX";
$db_link = mysql_connect($myhost,$myuser,$mypass);
if($db_link)
{
}
else
{
echo "Es konnte keine Verbindung aufgebaut werden!";
}
if(mysql_select_db($mydb,$db_link))
{
}
else
{
echo "DB konnte nicht ausgew?hlt werden!";
}
?>
die index.php:
<html>
<head>
<title>Guestbook</title>
</head>
<body text="#020D6A" bgcolor="#C5CAFE" link="#020D6A" alink="#020B57" vlink="#020A48">
<p align="center"><span style="font-size:25pt" weigth="bold">Guestbook</span></p>
<br>
<br>
<br>
<form name="entry" action="eintrag.php" method="post">
<table>
<tr>
<td><input type="submit"value="New entry"</td>
</tr>
</table>
<br>
<br>
<br>
<?php
if ($query = mysql_query("SELECT * FROM gbook ORDER BY datum DESC;")) {
while ($eintrag = mysql_fetch_array($query)) {
$datum[] = $eintrag["datum"];
$name[] = $eintrag["name"];
$email[] = $eintrag["email"];
$inhalt[] = $eintrag["entry"];
}
} else die(mysql_error());
$inhalt = str_replace(":-)", "<img src=\"smilie1.gif\">", $inhalt);
$inhalt = str_replace("", "<img src=\"smilie2.gif\">", $inhalt);
$inhalt = str_replace("", "<img src=\"smilie3.gif\">", $inhalt);
$inhalt = str_replace("", "<img src=\"smilie4.gif\">", $inhalt);
include "dbXXX.php";
for ($i = 0; $i < count($name); $i++) { ?>
<table>
<tr>
<td><h4><?php echo date("d.m.Y - H:i",$datum[$i])." ".stripslashes($name[$i])." (".stripslashes($email[$i]).")"; ?></h4></td>
</tr>
<tr>
<td><h3><?php echo stripslashes(nl2br($inhalt[$i]."")); ?></h3></td>
</tr>
</table>
<hr>
<?php
}?>
</table>
</body>
</html>
hier der von der eintrag.php :
<html>
<head>
<title>Guestbook</title>
<script language="JavaScript">
<!--
function SmilieEinfuegen(Smilie)
{
document.Formular.Textfeld.value+=Smilie+" ";
document.Formular.Textfeld.focus();
}
//-->
</script>
</head>
<body class="main">
<form name="Formular" action="speichern.php" method="post">
<p align="center"><font size="16">New entry in the Guestbook</font></p>
<p align="center">
<table>
<tr>
<td><span style="font-size:14pt">Name: </span></td>
<td><input type="text" name="Name" class="normal"</td>
<td> </td>
<td><span style="font-size:14pt">E-Mail</span></td>
<td><input type="text" name="EMail" class="normal"</td>
</tr>
<tr>
<td colspan="5" style="text-align:center;">
<center>
<table>
<tr>
<td><p align="center"><span style="font-size:14pt">Entry: </span></p></td>
<td><p ailgn="center"><textarea name="Textfeld" cols="25" rows="5"></textarea></p></td>
<a href="javascript:SmilieEinfuegen(':-)')"><img border="0" src="smilie1.gif"></a>
<a href="javascript:SmilieEinfuegen('')"><img border="0" src="smilie2.gif"></a>
<a href="javascript:SmilieEinfuegen(':))')"><img border="0" src="smilie3.gif"></a>
<a href="javascript:SmilieEinfuegen('')"><img border="0" src="smilie4.gif"></a>
</tr>
</table>
</center>
</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><p align="center"><input type="submit" value="Enter"></p></td>
<td><p align="center"><input type="reset" value="Delete"></p></td>
</tr>
</table>
</form>
</body>
</html>
und hier die speichern.php :
<html>
<head>
</head>
<body text="#020D6A" bgcolor="#C5CAFE" link="#020D6A" alink="#020B57" vlink="#020A48">
<?php
$feld = array();
$name = $_POST["Name"];
$email = $_POST["EMail"];
$eintrag = $_POST["entry"];
if ($name == "") $feld[] = "Name";
if ($email == "") $feld[] = "E-Mail";
if (!count($feld) == 0) { ?>
<form name="entry" action="eintrag.php" method="post">
<h1>Type error:</h1>
<span style="font-size:14pt">The Following fields are empty: <ul>
<?php foreach ($feld as $fehler) { echo "<li>".$fehler; } ?> <br> <br> </ul>
<input type="submit" value="Back"> </span></form>
<?php exit(); } else { ?> <span style="font-size:20pt">
<p align="center">Thank you
<?php echo $name?> for your entry.</p></span>
<br> <br> <form name="entry" action="gb_eintrag.php" method="post">
<p align="center"><input type="submit" value="Next"></p> </form>
<?php } ?>
<?php include "dbXXX.php";
$datum = time(); mysql_query("INSERT INTO gbook VALUES('','$name','$email','$eintrag');") or die(mysql_error()); ?>
</body>
</html
-
Mir ist aufgefallen, dass du den include weit unten machst!
Setze ihn bitte an den Anfang eines jeden Scripts!
Das d?rfte glaub ich dein Problem beheben. -
Das hilft nix jetzt steht nur oben das mit den fehlern und unten noch no database und so.
(ich hab das include so eingebunden: <?php include "dbXXX.php"; ?> -
hallo,
den include musst du so schreiben:
<?php
include("dbXXX.php");
?>
damit sollte es gehen.
Gru?
B1G-B -
Database is jetzt selected der scriptfehler wird immer noch ausgegeben, die angaben wie passwort und so hab ich doppelt ?berpr?ft, es wird immer der fehler ausgegeben........
-
if ((($dblink = mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
kann nicht stimmen..
1. if ($var1 = $var2) -> ist immer TRUE
-> geh?rt so: if($var1 == $var2)
2. Abfrage heisst soviel wie:
Wenn die Verbindung steht und die Datenbank ausgew?hlt wurde - gib den Fehler aus und stoppe das Script.
Schreib lieber:
$dblink = @mysql_connect($dbHost, $dbUser, $dbPW);
$selected = mysql_select_db($dbName, $dbLink);
if (!$selected) die(mysql_error());
MfG Asmodeus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage