SacrefiZer Skrevet 25. november 2005 Del Skrevet 25. november 2005 Hei. Linker over til forskjellige sider på nettsiden min med sånn php linking. (vet ikke hva jeg skal kalle det) Men har satt opp og redigert en gjestebok, men problemet er at når jeg linker til gjestebok.php som ligger i /inc/ så kommer det opp at finner ikke filen innlegg.dat. men om jeg skriver inn URL'n til gjestebok siden så kommer den opp med en gang. Skal ha denne siden i main layeret mitt. Men når jeg går frem for å legge til innlegg så tilbake så kommer det opp på URL'n /inc/gjestebok.php?page=1 Så jeg tror at den også bruker sånn "php linking". Men som sagt jeg er ikke sikker og vet ikke hva jeg skal gjøre. Håper noen kan hjelpe meg.. Takk for all hjelp. Mvh. SacrefiZer Lenke til kommentar
stian90_2 Skrevet 26. november 2005 Del Skrevet 26. november 2005 Kan du legge ut scriptet. eventuelt link til sia di, så skal det vel være fort gjort og fikse det får vi håpe.. Lenke til kommentar
SacrefiZer Skrevet 26. november 2005 Forfatter Del Skrevet 26. november 2005 Siden min. Ikke gjør narr av noe eller kom med negative komentarer vær så snill, er ikke det jeg er ute etter. Mvh. SacrefiZer Lenke til kommentar
Authority Skrevet 26. november 2005 Del Skrevet 26. november 2005 legg ut hele php-koden din. Lenke til kommentar
eydybdal Skrevet 26. november 2005 Del Skrevet 26. november 2005 (endret) For det første, legg merke til URL'en til gjesteboken din: http://www.spill.frac.dk/ny/index.php?p=gjestebok?p=page=1 når du definerer en variabel i en URL så begynner du den første med ?, neste blir &, tredje blir &, osv... For det andre... Først setter du p=gjestebok, så setter du p=page=1... En variabel kan ikke inneholde flere verdier, når du definerer en variabel på nytt så overskriver du den gamle verdien i variabelen. Jeg vil tro den riktige URL'en din skal være: http://www.spill.frac.dk/ny/index.php?p=gjestebok&page=1 *edit* Jeg klikka på linken "http://www.spill.frac.dk/ny/index.php?p=gjestebok&page=1", og fikk en nokså fin feil melding på siden din: Error !! Can't find data file : ardgb17.dat. Endret 26. november 2005 av eydybdal Lenke til kommentar
SacrefiZer Skrevet 26. november 2005 Forfatter Del Skrevet 26. november 2005 (endret) *edit*Jeg klikka på linken "http://www.spill.frac.dk/ny/index.php?p=gjestebok&page=1", og fikk en nokså fin feil melding på siden din: Error !! Can't find data file : ardgb17.dat. 5208759[/snapback] Hva skal jeg gjøre med denne koden i scriptet mitt da?: [B]if (!file_exists($data_file)) { echo "<b>Error !!</b> Kan ikke finne filen : $data_file.<br>"; exit; } Her er hele:(dere ba om det, men det er MYE da) <?PHP if (!isset($p)) { $p = "hovedsiden"; } $incfile = "./inc/" . $p . ".php"; if (file_exists($incfile)) { include($incfile); } else { echo "Siden finnes ikke"; } ?> <? //--Change the following variables //Title of your guestbook $title = ""; //Change "admin" with your own password. It's required when you delete an entry $admin_password = "XXXXXX"; //Enter your email here $admin_email = "[email protected]"; //Your website URL $home = "http://www.spill.frac.dk/ny/index.php"; //Send you an email when someone add your guestbook, YES or NO $notify = "NO"; //Your Operating System //For Windows/NT user : WIN //For Linux/Unix user : UNIX $os = "WIN"; //Maximum entry per page when you view your guestbook $max_entry_per_page = "5"; //Name of file used to store your entry, change it if necessary $data_file = "data.dat"; //Maximum entry stored in data file $max_record_in_data_file = "300"; //Maximum entries allowed per session, to prevent multiple entries made by one visitor $max_entry_per_session = 2; //Color & font setting $background = "#ffffff"; $table_top = "#ffffff"; $table_content_1a = "#ffffff"; $table_content_1b = "#ffffff"; $table_content_2a = "#ffffff"; $table_content_2b = "#ffffff"; $table_bottom = "#FFFFFF"; $table_border = "#999999"; $title_color = "black"; $link = "gray"; $visited_link = "gray"; $active_link = "gray"; $font_face = "verdana"; $message_font_face = "arial"; $message_font_size = "2"; //-- Don't change bellow this line unless you know what you're doing $do = isset($_REQUEST['do']) ? trim($_REQUEST['do']) : ""; $id = isset($_GET['id']) ? trim($_GET['id']) : ""; $page = isset($_GET['page']) ? $_GET['page'] : 1; $self = $_SERVER['PHP_SELF']; if (!file_exists($data_file)) { echo "<b>Error !!</b> Kan ikke finne filen : $data_file.<br>"; exit; } else { if ($max_record_in_data_file != "0") { $f = file($data_file); rsort($f); $j = count($f); if ($j > $max_record_in_data_file) { $rf = fopen($data_file,"w"); if (strtoupper($os)=="UNIX") { if (flock($rf,LOCK_EX)) { for ($i=0; $i<$max_record_in_data_file; $i++) { fwrite($rf,$f[$i]); } flock($rf,LOCK_UN); } } else { for ($i=0; $i<$max_record_in_data_file; $i++) { fwrite($rf,$f[$i]); } } fclose($rf); } } } session_start(); $newline = (strtoupper($os) == "WIN") ? "\r\n" : "\n"; switch ($do) { case "": $record = file($data_file); rsort($record); $jmlrec = count($record); ?> <font size="6" color="<?=$title_color?>"><b><?=$title?></b></font><br> <font size="2" color="<?=$title_color?>">(:: <b><a href="<?=$home?>"><font color="<?=$title_color?>">Hovedsiden</font></a></b> ::)</font><br><br> <table width="600" cellpadding="0" cellspacing="1" border="0"> <tr bgcolor="<?=$table_border?>"> <td> <table width="100%" cellpadding="4" cellspacing="1" border="0"> <tr> <td width="100%" height="30" colspan="3" bgcolor="<?=$table_top?>"> <font size="2" color="#000000"><b>Trykk <a href="<?="$self?do=add_form&page=$page"?>">her</a> for å skrive i gjesteboken.</font> </td> </tr> <? $jml_page = intval($jmlrec/$max_entry_per_page); $sisa = $jmlrec%$max_entry_per_page; if ($sisa > 0) $jml_page++; $no = $page*$max_entry_per_page-$max_entry_per_page; if ($jmlrec == 0) echo "<tr><td colspan=\"3\" bgcolor=\"#FFFFFF\" align=\"center\"><font size=\"3\">Det er ingen innlegg her.</font></td></tr>"; $w = 0; //--Color for ($i=0; $i<$max_entry_per_page; $i++) { $no++; $recno = $no-1; if (isset($record[$recno])) { $row = explode("|~|",$record[$recno]); if ($w==0) { $warna = $table_content_1a; $warna2 = $table_content_1b; $w=1; } else { $warna = $table_content_2a; $warna2 = $table_content_2b; $w=0; } echo "<tr> <td bgcolor=\"$warna2\" align=\"center\" valign=\"top\" width=\"15\"> <font size=\"2\">$no</font> </td> <td bgcolor=\"$warna\" width=\"570\"> <table border=\"0\" width=\"100%\"> <tr> <td> <font size=\"1\">$row[2]</font><br> <font size=\"2\"><b>$row[3]</b></font> </td> "; echo "<td align=\"right\" valign=\"top\">"; if (trim($row[4]) != "") { echo "<a href=\"mailto:$row[4]\"><img src=\"imgs/email.gif\" border=\"0\" alt=\"$row[4]\"></a>"; } if (trim($row[6]) != "" && trim($row[6]) != "http://") { if (ereg("^http://", trim($row[6]))) echo " <a href=\"$row[6]\" target=\"_blank\"><img src=\"imgs/homepage.gif\" border=\"0\" alt=\"$row[6]\"></a>"; else echo " <a href=\"http://$row[6]\" target=\"_blank\"><img src=\"imgs/homepage.gif\" border=\"0\" alt=\"$row[6]\"></a>"; } echo "</td></tr></table>"; echo "<br><table border=\"0\" width=\"100%\"> <tr><td width=\"5\"> </td><td> <font size=\"2\" face=\"$message_font_face\" size=\"$message_font_size\">".stripslashes($row[5])."</font> </td></tr> </table> "; echo "</td>"; echo "<td valign=\"top\" bgcolor=\"$warna2\" align=\"center\" width=\"15\"> <a href=\"$self?do=del&id=$row[1]&page=$page\"> <img src=\"imgs/del.gif\" alt=\"Delete entry # $no\" border=0 align=\"center\"></a> </td> </tr>"; } //--end if } //--end for echo "<tr><td colspan=\"3\" bgcolor=\"$table_bottom\" align=\"center\" width=\"600\"><font size=\"2\">"; if ($jml_page > 1) { if ($page != 1) echo "[<a href=\"$self?page=1\">Top</a>] "; else echo "[Top] "; echo "Page # "; if ($jml_page > 10) { if ($page < 5) { $start = 1; $stop = 10; } elseif ($jml_page - $page < 5) { $start = $jml_page - 9; $stop = $jml_page; } else { $start = $page-4; $stop = $page+5; } if ($start != 1) echo "... "; for ($p=$start; $p<=$stop; $p++) { if ($p == $page) echo "<font color=\"$active_link\"><b>$p</b></font> "; else echo "<a href=\"$self?page=$p\">$p</a> "; } if ($stop != $jml_page) echo "... "; echo "of $jml_page "; } else { for ($p=1; $p<=$jml_page; $p++) { if ($p == $page) echo "<font color=\"$active_link\"><b>$p</b></font> "; else echo "<a href=\"$self?page=$p\">$p</a> "; } } if ($page != $jml_page) echo "[<a href=\"$self?page=$jml_page\">Bottom</a>]"; else echo "[bottom]"; } else echo "Page #1 of 1"; echo "</font></td></tr>"; ?> </table> </td> </tr> </table> <br><br> <? break; case "add_form": $_SESSION['secc'] = strtoupper(substr(md5(time()),0,4)); if (!isset($_SESSION['add'])) $_SESSION['add'] = 0; if (!isset($_SESSION['name'])) $_SESSION['name'] = ""; if (!isset($_SESSION['email'])) $_SESSION['email'] = ""; if (!isset($_SESSION['url'])) $_SESSION['url'] = "http://"; if (!isset($_SESSION['comment'])) $_SESSION['comment'] = ""; ?> <html> <head> <title><?=$title?></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <body bgcolor="<?=$background?>" style="font-family:<?=$font_face?>"> <div align="center"> <font size="5" color="<?=$title_color?>"><b><?=$title?></b></font><br> <font size="1"><b><a href="<?=$home?>"><font color="<?=$title_color?>">Hovedside</font></a> :: <a href="<?=$self?>"><font color="<?=$title_color?>">Se innlegg</font></a></b></font> <form method="post" action="<?=$self?>"> <input type="hidden" name="do" value="add"> <table width="500" border="0" cellspacing="0" cellpadding="0" bgcolor="<?=$table_border?>"> <tr> <td> <div align="center"> <table width="100%" border="0" cellspacing="1" cellpadding="5"> <tr bgcolor="<?=$table_content_1a?>"> <td width="28%"> <div align="right"><font size="2">*Navn : </font></div> </td> <td width="72%"> <input type="text" name="vname" size="30" maxlength="70" value="<?=$_SESSION['name']?>"> </td> </tr> <tr bgcolor="<?=$table_content_1a?>"> <td width="28%"> <div align="right"><font size="2">Email : </font></div> </td> <td width="72%"> <input type="text" name="vemail" size="30" maxlength="100" value="<?=$_SESSION['email']?>"> </td> </tr> <tr bgcolor="<?=$table_content_1a?>"> <td width="28%"> <div align="right"><font size="2">Webside : </font></div> </td> <td width="72%"> <input type="text" name="vurl" size="30" maxlength="150" value="<?=$_SESSION['url']?>"> </td> </tr> <tr bgcolor="<?=$table_content_1a?>"> <td valign="top" width="28%"> <div align="right"><font size="2">*Innlegg : </font></div> </td> <td width="72%"> <textarea name="vcomment" cols="40" rows="7" wrap="virtual"><?=$_SESSION['comment']?></textarea> <br><font size="1">* Må fylles ut.</font> </td> </tr> <tr bgcolor="<?=$table_content_1a?>"> <td width="28%"> <div align="right"><font size="2">Godkjennings kode :</font></div> </td> <td width="72%"> <font size="1">Vennligst tast inn koden nedenfor på nytt :</font> <font size="2"><b><?=$_SESSION['secc']?></b></font><br> <input type="text" name="vsecc" size="4" maxlength="4"> </td> </tr> <tr bgcolor="<?=$table_content_1b?>"> <td colspan="2"> <div align="center"> <font size="2"> <input type="submit" value="Godta"> <input type="reset" value="Fjern"> <input type="button" value="Tilbake" onclick="window.location='<?="$self?page=$page"?>'"> </font> </div> </td> </tr> </table> </div> </td> </tr> </table> </form> </div> </body> </html> <!-- End of entry form --> <? break; case "add": $vname = isset($_POST['vname']) ? trim($_POST['vname']) : ""; $vemail = isset($_POST['vemail']) ? trim($_POST['vemail']) : ""; $vurl = isset($_POST['vurl']) ? trim($_POST['vurl']) : ""; $vcomment = isset($_POST['vcomment']) ? trim($_POST['vcomment']) : ""; $vsecc = isset($_POST['vsecc']) ? strtoupper($_POST['vsecc']) : ""; if (strlen($vname) > 70) $vname = substr($vname,0,70); if (strlen($vemail) > 100) $vemail = substr($vemail,0,100); if (strlen($vurl) > 150) $vurl = substr($vurl,0,150); $_SESSION['name'] = $vname; $_SESSION['email'] = $vemail; $_SESSION['url'] = $vurl; $_SESSION['comment'] = stripslashes($vcomment); if ($vname == "" || $vcomment == "") { input_err("You may left some fields."); } if ($vemail != "" && !preg_match("/([\w\.\-]+)(\@[\w\.\-]+)(\.[a-z]{2,4})+/i", $vemail)) { input_err("Invalid email address."); } if ($vurl != "" && strtolower($vurl) != "http://") { if (!preg_match ("#^http://[_a-z0-9-]+\\.[_a-z0-9-]+#i", $vurl)) { input_err("Invalid URL format."); } } $test_comment = preg_split("/[\s]+/",$vcomment); $jmltest = count($test_comment); for ($t=0; $t<$jmltest; $t++) { if (strlen(trim($test_comment[$t])) > 70) { input_err("Invalid word found on your entry : ".stripslashes($test_comment[$t])); } } if (isset($_SESSION['add']) && $_SESSION['add'] >= $max_entry_per_session) { input_err("Beklager, bare $max_entry_per_session innlegg tillat per session.",false); } elseif (!isset($_SESSION['add'])) { exit; } if ($vsecc != $_SESSION['secc']) { input_err("Invalid verification code"); } //--only 2000 characters allowed for comment, change this value if necessary $maxchar = 2000; if (strlen($vcomment) > $maxchar) $vcomment = substr($vcomment,0,$maxchar)."..."; $idx = date("YmdHis"); $tgl = date("F d, Y - h:i A"); $vname = str_replace("<","<",$vname); $vname = str_replace(">",">",$vname); $vname = str_replace("~","-",$vname); $vname = str_replace("\"",""",$vname); $vcomment = str_replace("<","<",$vcomment); $vcomment = str_replace(">",">",$vcomment); $vcomment = str_replace("|","",$vcomment); $vcomment = str_replace("\"",""",$vcomment); $vurl = str_replace("<","",$vurl); $vurl = str_replace(">","",$vurl); $vurl = str_replace("|","",$vurl); $vemail = str_replace("<","",$vemail); $vemail = str_replace(">","",$vemail); $vemail = str_replace("|","",$vemail); if (strtoupper($os) == "WIN") { $vcomment = str_replace($newline,"<br>",$vcomment); $vcomment = str_replace("\r","",$vcomment); $vcomment = str_replace("\n","",$vcomment); } else { $vcomment = str_replace($newline,"<br>",$vcomment); $vcomment = str_replace("\r","",$vcomment); } if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && eregi("^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$",$_SERVER['HTTP_X_FORWARDED_FOR'])) { $ipnum = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ipnum = getenv("REMOTE_ADDR"); } $newdata = "|~|$idx|~|$tgl|~|$vname|~|$vemail|~|$vcomment|~|$vurl|~|$ipnum|~|"; $newdata = stripslashes($newdata); $newdata .= $newline; $tambah = fopen($data_file,"a"); if (strtoupper($os)=="UNIX") { if (flock($tambah,LOCK_EX)) { fwrite($tambah,$newdata); flock($tambah,LOCK_UN); } } else { fwrite($tambah,$newdata); } fclose($tambah); //--send mail if (strtoupper($notify) == "YES") { $msgtitle = "Someone signed your guestbook"; $vcomment = str_replace(""","\"",$vcomment); $vcomment = stripslashes($vcomment); $vcomment = str_replace("<br>","\n",$vcomment); $msgcontent = "Local time : $tgl\n\nThe addition from $vname :\n----------------------------\n\n$vcomment\n\n-----End Message-----"; @mail($admin_email,$msgtitle,$msgcontent,"From: $vemail\n"); } //--clear session $_SESSION['name'] = ""; $_SESSION['email'] = ""; $_SESSION['url'] = "http://"; $_SESSION['comment'] = ""; $_SESSION['add']++; $_SESSION['secc'] = ""; redir($self,"Thank you, your entry has been added."); break; case "del": $record = file($data_file); $jmlrec = count($record); for ($i=0; $i<$jmlrec; $i++) { $row = explode("|~|",$record[$i]); if ($id == $row[1]) { ?> <html> <head><title>Delete record</title></head> <body bgcolor="<?=$background?>" style="font-family:<?=$font_face?>"> <center> <font size="4" color="<?=$title_color?>">Delete Confirmation</font> <br><br> <table border="0" cellpadding="5" cellspacing="1" width="450"> <tr> <td bgcolor="<?=$table_top?>"> <font size="2"> <font size="1"><b><?=$row[2]?></font><br><?=$row[3]?></b> - <a href="mailto:<?=$row[4]?>"><?=$row[4]?></a> <br><br><?=$row[5]?> <br><br><font size="1">IP : <?=$row[7]?></font> </font> </td> </tr> </table> <form action="<?=$self?>" method="post"> <input type="hidden" name="do" value="del2"> <input type="hidden" name="id" value="<?=$id?>"> <input type="hidden" name="page" value="<?=$page?>"> <font color="<?=$title_color?>" size="2"><b>Admin passord : </b></font> <input type="password" name="pwd"> <br><br> <font size="2" color="<?=$title_color?>"><b>»</b><input type="checkbox" name="byip" value="<?=$row[7]?>"> Slett alle lagret IP'er : <?=$row[7]?></font> <br><br> <input type="submit" value="Delete"> <input type="button" value="Cancel" onclick="window.location='<?="$self?page=$page"?>'"> </form> </center> </body> </html> <? } } break; case "del2": $pwd = isset($_POST['pwd']) ? trim($_POST['pwd']) : ""; $id = isset($_POST['id']) ? trim($_POST['id']) : ""; $page = isset($_POST['page']) ? $_POST['page'] : 1; $byip = isset($_POST['byip']) ? $_POST['byip'] : ""; if ($pwd != $admin_password) { redir("$self?page=$page","Feil admin passord !"); } $record = file($data_file); $jmlrec = count($record); for ($i=0; $i<$jmlrec; $i++) { $row = explode("|~|",$record[$i]); if ($byip == "") { if ($row[1] == $id) { $record[$i] = ""; break; } } else { if ($row[7] == $byip) { $record[$i] = ""; } } } $update_data = fopen($data_file,"w"); if (strtoupper($os) == "UNIX") { if (flock($update_data,LOCK_EX)) { for ($j=0; $j<$jmlrec; $j++) { if ($record[$j] != "") { fputs($update_data,$record[$j]); } } flock($update_data,LOCK_UN); } } else { for ($j=0; $j<$jmlrec; $j++) { if ($record[$j] != "") { fputs($update_data,$record[$j]); } } } fclose($update_data); redir("$self?page=$page","Record has been deleted !"); break; } //--end switch function redir($target,$msg) { global $background,$font_face,$title_color; ?> <html> <head> <meta http-equiv="refresh" content="1; url=<?=$target?>"> </head> <body bgcolor="<?=$background?>"> <center><font color="<?=$title_color?>" face="<?=$font_face?>"><h3><?=$msg?></h3>Vennligst vent...</font></center> </body> <html> <? exit; } function input_err($err_msg,$linkback=true) { global $background,$font_face; ?> <html> <head><title>Error !</title></head> <body bgcolor="<?=$background?>"> <center> <br> <table border="1" bgcolor="#000000" cellspacing="0" cellpadding="6"> <tr> <td bgcolor="#FFCC00" align="center"> <font size="3" color="#000000" face="<?=$font_face?>"><b><?=$err_msg?></b><br> <?if ($linkback) {?> <font size="2">Trykk <a href="javascript:history.back()">her</a> og prøv igjen.</font> <?}?> </font> </td> </tr> </table> </center> </body> </html> <? exit; } ?> Mvh. SacrefiZer Endret 27. november 2005 av SacrefiZer Lenke til kommentar
eydybdal Skrevet 26. november 2005 Del Skrevet 26. november 2005 Det er nok ikke noe galt i koden din, men er du sikker på at data fila eksisterer og ligger på riktig plass? Lenke til kommentar
SacrefiZer Skrevet 26. november 2005 Forfatter Del Skrevet 26. november 2005 Ja, er 94.48% sikker. Men evt. om jeg har den feil, hvor skal den være da? Mvh. SacrefiZer Lenke til kommentar
eydybdal Skrevet 26. november 2005 Del Skrevet 26. november 2005 Den skal nok ligge i samme mappe som index.php fila di ligger. Dersom du skal ha data fila di i "inc" mappa, eller en annen mappe så må du legge inn path i scriptet ditt. if (!file_exists($data_file)) { echo "<b>Error !!</b> Kan ikke finne filen : $data_file.<br>"; exit; } else { if ($max_record_in_data_file != "0") { $f = file($data_file); if (!file_exists(./path/$data_file)) { $f = file(./path/$data_file); Lenke til kommentar
SacrefiZer Skrevet 27. november 2005 Forfatter Del Skrevet 27. november 2005 Har fått til nå (nesten) men kan noen si med hvordan i php koden jeg fjerner at den ikke skal gi noen tittel elns. Se feil meld HER. Mvh. SacrefiZer Lenke til kommentar
gather Skrevet 27. november 2005 Del Skrevet 27. november 2005 <?php error_reporting(0); ?> Øverst på siden skulle fikse biffen.. dog hvis du skulle ønske å se errorene endrer du bare 0 til 1 Lenke til kommentar
stian90_2 Skrevet 27. november 2005 Del Skrevet 27. november 2005 Har du <?php // sjekke om brukeren er logget inn session_start(); if ($_SESSION['SESSION NAVN']) $SESSION NAVN=true; else $SESSION NAVN=false; ?> Øverst i index fila ? hvist ikke, prøv det. Husk og endre SESSION NAVN med det navnet du bruker Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå