Stampa avvisi senza motivo

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho un form con i controlli js e php nella stessa pagina, quando io entro nella pagina, appaiono subito a video gli avvisi php di errore anche se il form non è ancora stato compilato e inviato a se stesso.
Devo fare in modo che quegli avvisi compaiano dopo l'invio e solo se i campi non sono stati compilati giusti.

PHP:
if ($nomeS == "") { 
$erroreS .= "Inserire il Nome"; 
}
else {
$nomeS;

//Campo obbligatorio
if($messaggioS == "") {
$erroreS .=  "Inserire il Messaggio";
}
else {
$messaggioS;
}

...

<div class="alertS"><?php echo $erroreS ?></div>

img01z.png
 
eh si ovvio

lo script vede i campi vuoti e segnala l'errore

dovresti fare un controllo sull'invio del form

assegni all'input submti ad esempio l'attributo name="form_invio"

quei controlli lid evi isnerire dentro quest if

PHP:
if((isset($_POST['form_invio']) || !empty($_POST['form_invio']))){

////inserisci i tuoi controlli sui campi

}
 
eh si ovvio

lo script vede i campi vuoti e segnala l'errore

dovresti fare un controllo sull'invio del form

assegni all'input submti ad esempio l'attributo name="form_invio"

quei controlli lid evi isnerire dentro quest if

PHP:
if((isset($_POST['form_invio']) || !empty($_POST['form_invio']))){

////inserisci i tuoi controlli sui campi

}

Vanno inseriti qui: <form method="post" name="mioformS" onsubmit="return (...) >

o qui: <button type="submit" name="invia" id="invia" class="manina-guest">Invia</button>
 
Ultima modifica:
Vanno inseriti qui: <form method="post" onsubmit="return (...) >

o qui: <button type="submit" name="send" id="invia" class="manina-guest">Invia</button>

immagino che tu hai


PHP:
<?php
if ($nomeS == "") { 
$erroreS .= "Inserire il Nome"; 
}
else {
$nomeS;

//Campo obbligatorio
if($messaggioS == "") {
$erroreS .=  "Inserire il Messaggio";
}
else {
$messaggioS;
}

... 

?>
<form method="post" onsubmit="return (...) >

bla bla

<button type="submit" name="send" id="invia" class="manina-guest">Invia</button>
</form>


il codice diventa

PHP:
<?php
 if((isset($_POST['send']) || !empty($_POST['send']))){

///////////inizio controlli campi
if ($nomeS == "") { 
$erroreS .= "Inserire il Nome"; 
}
else {
$nomeS;

//Campo obbligatorio
if($messaggioS == "") {
$erroreS .=  "Inserire il Messaggio";
}
else {
$messaggioS;
}
/////////fine controlli campi
}
... 
?>

<form> bla bla
 
Cosi funziona

PHP:
if((isset($_POST['invia']) || !empty($_POST['invia']))){ 
if ($nomeS == "") { 
$erroreS .= "Inserire il Nome"; 
}
else {
$nomeS;
}
}

Però pur avendo le sessioni, dopo l'invio corretto non distrugge i dati che avevo inserito nei campi, in pratica il form riappare con i campi ancora compilati

$_SESSION['nomeS'] = $_POST['nomeS'];
$_SESSION['cittaS'] = $_POST['cittaS'];
$_SESSION['suoemailS'] = $_POST['suoemailS'];
$_SESSION['messaggioS'] = $_POST['messaggioS'];

...

session_destroy();
 
Ultima modifica:
Ho un form con i controlli js e php nella stessa pagina, quando io entro nella pagina, appaiono subito a video gli avvisi php di errore anche se il form non è ancora stato compilato e inviato a se stesso.
Devo fare in modo che quegli avvisi compaiano dopo l'invio e solo se i campi non sono stati compilati giusti.

PHP:
if ($nomeS == "") { 
$erroreS .= "Inserire il Nome"; 
}
else {
$nomeS;

//Campo obbligatorio
if($messaggioS == "") {
$erroreS .=  "Inserire il Messaggio";
}
else {
$messaggioS;
}

...

<div class="alertS"><?php echo $erroreS ?></div>

img01z.png

RISOLTO

Ho messo così:

PHP:
if((isset($_POST['invia']) || !empty($_POST['invia']))){ 
if ($nomeS == "") { 
$erroreS .= "Inserire il Nome"; 
}
else {
$nomeS;
}
} 

...

<button type="submit" name="invia" id="invia" class="manina-guest">Invia</button>
 

Discussioni simili