Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przenoszenie kodu z PHP4 do wersji PHP5
-mrmyster-
post
Post #1





Goście







Witam

jako, ze jestem lamerem w php i nie bardzo wiem co z tym zrobic zapytam tu

naskrobalem sobie kilka linijek kodu, zgodnego z php4

na serwerze kumpla mam php5.. kod nie dziala (na krasnalu pod php4 dziala)

czy ktos mi powie, czy sa jakies softy, ktore zmienia kod w php4 na kod w php5??

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Raczej nie ma czegoś takiego. Niestety.
Czy mógłbyś pokazać ten kod? Część funkcji działa nieco inaczej, ale to głównie w kodzie obiektowym wystepują ogromne różnice. Jeśli twój kod jest obiektowy, to w manualu znajdziesz dwa rozdziały opisujące tenże dla wersji 4 i 5.
Lepiej jednak pokaż ten kod + błędy jakie generuje, bo niekoniecznie przyczyna błędów musi leżeć w odmiennych wersjach języka,

Pozdrawiam,
Go to the top of the page
+Quote Post
-Gość-
post
Post #3





Goście







Kod wyglada tak:

Kod
<?php

$styl = "style.css";
$poprzednie = "poprzednie";
$nastepne = "Następne";
$powrot = "Poprzednie";
$homepage = "Strona główna";
$homelink = "../../";

$dir = opendir("./");
while ($plik = readdir($dir)) {
  if (is_file("./$plik") && eregi(".jpg",$plik) && !eregi("_t.jpg",$plik)) {
  $fotos[] = $plik;
  }
}
sort($fotos);
?>


<b>Zdjęć w galerii: <? print count($fotos); ?></b>
<BR><BR>

<?php if ($show=="") { ?>

<?
$licznik = 1;
while (list($key,$val) = each($fotos)) {
print "<a href=\"?show=$key\"><img src=\"".substr($val,0,-4)."_t.jpg\" border=\"0\"></a>\n";
if ($licznik > 2) {
  $licznik =0;
  print " ";
}
$licznik += 1;
}
?>


<?php echo ("<a href=\"$homelink\">$homepage</a>") ?>
<?php } ?>
<?php if ($show!="") { ?>
<?php echo ("<img src=\"$fotos[$show]\">") ?>
<?php
$prev = $show-1;
$next = $show+1;
?>


<?php if ($show>"0") echo("<a href=\"?show=$prev\">$poprzednie</a>") ?>

<?php if ($show!=(count($fotos)-1)) echo ("<a href=\"?show=$next\">$nastepne</a>") ?>

<?php echo ("<a href=\"$PHP_SELF\">$powrot</a>  <a href=\"$homelink\">$homepage</a>") ?>

<?php } ?>



ma to byc banalnie prosta galeria fot.

kod wczytuje sobie w tabele pliki *.jpg z folderu w ktorym jest umieszczony.

miniaturki rozpoznaje po dodatku _t do nazwy pliku i z tym kojazy duzy obrazek.

wyswietla miniaturki (tu jeszcze dziala) a po kliknieciu na mini ma zapodac duze foto za pomoca zmiennej show.. niestety nie pokazuje.. adres w przegladarce sie zmienia na ?show=0 show=1 etc. ale nie laduje duzego foto..

nie wiem jak to dokladniej wytlumaczyc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Tak jak myślałem - wersja języka nie ma tu nic do rzeczy. problem lezy gdzieś indziej.
Otóż odpowiedzią na ten problem jest na 99,99% wyłączona funkcja register_globals w php.ini
Do zmiennej $show, możesz ise dobrać poprzez $_GET['show'].
Podobnie do innych zmiennych przesyłanych przez url.

Pozdrawiam.
Go to the top of the page
+Quote Post
-mrmyster-
post
Post #5





Goście







Dzieki Cysiaczek

zapodalem se phpinfo() i oto wynik:

register_globals Off Off

Scigne w takim badz razie zioma, zeby to odpalil (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dzieki sliczne

Pozdrawiam i zycze zaje*fajnego weekendu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
hwao
post
Post #6


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Watpie zeby to przestawil na ON poniewaz to zmniejsza znacznie bezpieczentwo, lepiej Ty popraw ten kod poniewaz on nawet na PHP4 nie powinien dzialac - jest po prostu zle napisany.

Np.:
$PHP_SELF = $_SERVER['PHP_SELF'];
Złe odwolujesz sie do zmiennych.
Go to the top of the page
+Quote Post
-Gość-
post
Post #7





Goście







Cytat(hwao @ 19.08.2006, 17:05 ) *
Watpie zeby to przestawil na ON poniewaz to zmniejsza znacznie bezpieczentwo, lepiej Ty popraw ten kod poniewaz on nawet na PHP4 nie powinien dzialac - jest po prostu zle napisany.

Np.:
$PHP_SELF = $_SERVER['PHP_SELF'];
Złe odwolujesz sie do zmiennych.



a gdzie w moim kodzie widzisz takie odwolanie??
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Cytat
<?php echo ("<a href=\"$PHP_SELF\">$powrot</a> <a href=\"$homelink\">$homepage</a>") ?>


Tu się tak odwołujesz (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) Oczywiście nie widać, żebys gdzieś wyciągał ze $_SERVER, co nie oznacza, że tego nie robisz wcześniej...jednak z budowy skryptu hwao słusznie wnioskuje, że tego nie robisz. chyba, ze to nie cały skrypt?

Pozdrawiam.
Go to the top of the page
+Quote Post
-mrmyster-
post
Post #9





Goście







a nie mowilem, ze lamer jestem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

to moze pehapowe glowy pomoga cos (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

zasade znacie, wiec moze podpowiecie jak to zrobic, zeby mialo rece i nogi i dzialalo tak jak opisalem..
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #10





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Widzisz. Dla każdego to będzie miało inne ręce i inne nogi (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
Zaglądnij do manuala, poczytaj o standardach kodowania, o organizacji kodu itp.
Ta wiedza dotyczy nie tylko php, ale i innych jezyków programowania i jest wielce przydatna.
np. To Ciebie jest brak doinformowania:
  1. <?php echo ("<a href="$homelink">$homepage</a>") ?>
  2. <?php } ?>
  3. <?php if ($show!="") { ?>
  4. <?php echo ("<img src="$fotos[$show]">") ?>
  5. <?php
  6. $prev = $show-1;
  7. $next = $show+1;
  8. ?>


Czy nie prościej:
  1. <?php
  2. print "<a href="$homelink">$homepage</a>";
  3. }
  4. if ($show!="") {
  5.  print "<img src="$fotos[$show]">";
  6.  $prev = $show-1;
  7.  $next = $show+1;
  8. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 21:03