Autor Zpráva
szucs
Profil
Vie mi niekto na konkretom priklade vysvetlit funkciu serialize?

Bohuzial som ju nepochop z prikladu na www.php.cz
Moj priklad

subor skuska.php
<?php
$pole = array("vlado","peter","jozo");
$prenos = serialize($pole);
echo '<a href = "skuska1.php?prenos='.$prenos.'">odosli</a>';
?>

subor skuska1.php

<?php
$vysledok = unserialize($prenos);
echo $vysledok[0];
?>

Chcel by som , aby mi vypisal Vlado
Aspon tak som to pochopil
Leo
Profil
A bez toho prenosu v adrese vam to funguje? Pokud ano, pak mate problem v nem, Leo
szucs
Profil
V ramci jedneho suboru mi to funguje, a ako mam opravit problem s prenosom?
Hugo
Profil
Je mozne, ze jsou na serveru zakazany register_globals. Zkus to napsat takto:
<?php
$vysledok = unserialize($_GET['prenos']);
echo $vysledok[0];
?>
izsak
Profil
A samozrejme by bolo dobré serializované premenné pri posielaní cez GET v URL zakódova» a potom dekódova» pomocou urlencode() a urldecode() aby sa nepoąkodili dáta.
szucs
Profil
Bohuzial nepomohlo nic
doplnil som $prenos = urlencode(serialize($pole));

a tiez potom v druhom subore
$vysledok = urldecode(unserialize($_GET['prenos']));

dostavam ako vystup proazdu stranku s tym, ze v kolonke adresa je toto

http://localhost/css/skuska1.php?prenos=a%3A3%3A%7Bi%3A0%3Bs%3A5%3A%22 vlado%22%3Bi%3A1%3Bs%3A5%3A%22peter%22%3Bi%3A2%3Bs%3A4%3A%22jozo%22%3B %7D
izsak
Profil
Najprv treba dáta z URL dekódova» a aľ potom de-serializova»:

$vysledok = unserialize(urldecode($_GET['prenos']));
Leo
Profil
V tom dalsim souboru uz by se urldecode nemelo objevit, to dela pro $_GET promenne PHP sam. A pokud byste na tom trval tak samozrejme musite mit v druhym skriptu opacny poradi nez v prvnim (url vs. serialize), Leo
szucs
Profil
Bohuzial stale nic

dal som to aj na web

http://www.skloruza.sk/skuska/16/skuska.php

dal som do skuska1.php
$vysledok = unserialize(urldecode($_GET['prenos']));
a stale nic
Toto téma je uzamčeno. Odpověď nelze zaslat.