Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: [php]Ocenianie i komentowanie
Forum PHP.pl > Forum > Przedszkole
-lozSer-
Witajcie, mam pewien problem, mam 1 scrypt, co jest na glosowanie/ocenianie i dodawanie komentow, problem polega na tym, ze nie wiem jak zrobiæ abym móg³ na ka¿dej podstronie ten scrypt, np. w innym scrypcie na same komenty, mo¿na by³o zrobiæ cos takiego, do ka¿dej podstony aby wy¶wietla³y sie komenty wystarczy³o wklei
  1. <?
  2.  $commentID=6;
  3.  include("kom.php"); ?>

Aby na innej stronce/podstronie, zapisywa³y sie osobne komenty wystarczy³o zmienic $commentID=6; ta 6, na cos innego, a ten scrypt kom.php wygl±da tak:
  1. <?
  2.  
  3. $DATADIR="data/";
  4. $FORMAT="<strong><TABLE WIDTH=97% cellspacing=0><TR BGCOLOR=#E0FFFF><TD>%imie% (%email%)</TD><TD ALIGN=RIGHT>%data%</TD></TR><TR></strong><TD COLSPAN=2 BGCOLOR=#FFFFFF>%tekst%</TD></TR></TABLE>";
  5.  
  6. // --------------------------------------------------------
  7.  
  8. $commentID="a$commentID";
  9.  
  10. function displayComments()
  11. {
  12. global $commentID, $start, $DATADIR, $FORMAT;
  13.  
  14. if(strstr($commentID, "/"))
  15. return;
  16.  
  17.  if(!file_exists($DATADIR.$commentID))
  18. return;
  19.  
  20. $file=fopen($DATADIR.$commentID, "r");
  21. flock($file, 1);
  22.  
  23. $i=1;
  24.  
  25. while(!feof($file))
  26. {
  27. $imie=chop(fgets($file, 1000));
  28. $email=chop(fgets($file, 1000));
  29. $data=chop(fgets($file, 1000));
  30. $comment=chop(fgets($file, 100000));
  31.  
  32. if(feof($file))
  33. break;
  34.  
  35. $display=$FORMAT;
  36.  
  37. if($email)
  38. $mailto="<A HREF=\"mailto:$email\">$email</A>";
  39. else
  40. $mailto="Falta e-mail";
  41.  
  42.  
  43. $display=str_replace("%imie%", $imie, $display);
  44. $display=str_replace("%email%", $mailto, $display);
  45. $display=str_replace("%data%", $data, $display);
  46. $display=str_replace("%tekst%", $comment, $display);
  47.  
  48. echo($display);
  49.  
  50. $i++;
  51. }
  52.  
  53. flock($file, 3);
  54. fclose($file);
  55. }
  56.  
  57. function displayForm()
  58. {
  59. global $REQUEST_URI, $commentID;
  60. $id=substr($commentID, 1);
  61. $len=strlen($REQUEST_URI)-strlen(strchr($REQUEST_URI, "?"));
  62. $url=substr($REQUEST_URI, 0, $len);
  63. ?>
  64. <FORM ACTION=<?=$url?> METHOD=POST>
  65. <INPUT TYPE=HIDDEN NAME=COMMENTACTION VALUE=add>
  66. <INPUT TYPE=HIDDEN NAME=commentID VALUE="<?=$id?>">
  67. <TABLE>
  68. <TR><TD>Nombre:</TD><TD><INPUT TYPE=TEXT NAME=f_imie SIZE=32></TD>
  69. <TR><TD>Email:</TD><TD><INPUT TYPE=TEXT NAME=f_email SIZE=32></TD>
  70. <TR><TD>Texto:</TD><TD><TEXTAREA NAME=f_tresc COLS=22ROWS=7></TEXTAREA></TD>
  71. <TR><TD></TD><TD><INPUT TYPE=SUBMIT VALUE="Añade mi comentario"></TD></TR>
  72. </TABLE>
  73. </FORM>
  74. <?
  75. }
  76.  
  77. if($COMMENTACTION=="add")
  78. {
  79. $file=fopen($DATADIR.$commentID, "a");
  80. flock($file, 2);
  81.  
  82.  $f_tresc=str_replace("\n", "<BR>", $f_tresc);
  83.  $f_tresc=str_replace("r", "", $f_tresc);
  84.  $f_imie=str_replace("\n", "<BR>", $f_imie);
  85.  $f_imei=str_replace("r", "", $f_imie);
  86.  $f_email=str_replace("\n", "<BR>", $f_email);
  87.  $f_email=str_replace("r", "", $f_email);
  88.  
  89.  fputs($file, $f_imie);
  90. fputs($file, "\n");
  91.  fputs($file, $f_email);
  92. fputs($file, "\n");
  93.  fputs($file, date("H:i d-m-Y"));
  94. fputs($file, "\n");
  95.  fputs($file, $f_tresc);
  96. fputs($file, "\n");
  97.  
  98. flock($file, 3);
  99. fclose($file);
  100. }
  101.  
  102. ?>



part [1/2]
-lozSer-
Part [2/2]
A plik w którym chcialbym aby tak samo sie dal zrobiæ to ten, review.php
  1. <html>
  2. <head>
  3. <script language=JavaScript>
  4. function textCounter(field, countfield, maxlimit) {
  5. if (field.value.length > maxlimit)
  6. field.value = field.value.substring(0, maxlimit);
  7. else
  8. countfield.value = maxlimit - field.value.length;
  9. }
  10. </SCRIPT>
  11. <script language="JavaScript">
  12. <!--
  13. function emo(emo){
  14. document.all.comment.value += emo;
  15. document.all.comment.focus();
  16. return;
  17. }
  18. //-->
  19. </script>
  20. <style>
  21. TD  {font-family: Verdana; color: #000000; font-size: 8pt;}
  22. INPUT  {font-family:Verdana;font-size:10pt;background:#FFFFFF;color:#000000;}
  23. TEXTAREA  {font-family:Verdana;font-size:10pt;background:#FFFFFF;color:#000000;}
  24. hr {color: #f5f9fd; height: 1px;}
  25. </style>
  26.  
  27. </head>
  28. <body>
  29. <?php
  30. extract($HTTP_GET_VARS);
  31. extract($HTTP_POST_VARS);
  32. function smile(){
  33. ?>
  34. <a href="gifs.htm" onclick="window.open('gifs.htm', 'gifs.htm', 'menubar=yes,toolbar=yes,location=centre,directories=no,status=no,scrollbars=no,r
  35. sizable=no,fullscreen=no,channelmode=no,width=400,height=780').focus(); return false"><p><strong>Gifs</strong></p></a>
  36. <?php
  37. }
  38. $ip = getenv(REMOTE_ADDR);
  39. $name = str_replace ("|~|","", $name);
  40. $comment = str_replace ("\n", "<br>", $comment);
  41. $comment = str_replace ("|~|", "", $comment);
  42. $comment = str_replace (":)", "<img src='vota/smile.gif' border=0>", $comment);
  43. $comment = str_replace (":(", "<img src='vota/sad.gif' border=0>", $comment);
  44. $comment = str_replace (":C", "<img src='vota/mad.gif' border=0>", $comment);
  45. $comment = str_replace ("ok", "<img src='vota/thumbsup.gif' border=0>", $comment);
  46. $name = stripslashes ($name);
  47. $comment = stripslashes ($comment);
  48. $lis="0";
  49. $user=file("badwords.txt");
  50. for($x=0;$x<sizeof($user);$x++) {
  51. $comment = str_replace($temp[0],"-",$comment);
  52. $jemp = explode(";",$user[$x]);
  53. $opp[$x] = "$jemp[0];";
  54. $list[$lis] = $opp[$x];
  55. $lis++; 
  56. }
  57. if(sizeof($list) != "0") {
  58. for($y=0;$y<sizeof($list);$y++) {
  59. $temp = explode(";",$list[$y]);
  60. $temq=ucwords($temp[0]);
  61. $temr=ucfirst($temp[0]);
  62. $tems=strtoupper($temp[0]);
  63. $comment = str_replace ($temp[0],"-", $comment);
  64. $comment = str_replace ($tep,"-", $comment);
  65. $comment = str_replace ($temq,"-", $comment);
  66. $comment = str_replace ($temr,"-", $comment);
  67. $comment = str_replace ($tems,"-", $comment);
  68. $name = str_replace ($temp[0],"-",$name);
  69. $name = str_replace ($temq,"-",$name);
  70. $name = str_replace ($temr,"-",$name);
  71. $name = str_replace ($tems,"-",$name);
  72. }
  73. }
  74. $today = date("M:d:Y");
  75. $ficdest=explode(".",basename($PHP_SELF)); 
  76. $mfile="review/".$ficdest[0].".txt";
  77. if(file_exists($mfile)) { 
  78. }else{
  79. $m_compteur=fopen($mfile, "w"); 
  80. fclose($m_compteur); 
  81. }
  82. $compt=fopen($mfile, "r"); 
  83. $old_stats=file($mfile);
  84. $am = count($old_stats)-1;
  85. $stats=explode("|~|", $old_stats[$am]);
  86. fclose($compt);
  87. //echo "$stats[4]";
  88. if (strlen($name)>="1" && strlen($comment)>="1" && strlen($rate)>="1" && $stats[4]!=$ip){
  89. if(file_exists($mfile)) { 
  90. $compteur=fopen($mfile, "a+"); 
  91. fputs ($compteur, "[list]|~|");
  92. fputs ($compteur, "$name");
  93. fputs ($compteur, "|~|");
  94. fputs ($compteur, "$comment");
  95. fputs ($compteur, "|~|");
  96. fputs ($compteur, "$today");
  97. fputs ($compteur, "|~|");
  98. fputs ($compteur, "$ip");
  99. fputs ($compteur, "|~|");
  100. fputs ($compteur, "$rate");
  101. fputs ($compteur, "|~|");
  102. fputs ($compteur, "\n");
  103. fclose($compteur);
  104. echo "<CENTER><FONT COLOR=\"#0000FF\" face=arial>¡Tu comentario ha sido añadido!</FONT></CENTER>";
  105. }
  106. }
  107. elseif(strlen($name)>="1" && strlen($comment)>="1" && strlen($rate)>="1" && $stats[4]==$ip){
  108. echo "<CENTER><FONT COLOR='red' face=arial>Ya ha votado</FONT></CENTER>";
  109. }
  110. $main_file_m = $mfile;
  111. $latest_rev = 10;  //Number of latest reviews to show
  112. $lines_review = file($main_file_m);
  113. $abc = count($lines_review);
  114. $uli = $abc - $latest_rev;
  115. echo "<left><table width=97% border=1 cellspacing=0 cellpadding=2 bordercolor=#3a4f6c>";
  116. for($cv = $abc; $cv >= $uli ;$cv--){
  117. if(substr($lines_review[$cv], 0, 6 )=="[list]"){
  118. $lpop = explode("|~|",$lines_review[$cv]);
  119. if ($lpop[5]=="10"){
  120. $img="images/b10.jpg";
  121. }elseif ($lpop[5]>="9"){
  122. $img="vota/b9.jpg"; }
  123. elseif ($lpop[5]>="8"){
  124. $img="vota/b8.jpg"; }elseif ($lpop[5]>="7"){
  125. $img="vota/b7.jpg"; }elseif ($lpop[5]>="6"){
  126. $img="vota/b6.jpg"; }elseif ($lpop[5]>="5"){
  127. $img="vota/b5.jpg"; }elseif ($lpop[5]>="4"){
  128. $img="vota/b4.jpg"; }elseif ($lpop[5]>="3"){
  129. $img="vota/b3.jpg"; }elseif ($lpop[5]>="2"){
  130. $img="vota/b2.jpg"; }elseif ($lpop[5]>="1"){
  131. $img="vota/b1.jpg"; }
  132. $bar="<img src='$img'>";
  133. $mesi=wordwrap($lpop[2], 50, "\n", 1);
  134. echo "<tr><td bgcolor=#c2cfdf>$lpop[1] Añadido $lpop[3] $bar</td></tr><tr><td bgcolor=#f5f9fd>$mesi </td></tr>";
  135. }
  136. }
  137. $maximum="10";
  138. $lp=file($mfile);
  139. $abd = count($lp);
  140. if ($abd > $maximum) {
  141. $fw = fopen ("review/".$ficdest[0].".tmp", "w");
  142. fclose($fw);
  143. $folename = $mfile; 
  144. $fd = fopen ($folename, "r"); 
  145. $puff = fread ($fd, filesize($folename)); 
  146. fclose ($fd);
  147. $last_file = fopen ("review/".$ficdest[0].".tmp", "a+");
  148. fwrite ($last_file, $puff);
  149. fclose($last_file);
  150. $fz = fopen ($mfile, "w");
  151. fwrite ($fz, "");
  152. fclose($fz);
  153. $lines14 = file("review/".$ficdest[0].".tmp");
  154. $a1 = count($lines14);
  155. $u = $a1 - $maximum;
  156. for($i1 = $a1; $i1 > $u;$i1--){
  157. $msg_old = $lines14[$i1] . $msg_old;
  158. }
  159. $fz = fopen ($mfile, "a+");
  160. fwrite ($fz,$msg_old);
  161. fclose($fz);
  162. }
  163. $fz = fopen ("review/".$ficdest[0].".tmp", "w");
  164. fwrite ($fz, "");
  165. fclose($fz);
  166. ?>
  167. </td></table>
  168. <form method='post'>
  169. <table width='97%' border='1' cellspacing='0' bordercolor=#3a4f6c bgcolor=#f5f9fd>
  170. <tr><b><font size=1>
  171. <td bgcolor=#c2cfdf><strong></strong>Comenta y añade tu voto personalizado</strong></td></tr>
  172. <tr><td><table border='0'cellspacing='0' align=middle bgcolor=#f5f9fd>
  173. <tr><td><font size=1>
  174. Nombre:<BR></font></b></td><td><input type='text' maxlength="50" name='name' size=20 style="font-weight:10"></td><td>Vota: <select name=rate><option value="">Selecciona<option value="10">5 - Excelente!<option value="8">4 - Muy bueno<option value="6">3 - Normal<option value="4">2 - Malo<option value="2">1 -Muy malo</select></td></tr></table><table>
  175. <tr valign='top'><td></td><td align=middle><?php
  176. smile();
  177. ?></td><tr><td><font size=1>
  178. Texto:<BR></b></td>
  179. <td><textarea cols='35' rows='3' name='comment' onkeydown=textCounter(this.form.comment,this.form.descriptionleft,400); onkeyup=textCounter(this.form.comment,this.form.descriptionleft,400);></textarea><br>Te quedan:&nbsp;<INPUT maxLength=3 name=descriptionleft readOnly size=3 tabIndex=400 value=400
     style='BORDER-RIGHT: 0px; BORDER-TOP:0px;BORDER-LEFT:0px; BORDER-BOTTOM:0px;BACKGROUND-COLOR: #f5f9fd;'></td></tr>
  180. <tr><td></td><td>
  181. <input type='submit' value='Add Review' style="background:#f5f9fd;border-width:1;Border-color:#3a4f6c;"></td></tr>
  182. </table>
  183. </table>
  184. </form>

Probowa³em jako¶ to zrobiæ, ale jako¶ mi nie wysz³o, jestem pocz±tkuj±cy...

Wiec prosze o pomoc, pozdrawiam!
Btw, zawsze komu mo¿e przydaæ sie ten scrypt, Right to copy:P
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.