Per un match semplice puoi usare preg_match invece di _all. Mentre per la regexp hai scordato di mettere quante occorrenze vuoi che vengano trovate. Quindi o metti un + oppure puoi dare un intervallo {8,} che matcha solo se la stringa contiene pių di 7 caratteri.
codice:$regex = "/^[0-9a-z]{8,}$/i"; if (preg_match($regex,$pwd)){ ///.... }
edit: scordato di togliere "_all" nel code![]()