Scaricati Notepad++ ed usa quello, è gratuito.Originariamente inviato da lleo.94
@Alhazred: per scriverlo, ho usato il blocco note. Ora lo sto testando e modificando dall'editor di altervista
Scaricati Notepad++ ed usa quello, è gratuito.Originariamente inviato da lleo.94
@Alhazred: per scriverlo, ho usato il blocco note. Ora lo sto testando e modificando dall'editor di altervista
Ci proverò. Ma ci sono altri errori sostanziali? Da cosa dipende il fatto che non ritorna alla pagina del form, quando le caselle sono vuote?
Come prima cosa è proprio strutturato male il metodo con cui fai i controlli.
Facciamo che devi controllare solo nome, cognome e sesso per brevità, poi gli altri puoi aggiungerli seguendo lo schema.
Se non scrivi niente nella casella "sesso" andrai sempre sulla pagina contenuta in $redirect1 perché il controllo lo fai cosìCodice PHP:
// puoi usare direttamente le variabili dall'array $_GET, non è necessario assegnare nuove variabili
if ($_GET['nome'] == "") //il controllo devi farlo sulla stringa vuota "" non sullo spazio " "
{
echo "Non hai inserito il nome";
echo '[url="guestbook.html"]Torna al questionario...[/url]';
}
elseif($_GET['cognome'] == "")
{
echo "Non Hai inserito il cognome!";
echo '[url="guestbook.html"]Torna al questionario...[/url]';
}
elseif($_GET['sesso'] == "")
{
echo "Non hai specificato il sesso!";
echo '[url="guestbook.html"]Torna al questionario...[/url]';
}
else { //tutti i controlli sono andati a buon fine
//fai quello che devi fare se tutto va bene
}
Codice PHP:
if ($sesso == "m")
{
header("Location: $redirect");
}
else //se $sesso è qualsiasi altra cosa, quindi anche niente!
{
header("Location: $redirect1");
}
Quindi, la prima parte, deve essere così? E la seconda del redirect? Come faccio? Non capisco![]()
<?php
$nome = $_GET ['nome'];
$cognome = $_GET ['cognome'];
$citta = $_GET ['citta'];
$provincia = $_GET ['provincia'];
$sesso = $_GET ['sesso'];
$auto = $_GET ['auto'];
$voto = $_GET ['voto'];
$redirect = "maschio.html";
$redirect1 = "femmina.html";
if ($_GET['nome'] == "") //il controllo devi farlo sulla stringa vuota "" non sullo spazio " "
{
echo "Non hai inserito il nome";
echo 'Torna al questionario...';
}
elseif($_GET['cognome'] == "")
{
echo "Non Hai inserito il cognome!";
echo 'Torna al questionario...';
}
elseif($_GET['sesso'] == "")
{
echo "Non hai specificato il sesso!";
echo 'Torna al questionario...';
}
elseif($_GET['provincia'] == "")
{
echo "Non hai specificato la provincia!";
echo 'Torna al questionario...';
}
elseif($_GET['provincia'] == "")
{
echo "Non hai specificato la provincia!";
echo 'Torna al questionario...';
}
elseif($_GET['citta'] == "")
{
echo "Non hai specificato la città!";
echo 'Torna al questionario...';
}
elseif($_GET['voto'] == "")
{
echo "Non hai specificato il voto!";
echo 'Torna al questionario...';
}
elseif($_GET['auto'] == "")
{
echo "Non hai specificato la tua auto preferita!";
echo 'Torna al questionario...';
}
[B>else {
????
}
?>[/B]
Intanto se usi direttamente i $_GET['....'] tutto questo lo puoi cancellare
$nome = $_GET ['nome'];
$cognome = $_GET ['cognome'];
$citta = $_GET ['citta'];
$provincia = $_GET ['provincia'];
$sesso = $_GET ['sesso'];
$auto = $_GET ['auto'];
$voto = $_GET ['voto'];
Dentro quell'else ci va il codice per far fare allo script le operazioni da compiere in caso l'utente abbia compilato correttamente la form.
Un consiglio, dato che devi passare 7 variabili forse ti conviene usare POST invece di GET, l'indirizzo risulterebbe più pulito.
Quindi, in questo modo, dovrebbe fungere?
<?php
$redirect = "maschio.html";
$redirect1 = "femmina.html";
if ($_GET['nome'] == "") //il controllo devi farlo sulla stringa vuota "" non sullo spazio " "
{
echo "Non hai inserito il nome";
echo 'Torna al questionario...';
}
elseif($_POST['cognome'] == "")
{
echo "Non Hai inserito il cognome!";
echo 'Torna al questionario...';
}
elseif($_POST['sesso'] == "")
{
echo "Non hai specificato il sesso!";
echo 'Torna al questionario...';
}
elseif($_POST['provincia'] == "")
{
echo "Non hai specificato la provincia!";
echo 'Torna al questionario...';
}
elseif($_POST['provincia'] == "")
{
echo "Non hai specificato la provincia!";
echo 'Torna al questionario...';
}
elseif($_POST['citta'] == "")
{
echo "Non hai specificato la città!";
echo 'Torna al questionario...';
}
elseif($_POST['voto'] == "")
{
echo "Non hai specificato il voto!";
echo 'Torna al questionario...';
}
elseif($_POST['auto'] == "")
{
echo "Non hai specificato la tua auto preferita!";
echo 'Torna al questionario...';
}
else {
if($_POST['sesso'] == "m")
{
header("Location: $redirect");
}
if($_POST['sesso'] == "f")
{
header("Location: $redirect1");
}
}
?>