Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]losowy ciąg znaków w linku, adresie strony i odczyt GET
Forum PHP.pl > Forum > Przedszkole
!*!
Chciałbym generować losowy link, oraz adres strony...

  1. <?php
  2. $nomega = '1234567890qwertyuiopasdfghjkklzxcvbnm';
  3.    $idomega = '';
  4.    for ($nkey=0; $nkey<7; $nkey++)
  5.    {
  6.        $idomega .= $nomega[rand()%(strlen($nomega))];
  7.    }
  8.  
  9. echo $idomega;
  10. ?>


w efekcie otrzymuje np:

Kod
mkzkqft


ok, dalej zapodaje do linku:

  1. href="?<?php echo''.$idomega.''?>=strona1


i jest też ok, ale... chciałbym np. wiedzieć czy strona1 jest akurat teraz wczytana, tzn. $idomega jest = strona1

  1. <?php
  2. if ($_GET['$idomega']) == 'strona1') {echo("id=\"active\"");}
  3. ?>


I tu jest problem gdyż $idomega jest generowana za każdym razem gdy wczytywana jest strona, a adres strony zawiera stare wygenerowany ciąg.
HellRider
  1. href="?<?php echo $idomega ?>=strona1"


  1. <?php
  2. if ($_GET["$idomega"] == 'strona1') echo "id=\"active\"";
  3. ?>


W if nawias w złym miejscu był,
w generowaniu href'a niepotrzebne apostrofy,
także to:

  1. <?php
  2. echo '$idomega'; // $idomega
  3. echo "$idomega"; // abfetrf
  4. ?>

kwestia odpowiednich cudzysłowów.


EDIT: Hm, ale jak skrypt odbierający ma przewidzieć ciąg GET skoro jest losowany? Użyj $_GET[0].
Sprawdż tablicę GET uzywając print_r($_GET).
zegarek84
ten wygenerowany adres pasowało by wrzucić do jakiejś mniejszej tablicy gdzie przypisane co on niby znaczy a później z tamtąd sprawdzać czy istnieje i przy pomocy tiggerów czyścić przedawnienia - nadać jakąś żywotność takich linków w bazie żeby nie wygenerować duuuużego smietnika......... - ale to tylko propozycja
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.