Fehler bei Zitieren-Funktion
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
code
date
datenbank
datum
email
ergebnis
farbe
http
inhalt
kopieren
menge
null
ordern
punkt
start
syntax
text
url
zeile
-
Was hab ich bei meiner Zitieren Funktion Falsch gemacht das alle einträge Angezeigt werden?
Hier der Code:
</div> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> <meta name="author" content="Sebastian Dauenhauer"> <meta name="publisher" content="Sebastian Dauenhauer"> <meta name="copyright" content="Sebastian Dauenhauer"> <meta name="description" content="Webseite über PHP und mySQL,sowie guten Buchtipps und ein Gästebuch auch ein Tutorial über die oben genannten Programmiersprachen ist vorhanden"> <meta name="keywords" content="PHP,mySQL,Tutorial,Hilfe,Gästebuch,Buchtipps,Hilfen, Programmieren,erklärung,Scripts,Beispiele,lernen"> <meta name="page-type" content="Anleitung"> <meta name="audience" content="Anfänger"><meta http-equiv="content-language" content="de"> <meta name="robots" content="index, follow"> <meta http-equiv="refresh" content="120";> <html> <head> <script language="JavaScript" src="http://js.stats.de/j/0000097314"></script> <script language="JavaScript"> rapidstats(97314); </script> <noscript> <a href="http://www.stats.de" target="_blank"> <img src="http://srv1.stats.de/l/0000097314?js=0" border="0" alt=""> </a> </noscript> <style type="text/css"> div#test{ border: solid #000000; width: 100%} td#regist{ border: solid #000000; width: 100% } div#omg{ border: solid #000000;background-color: #C0C0C0; width: 50% } td#Titel{ border-bottom: solid #000000; } a:link{color:#09f;text-decoration: none;} a:hover{color:#fff;text-decoration: underline;} </style> </head> </style> <style type="text/css"> body { color: black; background-color: #ffff66; font-size: 101.01%; font-family: Helvetica,Arial,sans-serif; margin: 0; padding: 1em; min-width: 41em; /* Body */ text-align:left; } body a:link { color: #0099CC; } body a:visited { color: #0099CC; } body a:hover { color: #fff; } h4 { font-size: 0.8em; margin: 0 0 0.7em; padding: 0.3em; text-align: left; background-color: #112; /* Bei H4 */ } h3 { font-size: 0.8em; margin: 0 0 0.7em; padding: 0.3em; text-align: left; background-color: #555; /* Bei H2 */ color:#000; border: 7px ridge #333; } h5 { font-size: 0.8em; margin: 0 0 0.0em; padding: 0.3em; text-align: center; background-color: #ffffaa; /* Bei h5 */ border: 7px ridge #333; } ul#Navigation { font-size: 0.83em; float: left; width: 18em; margin: 0 0 1.2em; padding: 0; border: 3px outset #333; } ul#Navigation li { list-style: none; margin: 0; padding: 0.5em; } ul#Navigation a { /* Navigation */ display: block; padding: 0.2em; font-weight: bold; } ul#Navigation a:link { color: #0099CC; } ul#Navigation a:visited { color: #0099CC; } ul#Navigation a:active { color: #0098cc; background-color:#ffff55; } ul#Navigation { color: #0099CC; background-color: #ffffaa; } ul#Navigation a:hover { color: #fff; background-color: #000066; } ul#Navigation a { display:block; padding: 0.2em; text-decoration: none; font-weight: bold; border: 1px solid black; border-left-color: silver; border-top-color: white; color: maroon; background-color: #000011; } ul#Navigation span { display:block; padding: 0.2em; text-decoration: none; font-weight: bold; border: 1.3px solid black; border-left-color: #002; border-top-color: #003; color: #fff; background-color: #004; } div#Inhalt { margin: 0 0em 0em 16em; padding: 0 1em; border: 1px solid silver; color: #000; background-color: #ffffaa; } * html div#Inhalt { height: 1em; } div#Inhalt h2 { font-size: 1.2em; margin: 0.2em 0; } div#Inhalt p { font-size: 1em; margin: 1em 0; } input { background-color: #FFFFEE; color: #111; border:1px solid; font-family: Arial, Helvetica, sans-serif; } textarea { background-color: #FFFFEE; color: #111; border:1px solid; font-family: Arial, Helvetica, sans-serif; } select { background-color: #000011; color: #0099cc; border:0px solid; font-family: Arial, Helvetica, sans-serif; } a:link { text-decoration:none; } a:visited { text-decoration:none; } a:hover { text-decoration:underline; } a:active { text-decoration:underline; } img{border: none;} </style> <script src="jquery.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ /*Box klein machen*/ $('a#klein').click(function(){ $('div').animate({ height: 80, width: 120 }, "fast", function(){}); }) /*Die Box große machen*/ $('a#gross').click(function(){ $('div').animate({ height: 200, width: 800 }, "slow", function(){}); }) /*Mehrer Effekte bestimmen*/ $("a#slideFade").toggle(function(){ $("div#Fusszeile").animate({ height: 'hide', opacity: 'hide' }, 'slow'); },function(){ $("div#Fusszeile").animate({ height: 'show', opacity: 'show' }, 'slow'); }) }); </script> </head> <body bgcolor="#FFFE8E"> <h5>Willkommen </h5> <br /> <ul id="Navigation"> <li><a href="index.php">Home</a></li> <li><span>Gästebuch</span></li> <li><a href="Toturial.php">PHP & mySQL</a></li> <li><a href="Buecher.php">PHP & mySQL Buchempfelungen</a></li> <li><a href="Impressum.php">Impressum</a></li> </ul> <div id="Inhalt" > <br /> <h1>Gaestefun.lima-city.de!</h1><br /> <a href="fb.php">Übersicht<a/> <br /><br /> <a href="#" id="slideFade">Beiträge ausblenden</a> <br /><br /> <?php $seite = $_GET["seite"]; if(!isset($seite)) { $seite = 1; } function Text( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[size= big\](.*?)\[\/size\]/', '<h1>$1</h1>', $bb); $bb = preg_replace('/\[size= large\](.*?)\[\/size\]/', '<h2>$1</h2>', $bb); $bb = preg_replace('/\[size= small\](.*?)\[\/size\]/', '<h6>$1</h6>', $bb); $bb = preg_replace('/\[li\](.*?)\[\/li\]/', '<li>$1</li>', $bb); $bb = preg_replace('/\[line\](.*?)\[\/line\]/', '<hr />$1', $bb); $bb = preg_replace('/\[quote\](.*?)\[\/quote\]/', '<pre style="background-color: #C0C0C0;border-left: solid;border-left-color: #000000">$1</pre>', $bb); $bb = preg_replace('/\[happy\](.*?)\[\/happy\]/', ' <img src="supersmile.gif" border="0" height="30" width="40" alt="happy" />$1', $bb); $bb = preg_replace('/\[sad\](.*?)\[\/sad\]/', '<img src="angry.gif" border="0" height="30" width="40" alt="Böse" /> $1', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb); $bb = preg_replace('/\[img=([^ ]+).*\](.*)\[\/img\]/', '<img src="$1" height="50" width="50"/>$2', $bb); $bb = preg_replace('/\n/', "<br/>\n", $bb); return $bb; } $eintraege_pro_seite = 30; $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; $abfrage = "SELECT * FROM gaestebuch WHERE aktiv = '1' ORDER BY id DESC LIMIT $start, $eintraege_pro_seite"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $inhalt = $row->inhalt; $inhalt = htmlentities($inhalt); $text = nl2br($inhalt); $datum = date("d.m.Y H:i", $row->datum); $Titel = $row->Titel; if($row->email == "") { $name = "<b>$row->name</b>"; $mail = ""; } else { $name = "<a href=\"mailto:$row->email\">$row->name</a>"; } $formatiert = Text( $text ); $username = $_Post["username"]; echo " <h2>Wollen Sie einen Beitrag hinzufügen?</h2><br/> <p style=\"background-color: #cccccc;border: solid;border-color: #000000\"> Überschrift(bei neuem Thema):<br /> <input name=\"ueber\" size=\"40\" value=\"$nam\" /><br><br> Name(Spitzname):<br /> <input name=\"name\" size=\"40\" value=\"$nam\" /><br><br> E-Mail(optional):<br /> <input name=\"email\" size=\"40\" /><br> Titel:<br /> <input name=\"titel\" size=\"40\" value=\"$tit\" /><br><br> Inhalt:<br /> <textarea name=\"inhalt\" cols=\"40\" rows=\"7\" wrap=\"physical\">$text</textarea><br /> <input type=\"submit\" value=\"Absenden\" /> </p> <br /> </form> </body> "; } $result = mysql_query("SELECT id FROM gaestebuch WHERE aktiv = '1'"); $menge = mysql_num_rows($result); $wieviel_seiten = $menge / $eintraege_pro_seite; echo "<div align=\"center\">"; echo "<b>Seite:</b> "; for($a=0; $a < $wieviel_seiten; $a++) { $b = $a + 1; if($seite == $b) { echo " <b>$b</b> "; } else { echo " <a href=\"?seite=$b\">$b</a> "; } } echo "</div>"; echo" </td> <td name=\"regist\"> <b>BB-codes:</b><br /> [b][/b]=<b>Fett</b>; <br /> [i][/i]=<i>Kursiv</i>;<br /> [size= big][/size]=Größer;<br /> [size= large][/size]=Groß<br /> [size= small][/size]=Klein; <br /> [li][/li]=Punkt ; [line][/line]=linie ; <br /> [happy][/happy]= <br /> [sad][/sad]= <br /> [color=][/color]=<font color=\"#ff0000\">Farbe</font> ; <br /> [url=[/url]=<a href=\"\">Link</a> <br /> [img=][/img] =Bild <br /> </td> </table> </form> " ?> </div> </div> <td ></td> </body> </html>
Beitrag zuletzt geändert: 3.12.2009 13:03:24 von gaestefun -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du hast eine Schleife drin, die jeden Eintrag anzeigt.
$abfrage = "SELECT * FROM gaestebuch WHERE aktiv = '1' ORDER BY id DESC LIMIT $start, $eintraege_pro_seite"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $inhalt = $row->inhalt; $inhalt = htmlentities($inhalt); $text = nl2br($inhalt); $datum = date("d.m.Y H:i", $row->datum); $Titel = $row->Titel;
Du solltest nur den Beitrag herausfiltern den du auch zitieren magst. Am besten machst du das wohl mit einer WHERE-Klausel im SQL-Statement bei Select.
$abfrage = "SELECT * FROM gaestebuch WHERE feldnamedeinerid=". $variablederid""";
Die ID kannst du bei jedem Eintrag in der Zitierverlinkung mit der Methode GET übergeben. Du musst dann nur einen Link basteln der in etwas so aussieht (und zwar in der Datei, welche das Gästebuch anzeigt, bei dir Test.php):
Beispiel:
http://gaestefun.lima-city.de/eingang.php?id=1
Beitrag zuletzt geändert: 3.12.2009 12:59:53 von karpfen -
mmh jetzt hab ich was falsch gemacht...
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/webpages/lima-city/gaestefun/html/eingang.php on line 294
-
Dann poste doch mal die Zeile 280 bis 300.
-
$link = mysql_connect("","","") or die ("Keine Verbindung moeglich<br />Server möglicherweiße offline!"); mysql_select_db("") or die ("Die Datenbank existiert nicht"); $eintraege_pro_seite = 30; $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; $abfrage = "SELECT * FROM gaestebuch WHERE id=". $_GET['id'] ."""; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $inhalt = $row->inhalt; $inhalt = htmlentities($inhalt); $text = nl2br($inhalt); $datum = date("d.m.Y H:i", $row->datum); $Titel = $row->Titel;
Beitrag zuletzt geändert: 3.12.2009 13:18:08 von karpfen -
Hab da was bei meinem Beispiel oben vergessen und in deinem Beitrag entsprechend abgeändert. Kannst eigentlich so kopieren
Du darfst natürlich normalerweise nicht alles 1:1 kopieren, ich kenne ja deine Datenbank nicht. Zudem solltest du dich mal in die PHP und mysql-Grundlagen einlesen, wenn du solche Spässe öfters machen willst!
Beitrag zuletzt geändert: 3.12.2009 13:21:21 von karpfen -
Das hab ich ja versucht:
<div id=\"Fusszeile\" > <div id=\"Test\"> <table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"6\" bgcolor=\"#000000\" width=\"100%\"> <td bgcolor=\"#000000\" style=\"background-image:url(ueber.jpg);color: #000000 ;\" name=\"Titel\" > <b>$Titel</b><pre><a href=\"http://gaestefun.lima-city.de/eingang.php?id=1\">Zitieren<a> </pre> </td> <tr> <td style=\"background-image:url(Pape.jpg);\"> $formatiert <br /> <br /> <br /> </td> </div> </td> <tr bgcolor=\"#666666\"> <td> Von <b>$name</b> $mail am <b>$datum</b> </td> </tr> </div> </tr> </table> </div> </div> <br />
Jetzt kommt das:
Parse error: syntax error, unexpected '"' in /home/webpages/lima-city/gaestefun/html/eingang.php on line 294
Beitrag zuletzt geändert: 3.12.2009 13:23:40 von gaestefun -
Ich habs net so mit Anführungsstrichen
Folgende Zeile:
$abfrage = "SELECT * FROM gaestebuch WHERE id=". $_GET['id'] .""";
bitte mal in diese ändern:
$abfrage = "SELECT * FROM gaestebuch WHERE id=". $_GET['id'] .";
-
mmh
Parse error: syntax error, unexpected T_STRING in /home/webpages/lima-city/gaestefun/html/eingang.php on line 301
mein editor sagt mir das ihrgendwo ein " zuviel ist..... -
Bitte poste immer die in der Fehlermeldung angezeigte Zeile (in diesem Fall 301) und am besten noch ein paar Zeilen davor und danach.
Mach mal aus der oben geposteten Zeile das hier:
$abfrage = "SELECT * FROM gaestebuch WHERE id=". $_GET['id'] ."";
Beitrag zuletzt geändert: 3.12.2009 13:31:56 von karpfen -
OK...Jetzt wird die seite Angezeigt...
Aber fehlerhaft:
http://gaestefun.lima-city.de/eingang.php?id=1 -
Poste doch bitte mal den jetzigen Stand deiner Datei eingang.php.
-
Hier der PHP teil:
<?php $seite = $_GET["seite"]; if(!isset($seite)) { $seite = 1; } function Text( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[size= big\](.*?)\[\/size\]/', '<h1>$1</h1>', $bb); $bb = preg_replace('/\[size= large\](.*?)\[\/size\]/', '<h2>$1</h2>', $bb); $bb = preg_replace('/\[size= small\](.*?)\[\/size\]/', '<h6>$1</h6>', $bb); $bb = preg_replace('/\[li\](.*?)\[\/li\]/', '<li>$1</li>', $bb); $bb = preg_replace('/\[line\](.*?)\[\/line\]/', '<hr />$1', $bb); $bb = preg_replace('/\[quote\](.*?)\[\/quote\]/', '<pre style="background-color: #C0C0C0;border-left: solid;border-left-color: #000000">$1</pre>', $bb); $bb = preg_replace('/\[happy\](.*?)\[\/happy\]/', ' <img src="supersmile.gif" border="0" height="30" width="40" alt="happy" />$1', $bb); $bb = preg_replace('/\[sad\](.*?)\[\/sad\]/', '<img src="angry.gif" border="0" height="30" width="40" alt="Böse" /> $1', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb); $bb = preg_replace('/\[img=([^ ]+).*\](.*)\[\/img\]/', '<img src="$1" height="50" width="50"/>$2', $bb); $bb = preg_replace('/\n/', "<br/>\n", $bb); return $bb; } $link = mysql_connect("","","") or die ("Keine Verbindung moeglich<br />Server möglicherweiße offline!"); mysql_select_db("") or die ("Die Datenbank existiert nicht"); $eintraege_pro_seite = 30; $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; $abfrage = "SELECT * FROM gaestebuch WHERE id=". $_GET['id'] .""; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $inhalt = $row->inhalt; $inhalt = htmlentities($inhalt); $text = nl2br($inhalt); $datum = date("d.m.Y H:i", $row->datum); $Titel = $row->Titel; if($row->email == "") { $name = "<b>$row->name</b>"; $mail = ""; } else { $name = "<a href=\"mailto:$row->email\">$row->name</a>"; } $formatiert = Text( $text ); $username = $_Post["username"]; echo " <h2>Wollen Sie einen Beitrag hinzufügen?</h2><br/> <p style=\"background-color: #cccccc;border: solid;border-color: #000000\"> Überschrift(bei neuem Thema):<br /> <input name=\"ueber\" size=\"40\" value=\"$nam\" /><br><br> Name(Spitzname):<br /> <input name=\"name\" size=\"40\" value=\"$nam\" /><br><br> E-Mail(optional):<br /> <input name=\"email\" size=\"40\" /><br> Titel:<br /> <input name=\"titel\" size=\"40\" value=\"$tit\" /><br><br> Inhalt:<br /> <textarea name=\"inhalt\" cols=\"40\" rows=\"7\" wrap=\"physical\">$text</textarea><br /> <input type=\"submit\" value=\"Absenden\" /> </p> <br /> </form> </body> "; } $result = mysql_query("SELECT id FROM gaestebuch WHERE aktiv = '1'"); $menge = mysql_num_rows($result); $wieviel_seiten = $menge / $eintraege_pro_seite; echo "<div align=\"center\">"; echo "<b>Seite:</b> "; for($a=0; $a < $wieviel_seiten; $a++) { $b = $a + 1; if($seite == $b) { echo " <b>$b</b> "; } else { echo " <a href=\"?seite=$b\">$b</a> "; } } echo "</div>"; echo" </td> <td name=\"regist\"> <b>BB-codes:</b><br /> [b][/b]=<b>Fett</b>; <br /> [i][/i]=<i>Kursiv</i>;<br /> [size= big][/size]=Größer;<br /> [size= large][/size]=Groß<br /> [size= small][/size]=Klein; <br /> [li][/li]=Punkt ; [line][/line]=linie ; <br /> [happy][/happy]= <br /> [sad][/sad]= <br /> [color=][/color]=<font color=\"#ff0000\">Farbe</font> ; <br /> [url=[/url]=<a href=\"\">Link</a> <br /> [img=][/img] =Bild <br /> </td> </table> </form> " ?>
-
Kannst du mir bitte mal die Feldnamen in der Tabelle gaestebuch hier posten?
Und am besten auch einen existierenden Beispielsdatensatz.
Beitrag zuletzt geändert: 3.12.2009 13:43:29 von karpfen -
Hier sind alle Feldnamen:
Feld Typ Kollation Attribute Null Standard Extra Aktion id int(5) Nein Kein auto_increment datum int(11) UNSIGNED Ja NULL name varchar(150) latin1_swedish_ci Ja NULL email varchar(150) latin1_swedish_ci Ja NULL inhalt text latin1_swedish_ci Ja NULL aktiv tinyint(1) UNSIGNED Ja NULL Titel varchar(150) latin1_swedish_ci Nein u_Titel varchar(150) latin1_swedish_ci Nein
id datum name email inhalt aktiv Titel u_Titel 130 1259843610 123 123 123 1 123
Beitrag zuletzt geändert: 3.12.2009 13:51:43 von gaestefun -
http://gaestefun.lima-city.de/eingang.php?id=79
oder
http://gaestefun.lima-city.de/eingang.php?id=130
Das lag daran, dass du keinen Datensatz mit ID=1 hast.
Es müsste nun also auch noch das Gästebuchskript angepasst werden.
Aber wenn ich ehrlich bin ist bei dir irgendwann mal einiges schief gelaufen. Der Code ist absoluter Mist. Nicht böse gemeint
Beitrag zuletzt geändert: 3.12.2009 13:52:05 von karpfen -
ok funktioniert,hab es mit $id gemacht^^
PS:Ich weiß das man als nicht schreiber des textes keinen durchblick im code hat
Edit by karpfen: Damit closed. Bei Rückfragen oder Öffnungswunsch bitte PN an mich!
Beitrag zuletzt geändert: 3.12.2009 14:04:39 von karpfen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage