Controllo campi vuoti, ritorno al modulo d'invio

  • Creatore Discussione Creatore Discussione Zorthan
  • Data di inizio Data di inizio

Zorthan

Utente Attivo
24 Feb 2007
85
0
0
Ciao :)
volevo chiedere se qualcuno sa darmi un consiglio su come fare si che una volta inseriti i dati ma con qualche problema , per es, saltando un campo obbligatorio, si possa fare ritornare l'utente sulla pagina dell'invio dati dal form con i campi obbligatori segnati in rosso
per ora io hoc reato un form e uno script del genere che non fa redirecting al modulo ma crea una pagina html che avvisa soltanto che mancano campi da inserire e poi c'è il link x tornare indietro
ecco qua cosa ho fatto (a questo script si viene rimandati da un'altra pagina html dove è presente il form da inviare che si chiama inventauntitolo.php
<?php

$txtArea = $_POST['titolo'];
$nome = $_POST['nome'];
$email = $_POST['email'];
foreach($_POST as $field => $value)
{

if (empty($value)) {
echo "<span style='font-family: arial'> Non hai inserito tutti i campi richiesti.</span></br>";
echo "<span style='font-size:14px'><a href='Inventa_un_titolo.php'>torna alla pagina di invio</a></span>";

exit();
}
}


echo"<p><span style='font-family: arial';>grazie per il tuo prezioso contributo al sito riceverai una email di conferma!</span></br>";
echo "<span style='font-family: arial';><a href='Inventa_un_titolo.php'>torna alla pagina di invio</a></span>";
$sender = "From: xxxx@xxxxx";
$to = "xxxx@xxxx, $email";
$sub = "Inventa un titolo";
$message=('Hai partecipato al concorso : Inventa un titolo con i seguenti dati: 1.titolo='.$txtArea.' 2.nome= '. $nome.' 3.email= '. $email);
$mail= mail($to, $sub,$message, $sender );
?>
IN Poche parole vorrei che dopo il controllo come spiegavo su si reindireizzi, se mancano dati obbligatori, alla pagina precedente dove c'è il form.
grazie :byebye:
 
Prova a vedere l'allegato. L'ho scritto di getto, spero che ti vada bene.
Tuttavia manca il completamento del campo dopo il controllo e inoltre non c'è un controllo delle mail inserite (cioè se uno scrive una mail non corretta, ma basta aggiungere due righette di codice php che puoi trovare anche su Google).
 

Allegati

provo

grazie x suggerimenti a eliox e matt. provo a vedere entrambe le soluzioni

:)
 
Prova a vedere l'allegato. L'ho scritto di getto, spero che ti vada bene.
Tuttavia manca il completamento del campo dopo il controllo e inoltre non c'è un controllo delle mail inserite (cioè se uno scrive una mail non corretta, ma basta aggiungere due righette di codice php che puoi trovare anche su Google).

Matt, il register_globals del tuo PHP.ini è in On?
 
Ho provato quello script su altervista, penso che il register_globals sia impostato su OFF.
Su netsons non posso controllare poichè ho il sito down (stanno facendo manutenzione ai server)

come mai me lo chiedi? per motivi di sicurezza?
 
headers

scusate per mancanza di tempo non ho ancora applicato i vs consigli am li faro' a brevissimo :fonzie:
però vi anticipo da neofita (4 mesi che studio questa magnifica tecnologia open source) una domanda che ho dat empo:
ma gli header se uso IIS come web server mi funzionano?
non so se ho capito male o letto male, ma qualcuno mi disse che non vengono supportati conn quel web server ma che ci vuole apache.
Eì' una s******a??
chiedo venia per la domanda0:)

ciao
 
Ho provato quello script su altervista, penso che il register_globals sia impostato su OFF.
Su netsons non posso controllare poichè ho il sito down (stanno facendo manutenzione ai server)

come mai me lo chiedi? per motivi di sicurezza?

si, ho visto che nei file in allegato non fai il controllo sul setaggio delle variabili inviate con GET, quindi ho pensato che register_globals fosse in on.
 
Si infatti.. Di solito uso sempre isset() per controllare ogni parametro GET. Quello script l'ho testato su altervista (che uso poco) e non mi funzionava usando quel controllo.
 

Discussioni simili