Non funziona o meglio funziona in parte. Ho fatto così:
Non so perchè prende in considerazione solo i primi valori dell'array.
Ho provato a fare in quest'altro modo e funziona. Tuttavia non so come terminare (die; o exit la pagina se trova i campi vuoti.
Se inserisco exit; qui
Non prosegue con la stampa di tutti i gli errori che trova ma si ferma solo al primo. Se metto tale if al di fuori della funzione, la variabile $error la vede sempre vuota.
Per meglio farti comprendere tutto sto casino ti posto una pagina di test provala in locale o dove ti pare e capirai ^_^:
PHP:
function controllo($dati){
$dati=array_map("trim", $dati); //elimini eventuali caratteri es spazio
foreach ($dati as $val) {
if ($val != ""){
$error.= "errore $val </br>";
if ($error !=""){
return $error;
}
}
}
}
echo controllo($titolo);
echo controllo($genere);
echo controllo($trama);
echo controllo($locandina);
echo controllo($stream);
Non so perchè prende in considerazione solo i primi valori dell'array.
Ho provato a fare in quest'altro modo e funziona. Tuttavia non so come terminare (die; o exit la pagina se trova i campi vuoti.
PHP:
function controllo($dati){
$dati=array_map("trim", $dati);
$error="";
foreach ($dati as $dato) {
if (!count($dato)){
$error.="Vuoto $dato <br/>";
}
}
if($error !=""){
echo $error;
}
}
echo controllo($titolo);
echo controllo($genere);
echo controllo($trama);
echo controllo($locandina);
echo controllo($stream);
Se inserisco exit; qui
PHP:
if($error !=""){
echo $error;
exit;
}
Per meglio farti comprendere tutto sto casino ti posto una pagina di test provala in locale o dove ti pare e capirai ^_^:
PHP:
<?php
//creo l'array con i campi vuoti
$OLD = array();
$OLD[] = "";
$OLD[] = "";
$OLD[] = "";
$OLD[] = "";
$OLD2 = array();
$OLD2[] = "";
$OLD2[] = "";
$OLD2[] = "";
$OLD2[] = "";
//da tale funzione vorrei che identificare quali sono i campi vuoti
//stampare TUTTI i campi che risultano vuoti
//e poi far morire la pagina evitando che si esegua altro codice.
function controllo($dati){
$dati=array_map("trim", $dati);
$error="";
foreach ($dati as $dato) {
if (count($dato)){
$error.="Vuoto $dato <br/>";
}
}
if($error !=""){
echo $error;
}
}
echo controllo($OLD);
echo controllo($OLD2);
echo "Non devo essere visto dopo la stampa dei 4 array errati";
?>
Ultima modifica: