webForumDet fria alternativet
Logga in / Bli medlem

Problem vid kontroll av data

PHP

2 svar · 325 visningar · startad av webzonen

Medlem sedan feb. 2001390 inlägg
Trådstart#1

Hittade ett exempel på kod som kontrollerar om det bara är giltiga tecken i ett fält,

$span_str = "abcdefghijklmnopqrstuvwxyz" . "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";

        // One character
        if (strspn($_POST['login'],$span_str) == 0) {
        return false;
        }
        
        // Only legal
        if (strspn($_POST['login'],$span_str) != strlen($name)) {
        return false;
        }

Om jag förstått det rätt kontrollerar den första om det finns ett giltigt tecken i _post['login'], den andra ska vad jag förstår kolla om alla är rätt, men vad gör $name? hittar den ingen annan stans i koden. Kollade i manualen men jag förstod inte så bra.

Medlem sedan juni 20006 031 inlägg
#2

Byt ut $name mot $_POST['login'] så bör det ju fungera.

strspn kollar antalet tecken som är rätt.
Om du t.ex fyller i ordet webzo@nen i formuläret så ger strspn resultatet 5 (längsta strängen med rätt tecken, webzo)

Medlem sedan feb. 2001390 inlägg
#3

Fungerade, tack för hjälpen!

268 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)