Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem Z Funkcją :(
Forum PHP.pl > Forum > PHP
Kaczor.net
Wiem, ze juz zanudzam, ale wybaczcie, bardzo mi zależy by to zrobić, a za nic mi to nie idzie działać!

W $nick i $www wiem ze coś jest zle, ale ja nie widze co i w tym problem. Moze ktoś poradzi?

  1. <?
  2.  
  3. $file_name=&#092;"blog/coments/$nazwa.txt\";
  4. $file_data=file($file_name);
  5. $file_data=array_reverse($file_data);
  6.  
  7. $coment=count($file_data)+1;
  8.  
  9. for($i=0; $i<count($file_data); $i++){$file=explode(&#092;"||\", $file_data[$i]); $coment--;
  10.  
  11. $nick    =    if($split[2] == &#092;"brak\")
  12.         {print    (&#092;"$split[1]\");}
  13.         else
  14.         {print    (&#092;"<a href=\"mailto:$file[2]\">$file[1]</a>\");}
  15.  
  16. $www    =    if($split[3] == &#092;"brak\")
  17.         {print    (&#092;"&nbsp;\");}
  18.         else
  19.         {print    (&#092;"<a href=\"http://$file[3]\" target=\"_blank\">http://$file[3]/</a>\");}
  20.  
  21. $data    = $file[4];
  22. $ip    = $file[5];
  23. $wpis    = $file[6];
  24.  
  25. echo    (&#092;"
  26. <br>
  27.  
  28. <center>
  29. <table border=&#092;"1\" bordercolor=\"rgb(191,191,191)\" cellpadding=\"2\" cellspacing=\"2\">
  30.  
  31. <tr>
  32. <td width=&#092;"75\" height=\"25\" align=\"right\" bgcolor=\"rgb(249,249,249)\"><font class=\"Stopka\">Nick:</font></td>
  33. <td width=&#092;"200\" height=\"25\" align=\"center\">$nick</td>
  34. <td width=&#092;"75\" height=\"25\" bgcolor=\"rgb(249,249,249)\">&nbsp;</td>
  35. </tr>
  36.  
  37. <tr>
  38. <td width=&#092;"75\" height=\"25\" align=\"right\" bgcolor=\"rgb(249,249,249)\"><font class=\"Stopka\">WWW:</font></td>
  39. <td width=&#092;"200\" height=\"25\" align=\"center\">$www</td>
  40. <td width=&#092;"80\" height=\"25\" bgcolor=\"rgb(249,249,249)\">&nbsp;</td>
  41. </tr>
  42.  
  43. <tr>
  44. <td width=&#092;"75\" height=\"25\" align=\"right\" bgcolor=\"rgb(249,249,249)\"><font class=\"Stopka\">Data:</font></td>
  45. <td width=&#092;"200\" height=\"25\" align=\"center\">$data</td>
  46. <td width=&#092;"80\" height=\"25\" bgcolor=\"rgb(249,249,249)\">&nbsp;</td>
  47. </tr>
  48.  
  49. <tr>
  50. <td width=&#092;"75\" height=\"25\" align=\"right\" bgcolor=\"rgb(249,249,249)\"><font class=\"Stopka\">IP:</font></td>
  51. <td width=&#092;"200\" height=\"25\" align=\"center\">$ip</td>
  52. <td width=&#092;"80\" height=\"25\" bgcolor=\"rgb(249,249,249)\">&nbsp;</td>
  53. </tr>
  54.  
  55. <tr>
  56. <td width=&#092;"350\" colspan=\"3\"><br>$wpis<br><br></td>
  57. </tr>
  58.  
  59. </table>
  60. </center>
  61.  
  62. <br>
  63.  
  64. <center><b>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</b></center>
  65. &#092;");
  66.  
  67. }
  68.  
  69. ?>


Ludzie pomocy!!!
sf
eh

1) <?php ...
?>
<kod html>
po co dajesz to wszystko do echo ? przez to skrypt wolniej działa

2)
  1. <?php
  2. $nick = if($split[2] == &#092;"brak\")
  3. {print (&#092;"$split[1]\");}
  4. else
  5. {print (&#092;"<a href=\"mailto:$file[2]\">$file[1]</a>\");}
  6. ?>


co to ma być? tongue.gif

  1. <?php
  2.  
  3. if($split[2] == &#092;"brak\") {
  4. $nick=$split[1];
  5. }
  6. else {
  7. $nick=&#092;"<a href=\"mailto:$file[2]\">$file[1]</a>\";
  8. }
  9.  
  10. ?>
Kaczor.net
Zamieniłem tak jak podałeś, wyświetla, bo wczesniej pokazywało błedy, ale nie dokońca jest tak jak chciałem. Jeśli $split[2] jest równy brak to nic sie nie dzieje, wyświetla to co jest po else. Tak jakby wogule nie działała funkcja if
Parti
1. Jeśli wiesz gdzie jest błąd, to czemu sam nie spróbujesz go rozwiązać?
2. Temat nie ma nic wspólnego z problemem.
3. Proponuje jakiś kurs php dla początkujących.
4. Proponuje wyrobić sobie jakiś ładny styl formatowania kodu (wcięcia itp.), bo ten jest mało czytelny.

  1. <?php
  2. if($split[2] == &#092;"brak\")
  3.  echo $split[1];
  4. else
  5.  echo &#092;"<a href=\"mailto:$file[2]\">$file[1]</a>\";
  6.  
  7. ?>
Kaczor.net
Parti nie madrz sie, bo i tak źle podałeś.

  1. <?
  2.  
  3. $file_name=&#092;"blog/coments/$nazwa.txt\";
  4. $file_data=file($file_name);
  5. $file_data=array_reverse($file_data);
  6.  
  7. $coment=count($file_data)+1;
  8.  
  9. for($i=0; $i<count($file_data); $i++){$file=explode(&#092;"||\", $file_data[$i]); $coment--;
  10.  
  11. if($split[2] == &#092;"brak\")
  12. {$nick = &#092;"$split[1]\";}
  13. else
  14. {$nick = &#092;"<a href=\"mailto:$file[2]\">$file[1]</a>\";}
  15.  
  16. echo(&#092;"$nick\");
  17.  
  18. }
  19.  
  20. ?>


Mam takie coś, i bez różnicy czy $split[2] ma brak czy co innego to i tak wyswietla <a href=\"mailto:$file[2]\">$file[1]</a>

Co jest?
rogrog
Cytat(Kaczor.net @ 2004-09-06 21:34:32)
Parti nie madrz sie, bo i tak źle podałeś.

powinieneś się cieszyć, bo udzielił ci ważnych uwag. Nie myśl że wszystkim zależy tylko na tym żeby dobrze Ci podać poprawne rozwiązanie.

-------------------

skąd Ci się bierze zmienna $split?

u góry masz przypisanie rozbitej linii to $file

  1. <?php
  2.  
  3. $file=explode(&#092;"||\", $file_data[$i]);
  4.  
  5. ?>

a potem sprawdzasz $split... hm...
Parti
Cytat(Kaczor.net @ 2004-09-06 21:34:32)
Parti nie madrz sie, bo i tak źle podałeś.

Tylko doradzam.

Jeśli $split[2] ma wartość "brak", a wyświetla się <a href... to znaczy, że $split[1] ma wartość "<a href..."

Tyle można na ten temat powiedzieć, bo z podanych fragmentów nie wiadomo nic o tablicy $split.
Kaczor.net
To nie fragmenty tylko całość.
$split bierze sie z pliku .txt w którym dane sa zapisane tak:
||nick||mail||www||data||ip||wpis||
i z tego po explode $split[1] to nic innego jak ||nick|| , $split[2] to ||mail|| , itd.
Wiec $split[1] nie moze byc napewno <a href="...
Na moje oko, teraz odkryłem co moze byc jeszcze zle, ze jak sprawdza w if.. i $split[2] w pliku równa sie brak, to pierwsza linijka z $nick jest zastępowana drógą, a ja właśnie nie chcem by tak było! Jakoś else nie działa.


- - - - - - - - - - - - - - -


Czy da się wyłączyć
  1. <?
  2.  
  3. if($split[2] == &#092;"brak\")
  4. {$nick    = &#092;"$split[1]\";}
  5. else
  6. {$nick    = &#092;"<a href=\"mailto:$file[2]\">$file[1]</a>\";}
  7.  
  8. ?>


z tego
  1. <?
  2.  
  3. for($i=0; $i<count($file_data); $i++){$file=explode(&#092;"||\", $file_data[$i]); $coment--; !!! Z TEGO MIEJSCA CHCEM WYŁACZYĆ IF !!!
  4.  
  5. echo(&#092;"$nick\");
  6.  
  7. }
  8.  
  9. ?>
? Mam nadzieje ze ktoś zrozumie, bo w tym własnie jest problem.
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.