Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja adresowa
Forum PHP.pl > Forum > PHP
sajborg
Witam mam taka funkcje
  1. <?php
  2.  
  3. function adr ($str){
  4. global $QUERY_STRING;
  5.  
  6. $query=explode('=',$str);
  7.  
  8. $patern='/'.$query['0'].'=/i';
  9.  
  10. if (!preg_match($patern,$QUERY_STRING) && !empty($QUERY_STRING)) {
  11.  
  12. return '?'.$QUERY_STRING.'&'.$str;
  13.  
  14. }else{
  15.  
  16. return '?'.$str;
  17.  
  18. }
  19.  
  20. }
  21. ?>


Ma ona za zadanie dodawanie zmiennych do adresu .Ale dziala tylko na pierwsza zmienna bo daje explode i uzywam tylko pierwszej zmiennej. Jak zrobic zeby mi sprawdzalo wszystkkie bo jak mam ?co=ble i w kodzie daje adr('jak=blleh'); to dziala adres mam ?co=ble&jak=blleh al jesli teraz znowu dodam zmienna jak to juz mi sie funkcja gubi i jest postac ?co=ble&jak=blleh&jak=sss chodzi mi o to zeby jak mam juz taka zmienna w adresie to zeby nie dodawala mi nowej tylko zastepowala to dziala ale tylko na pierwszej biggrin.gif
hwao
parse_url" title="Zobacz w manualu php" target="_manual()

Parsujesz url, potem dodajesz co Ci trzeba, zklejasz w 1 (returnem) i tyle.
sajborg
To mi nic nie da wyjdzie na to samo co $QUERY_STRING.
Ale juz wymyslilem jak to zrobic :]

  1. <?php
  2. function adr ($str){
  3. global $QUERY_STRING;
  4.  
  5. $query=explode('=',$str);
  6.  
  7. $patern='/'.$query['0'].'=/i';
  8.  
  9. if (!preg_match($patern,$QUERY_STRING) && !empty($QUERY_STRING)) {
  10.  
  11. return '?'.$QUERY_STRING.'&'.$str;
  12.  
  13. }else{
  14.  
  15. return (preg_match('/'.$str.'/i',$QUERY_STRING)) ? '?'.$QUERY_STRING : '?'.$str;
  16.  
  17. }
  18.  
  19.  
  20. }
  21. ?>
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.