
Originariamente inviata da
boots
fai così:
Codice PHP:
<?php
...bla bla
if(mysql_num_rows($query) == 1){
...bla bla
}else{
$error = 'Nome Utente o password errati';
}
...bla bla
?>
<!DOCTYPE html>
<html lang="it">
<head><title></title><head><body>
... form html per il login...
<!-- dove ti pare -->
<?php if(isset($error)):?>
<div style="position:absolute;width:80%;left:50%;margin-left:-40%; top:500px;text-align:center; z-index:999999">
<b><?php echo $error ?></b>
</div><?php endif ?>
</body></html>
ciao Boots,
il codice che mi hai postato va benissimo, quindi l'ho inserito anche nella pagina di registrazione. qui ho però dei problemi: l'ho variato un po', poiché avendo più condizioni, in caso di errore le stringhe a video ovviamente si sovrappongono, quindi ho scritto così:
codice:
<?php
if($nome == ""){$error_nome_1 = "Campo nome non compilato!"; }
if(strlen($nome) < 3 )
{$error_nome_2 = 'Il campo nome deve contenere almeno 3 caratteri!'; }
if(strlen($nome) > 20 )
{$error_nome_3 = 'Il campo nome deve contenere massimo 20 caratteri!'; }
if (is_numeric($nome))
$error_nome_4 = 'Numeri non ammessi nel campo nome!';
elseif (!preg_match('/^[A-Za-z àèéìòù\']+$/i', $nome)) {
$error_nome_5 = 'Il nome inserito contiene caratteri non ammessi!'; }
ecc...
<html> ecc...
<?php
echo '<center>';
if(isset($error_nome_1))
echo $error_nome_1.'<br>';
if(isset($error_nome_2))
echo $error_nome_2.'<br>';
if(isset($error_nome_3))
echo $error_nome_3.'<br>';
if(isset($error_nome_4))
echo $error_nome_4.'<br>';
if(isset($error_nome_5))
echo $error_nome_5.'<br>';
echo '<br></center>';
?>
form html
</html>
allora, se non scrivo nulla nel campo nome, il codice correttamente mi stampa a video la variabile $error_nome_1, se scrivo un numero, tramite is_numeric mi segnala l'errore, mentre tutte le altre variabili hanno dei problemini.
strlen viene ignorato, completamente, solo se scrivo
codice:
if(strlen($nome) < 3 )
{echo 'Il campo nome deve contenere almeno 3 caratteri!'; exit() }
l'errore viene riportato, ma su pagina bianca...
preg_match funziona, ma se il mio utente scrive per esempio cinque apostrofi o quattro dash, non mi segnala l'errore...
sai dirmi dove sbaglio? grazie mille!