Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Cięcie tekstu na stronie
Forum PHP.pl > Forum > Przedszkole
McGoo123
Witam, chciałem pociąć tekst artykułu tak aby nie rozciągać w nieskończoność strony... Jest plik index.php :

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5. <head>
  6. <meta http-equiv="Content-Type"
  7.  content="text/html; charset=iso-8859-2" />
  8. <title></title>
  9. </head>
  10.  
  11. <body xml:lang="pl">
  12. <form method="GET">
  13. <a href="index.php?tresc=home">home</a> 
  14. <a href="index.php?tresc=strona1">strona1</a> 
  15. <a href="index.php?tresc=strona2">strona2</a> 
  16. <a href="index.php?tresc=strona3">strona3</a>
  17. </form>
  18. <?php
  19. include ('tresc.php');
  20. ?>
  21. </body>
  22. </html>


no i plik tresc.php

  1. <?
  2. $limit|=10; 
  3.  
  4.  
  5. $teksthome="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20";
  6. $tekststrona1="11 12 13 14 15 16 17 18 19 20";
  7. $tekststrona2="21 22 23 24 25 26 27 28 29";
  8. $tekststrona3="";
  9.  
  10.  
  11. if($tresc==home) $calytekst=$teksthome;else{
  12. if($tresc==strona1) $calytekst =$tekststrona1; else{
  13. if($tresc== strona2) $calytekst =$tekststrona2;else{
  14. if($tresc==strona3) $calytekst=$tekststrona3;
  15.  
  16. else {$calytekst=$teksthome;}}}} 
  17. echo"<br />";
  18.  
  19.  
  20. $calytekst = strtr($calytekst, "xA5x8Cx8FxB9x9Cx9F", "xA1xA6xACxB1xB6xBC"); 
  21.  
  22. $page|=0; 
  23. $tablica=array();
  24. $tablica=split ('[ ]',$calytekst); 
  25. $ilosc=sizeof($tablica); 
  26.  
  27. for($z=$page*$limit;$z<($page+1)*$limit;$z++)
  28. {
  29. echo"$tablica[$z] ";
  30. }
  31. echo"<br> <br>";
  32.  
  33. if ($ilosc > $limit) {
  34. if (($ilosc%$limit) != 0) $l_stron = 1; else $l_stron = 0;
  35. $pomoc = (int)($ilosc/$limit);
  36. $l_stron = ($l_stron+$pomoc)-1;
  37. if ($page >= 1) {
  38. $pomoc = $page-1;
  39. print "<a href=index.php?tresc=$tresc&page=$pomoc>poprzednia</a>n";
  40. }
  41. $i=0;
  42. while ($i <= $l_stron) {
  43. if ($page == $i)
  44. print " | <b>$i</b>n";
  45. else
  46. print " | <a href=index.php?tresc=$tresc&page=$i>$i</a>n";
  47. $i++;
  48. }
  49. if ($page < $l_stron) {
  50. $pomoc = $page+1;
  51. print " | <a href=index.php?tresc=$tresc&page=$pomoc>następna</a>n";
  52. }
  53. }?>


Niestety po kazdorazowym kliknieciu w wygenerowany link na dole nie dzieje się nic ... czałyczas jest strona home ... prosze o pomoc ...

Dziwne jest to że na moim localhoscie działa to prawidłowo, ale jak wrzucę to na zewnątrz np. ovh.pl ... to przestaje działać ...
nospor
do zmiennych z URL nalezy odwolywac sie tak: $_GET['zmienna'] a nie tak jak ty: $zmienna
McGoo123
Poprawiłem kod pliku tresc.php :

  1. <?
  2. $limit|=10 ; //tu musisz ustawic limit słów na stronie (empiria najlepszym doradcą) ;)
  3.  
  4. /*to są zmienne przechowujące tekst strony. Po jednej na podstrone. Mogą zawierać
     proste tagi <br> <ul> <b> itp. Oczywiście można je wsadzić do osobnego pliku i includować go jak w pkt
    .2*/
  5. $teksthome="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20";
  6. $tekststrona1="11 12 13 14 15 16 17 18 19 20";
  7. $tekststrona2=" ";
  8. $tekststrona3=" ";
  9.  
  10. /*ta część odpowiada za sterowanie stroną. Przypisuje zmiennej $całytekst zmienną
     zawierającą tekst z danej podstrony. Aby powiększyć ilość podstron wystarczy wst
    awić następne if($tresc==strona1) $ calytekst =$tekststrona1;else{“ poprawić numerek w zmiennej $tekststrona1; i dostawić jeden nawias zamyka
    jący w oznaczonym miejscu*/
  11.  
  12. if($tresc==home) $calytekst=$teksthome;else{
  13. if($tresc==strona1) $calytekst =$tekststrona1; else{
  14. if($tresc== strona2) $calytekst =$tekststrona2;else{
  15. if($tresc==strona3) $calytekst=$tekststrona3;
  16. //if($tresc==strona1) $ calytekst =$tekststrona1;else{ //Ten tekst dostaw tyle razy ile podstron wiecej potrzebujesz
  17. else {$calytekst=$teksthome;}}}} /* Tu dostaw jeden nawias dla każdej dodatkowej podstrony*/
  18. echo"<br />";
  19.  
  20. //Dalej już jest prosto
  21. $calytekst = strtr($calytekst, "xA5x8Cx8FxB9x9Cx9F", "xA1xA6xACxB1xB6xBC"); //konwersja znaków zapisanych w CP na ISO
  22.  
  23. $page|=0; //jak page nie ma wartości to ma się równać 0
  24. $tablica=array(); //stwórz tablicę
  25. $tablica=split ('[ ]',$calytekst); /*tablica zawiera słowa z calytekst separatorem słów jest pojedyncza spacja. Dobr
    ze będzie jak tekst będzie porządnie sformatowany */
  26. $ilosc=sizeof($tablica); //ilość slow w tablicy
  27.  
  28. // wyświetla kolejne elementy tablicy słów aż do osiągnięcia limitu
  29. for($z=$page*$limit;$z<($page+1)*$limit;$z++)
  30. {
  31. echo"$tablica[$z] ";
  32. }
  33. echo"<br> <br>";
  34.  
  35. //sterowanie linkami zaczerpnięte z forum webinside.pl, autorstwa swierszczyka, le
    kko przerobione
  36. if ($ilosc > $limit) {
  37. if (($ilosc%$limit) != 0) $l_stron = 1; else $l_stron = 0;
  38. $pomoc = (int)($ilosc/$limit);
  39. $l_stron = ($l_stron+$pomoc)-1;
  40. if ($page >= 1) {
  41. $pomoc = $page-1;
  42. print "<a href=index.php?tresc=$_GET[$tresc]&page=$_GET[$pomoc]>poprzednia</a>n";
  43. }
  44. $i=0;
  45. while ($i <= $l_stron) {
  46. if ($page == $i)
  47. print " | <b>$i</b>n";
  48. else
  49. print " | <a href=index.php?tresc=$_GET[$tresc]&page=$i>$i</a>n";
  50. $i++;
  51. }
  52. if ($page < $l_stron) {
  53. $pomoc = $page+1;
  54. print " | <a href=index.php?tresc=$_GET[$tresc]&page=$_GET[$pomoc]>następna</a>n";
  55. }
  56. }?>


Niestety problem nadal się pojawia ... chyba ze coś poknociłem smile.gif pomocy ... .
nospor
ja mowie: $_GET['zmienna']
ty walisz: $_GET[$zmienna]
blinksmiley.gif
Ze juz nie wspomne ze olales wiele miejsc gdzie to powinno byc.
Wiesz co, poustawiaj sobie na samym poczatku skryptu takie kody:
  1. <?php
  2. $zmienna1 = $_GET['zmienna1'];
  3. $zmienna2 = $_GET['zmienna2'];
  4. ////.....
  5. ?>

gdzie $zmienna to kolejne zmienne ktore czytasz z URL i pozostaw stary kod bez zmian.
McGoo123
dry.gif wprowadziłem te zmiany ale niestety nic to nie dało ... pewnie coś po ... popsułem jeszcze bardziej.

Mój kod poniżej ...

  1. <?php
  2. $teksthome = $_GET['teksthome'];
  3. $tekststrona1= $_GET['tekststrona1'];
  4. $tekststrona2= $_GET['tekststrona2'];
  5. $tekststrona3= $_GET['tekststrona2'];
  6. $pomoc = $_GET['pomoc'];
  7. $tresc = $_GET['tresc'];
  8. ?>
  9.  
  10. <?
  11. $limit|=10 ; //tu musisz ustawic limit słów na stronie (empiria najlepszym doradcą) ;)
  12.  
  13. /*to są zmienne przechowujące tekst strony. Po jednej na podstrone. Mogą zawierać
     proste tagi <br> <ul> <b> itp. Oczywiście można je wsadzić do osobnego pliku i includować go jak w pkt
    .2*/
  14. $teksthome="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20";
  15. $tekststrona1="11 12 13 14 15 16 17 18 19 20";
  16. $tekststrona2=" ";
  17. $tekststrona3=" ";
  18.  
  19.  
  20. /*ta część odpowiada za sterowanie stroną. Przypisuje zmiennej $całytekst zmienną
     zawierającą tekst z danej podstrony. Aby powiększyć ilość podstron wystarczy wst
    awić następne if($tresc==strona1) $ calytekst =$tekststrona1;else{“ poprawić numerek w zmiennej $tekststrona1; i dostawić jeden nawias zamyka
    jący w oznaczonym miejscu*/
  21.  
  22. if($tresc==home) $calytekst=$teksthome;else{
  23. if($tresc==strona1) $calytekst =$tekststrona1; else{
  24. if($tresc== strona2) $calytekst =$tekststrona2;else{
  25. if($tresc==strona3) $calytekst=$tekststrona3;
  26. //if($tresc==strona1) $ calytekst =$tekststrona1;else{ //Ten tekst dostaw tyle razy ile podstron wiecej potrzebujesz
  27. else {$calytekst=$teksthome;}}}} /* Tu dostaw jeden nawias dla każdej dodatkowej podstrony*/
  28. echo"<br />";
  29.  
  30. //Dalej już jest prosto
  31. $calytekst = strtr($calytekst, "xA5x8Cx8FxB9x9Cx9F", "xA1xA6xACxB1xB6xBC"); //konwersja znaków zapisanych w CP na ISO
  32.  
  33. $page|=0; //jak page nie ma wartości to ma się równać 0
  34. $tablica=array(); //stwórz tablicę
  35. $tablica=split ('[ ]',$calytekst); /*tablica zawiera słowa z calytekst separatorem słów jest pojedyncza spacja. Dobr
    ze będzie jak tekst będzie porządnie sformatowany */
  36. $ilosc=sizeof($tablica); //ilość slow w tablicy
  37.  
  38. // wyświetla kolejne elementy tablicy słów aż do osiągnięcia limitu
  39. for($z=$page*$limit;$z<($page+1)*$limit;$z++)
  40. {
  41. echo"$tablica[$z] ";
  42. }
  43. echo"<br> <br>";
  44.  
  45. //sterowanie linkami zaczerpnięte z forum webinside.pl, autorstwa swierszczyka, le
    kko przerobione
  46. if ($ilosc > $limit) {
  47. if (($ilosc%$limit) != 0) $l_stron = 1; else $l_stron = 0;
  48. $pomoc = (int)($ilosc/$limit);
  49. $l_stron = ($l_stron+$pomoc)-1;
  50. if ($page >= 1) {
  51. $pomoc = $page-1;
  52. print "<a href=index.php?tresc=$tresc&page=$pomoc>poprzednia</a>n";
  53. }
  54. $i=0;
  55. while ($i <= $l_stron) {
  56. if ($page == $i)
  57. print " | <b>$i</b>n";
  58. else
  59. print " | <a href=index.php?tresc=$tresc&page=$i>$i</a>n";
  60. $i++;
  61. }
  62. if ($page < $l_stron) {
  63. $pomoc = $page+1;
  64. print " | <a href=index.php?tresc=$tresc&page=$pomoc>następna</a>n";
  65. }
  66. }?>


Możesz mi powiedzieć w którym miejscu powinienem wprowadzić zmiany jeszcze .... Z góry dzięki ...
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.