webmaster, czcionki, szablony, skrypty, kursy: php, html, mysql, webmaster group / SITEQL.net \ skrypty, kursy: html, php, mysql, czcionki, darmowe szablony stron www, grafika, flash i swish, webmaster group, porady php, html i javascript, tworzenie stron www, katalog stron www, forum dla webmastera oraz obszerny download, pliki, za darmo w sieci, wszystko dla ciebie i twojej strony www, zapraszamy | html, php, skrypty, czcionki, webmaster, szablony, javascript, mysql, download, scrypty, www, gif, jpg, kursy, kurs php, kurs, php3, php4, porady, artykuły, darmowe szablony stron www, pliki, skrypty cgi, webmaster group, skrypty php, skrypty javascript
 

Darmowe Pozycjonowanie - www.LiveLink.pl

 
 

Menu


 Porady PHP:

Przesyłanie danych w parametrach linku / (urlencode() i urldecode() /

Przy pomocy parametrów w linku możemy przesyłać pomiędzy stronami wiele potrzebnych informacji np. tworząc link:
<?
$a="abc";
$b="def";
echo"<a href=strona.php3?dane1=$a&dane2=$b>przekaż</a>"
?>

przekażemy informacje do pliku strona.php3, które możemy w nim wyświetlić np. w ten sposób
<?
echo"
wartość dane1 to: $dane1
wartość dane2 to: $dane2
";
?>

Inaczej sprawa wygląda gdy musimy przesłać dłuższy tekst, wszystko co pojawi się po pustej spacji nie będzie widziane w linku. Aby ominąć ten problem należy zastosować najpierw funkcję urlencode()

Czyli na przykład kod wyglądałby tak:
<?
$a="długi tekst dzielony spacjami";
$b="to też jest długi tekst dzielony spacjami";
echo"<a href=strona.php3?dane1=".$a=urlencode($a)."&dane2=".$b=urlencode($b).">przekaż</a>"
?>

natomiast w pliku odbierającym dane z parametrów musimy zastosować funkcję urldecode():
<?
echo"
wartość dane1 to ".$dane1=urldecode($dane1)."
wartość dane2 to ".$dane2=urldecode($dane2)."
";
?>

Przy zastosowaniu funkcji urlencode() puste miejsca zostaną zamienione na "+" :
$a="długi+tekst+dzielony+spacjami";
$b="to+też+jest+długi+tekst+dzielony+spacjami";

natomiast przy odebraniu danych funkcja urldecode() zamieni "+" z powrotem
na puste miejsca.
Ten sam efekt możemy uzyskać stosując funkcję zamiany stringa str_replace() :
$a = str_replace(" ","_",$a);
w pliku wysyłającym
i
$a = str_replace("_"," ",$a);
w pliku przyjmującym

ten drugi sposób bywa w wielu przypadkach dużo wygodniejszy, choć
może sprawiać wrażenie "mniej profesjonalnego".

dodał: Rip

skm MS Server czcionki Expekt Śmieszne filmy