Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przenoszenie kodu z PHP4 do wersji PHP5
Forum PHP.pl > Forum > Przedszkole
mrmyster
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
Cysiaczek
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ść
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 smile.gif
Cysiaczek
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.
mrmyster
Dzieki Cysiaczek

zapodalem se phpinfo() i oto wynik:

register_globals Off Off

Scigne w takim badz razie zioma, zeby to odpalil smile.gif

Dzieki sliczne

Pozdrawiam i zycze zaje*fajnego weekendu winksmiley.jpg
hwao
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ść
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??
Cysiaczek
Cytat
<?php echo ("<a href=\"$PHP_SELF\">$powrot</a> <a href=\"$homelink\">$homepage</a>") ?>


Tu się tak odwołujesz 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.
mrmyster
a nie mowilem, ze lamer jestem biggrin.gif

to moze pehapowe glowy pomoga cos winksmiley.jpg

zasade znacie, wiec moze podpowiecie jak to zrobic, zeby mialo rece i nogi i dzialalo tak jak opisalem..
Cysiaczek
Widzisz. Dla każdego to będzie miało inne ręce i inne nogi 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. ?>
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.