Sto facendo uno scriptino per il controllo di due campi che deve permettermi di scrivere in rosso il campo interessato che da errore.
ho due file:
form.php
Codice PHP:
<?php
require_once('check.php');
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
<tr>
<td>user:</td>
<td><input type="text" name="new_email" /></td>
</tr>
<tr>
<td>pass:</td>
<td><input type="text" name="security_code" /></td>
</tr>
<tr>
<td colspan="2">
<input name="submit" type="submit" value="accedi" />
</td>
</tr>
</table>
</form>
<?php
// riporto gli errori di inserimento dati
echo '<ul>';
if ($errori )
foreach ($errori AS $v) {
echo '[*]'.$v.'';
//testare la sessione
}
echo '[/list]';
?>
e
check.php
Codice PHP:
<?php
//Avvio o continuo la sessione
session_start();
$new_email = @$_POST['new_email'];
$security_code = @$_POST['security_code'];
$errori = array();
if( isset($_POST['submit']) && (trim($_POST['submit']) == "accedi") ){
if((!strlen($new_email) != 0) and (!strlen($security_code) != 0)){
$errori[0] = "L'[b]E-mail[/b] e il codice [b]Chapta[/b] sono obbligatori";
} elseif((!isset($_POST['new_email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['new_email']))){
$errori[0] = "email errata";
} elseif((!strlen($new_email) != 0)){
$errori[0] = "L'[b]E-mail[/b] obbligatoria";
} elseif((!strlen($security_code) != 0)){
$errori[0] = "[b]codice Chapta[/b] obbligatorio";
}
return $errori;
}
?>
ho questi due problemi:
1) Non riesco a stampare + di un errore per volta... se sono 2?
ho messo $errori = array(); ma non da nessun risultato;
2) come faccio a evidenziare la voce del campo che mi da errore?
in merito non ho trovato nulla sul forum -- magari i titoli dei post non sono corretti