![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Witam wszystkich. Mam zwykły kod:
Kod <?php $_SESSION['bot'] = rand(100, 999); <input type="text" style="display:none" name="<?php echo($_SESSION['bot']);?>" value="" /> Jest to w pewnym stopniu zabezpieczenie przed botami (one wypełniają co się da wiadomo jakimi treściami). I chciałem sprawdzić w PHP czy pole pozostało puste. Tylko tu mam problem. W jaki sposób pobrać nazwę pola? Bo np. Kod $nazwa = $_SESSION['bot']; $pole = mysql_escape_string($_POST[''.$nazwa.'']; zwraca: Cytat Notice: Undefined offset: 741 in C:\Serwer\www\MisiurGaming\php\rejestracja_mechanizm.php on line 16 Pozdr |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Kod $pole = mysql_escape_string($_POST[''.$nazwa.'']; Masz kod niekompletny. Po drugie, daj var_dump($_SESSION) i zobacz, czy wszystko Ci się zgadza. Poza tym, nie jestem pewien, czy name może być liczbą. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- :)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
Tak, chyba po prostu nie może być cyfrą, bo kiedy sesji nadam 'a', to się zgadza... dzięki za pomoc.
Edit: Kurcze Peterowi nie chciałem dać pomógł ![]() Edit2: Kurcz, a teraz mam inny błąd... próbowałem całkowicie inego kodu i mi błąd wyskakuje: Cytat Fatal error: Can't use function return value in write context ... ścieżka próbowałem tak: Kod $litery = str_shuffle('qwertyuiopasdfghjklzxcvbnm'); $_SESSION['bot_pole'] = substr($litery, 0, 3); A w pliku przyjmującym dane: Kod $pole_bot = $_SESSION['bot_pole'];
$blad = 0; $bledy = array(); if(isset(mysql_escape_string($_POST[''.$pole_bot.'']))) { $blad++; $bledy[] = 'Wykryto próbę spamowania'; } |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Primo:
Kod ''.$pole_bot.'' Na chorobę coś takiego? Przecież sama zmienna też wystarczy, a parserowi oszczędzisz roboty. Secundo: Kod isset(mysql_escape_string($_POST[''.$pole_bot.''])) Za pomocą isset" title="Zobacz w manualu PHP" target="_manual sprawdzasz zmienną/klucz w tablicy, a nie wartość. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 170 Pomógł: 11 Dołączył: 2.03.2008 Skąd: Lublin Ostrzeżenie: (10%) ![]() ![]() |
No to wróciliśmy do punktu wyjścia
![]() Kod $p_email = mysql_escape_string($_POST['powtorz_email']); $pole_bot = $_SESSION['bot_pole']; $blad = 0; $bledy = array(); if(mysql_escape_string($_POST[$pole_bot]) != null) { $blad++; $bledy[] = 'Wykryto próbę spamowania'; } Zwraca nam: Kod [b]Notice[/b]: Undefined index: abr in [b]C:\Serwer\www\MisiurGaming\php\rejestracja_mechanizm.php[/b] on line [b]17[/b] Ale chyba wiem co jest nie tak... Ostatnim razem też się zmagałem z Notice'ami, i wszystkie dały się naprawić przy użyciu isset();, ale tak to nie wiem czym to zrobić, skoro będzie coś nie tak przy użyciu isset... Sorka za zawracanie głowy, ale takie szczególiki których nie mogę rozwiązać doprowadzają mnie do szału... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Sprawdź najpierw istnienie zmiennej/klucza, dopiero potem na niej operuj.
Escape'owanie ciągu jest właśnie tą operacją. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 05:47 |