[PHP] Campo facoltativo del form che non deve risultare nella risposta se negativo

categio

Nuovo Utente
2 Nov 2017
3
0
1
25
Ciao a tutti. Premetto che ho iniziato da poco a studiare PHP e sto cercando di svolgere qualche esercizio di preparazione all'esame, quindi scusatemi se la mia domanda risulterà troppo da dilettante. Ho cercato un po' ovunque ma non credo di aver trovato le informazioni che fanno al caso mio perché i miei esperimenti continuano a dare esito negativo.
L'esercizio chiede di elaborare un form con radio buttons e poi un campo facoltativo dove inserire una preferenza. Fin qua tutto ok, il problema mi si è posto quando dovevo far risultare una risposta tenendo conto di eventuali campi lasciati vuoti (ad esempio "Vuoi acquistare un'automobile." se non è stato specificato alcuna preferenza, oppure "Vuoi acquistare un'automobile di colore blu." se è stato specificato anche una preferenza).
Ho già provato con if else, empty(), isset() ma evidentemente non è il caso
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
28
BZ
Ciao
Mi pare un po strano che non riesci a trovare guide per questo.
Comunque sia ecco un piccolo esempio.
PHP:
<?php
if (isset($_POST["colore"])){
    echo "Hai selezionato color: ".$_POST["colore"];
    echo "<br><br>";
}else{
    echo "Attenzione non hai messo nessuna preferenza sul colore dell'auto";
    echo "<br><br>";
}

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Incremento</title>
</head>
<body>
    <form action="#" method="post">
        <input type="radio" name="colore" value="nero">Nero<br>
        <input type="radio" name="colore" value="bianco">Binaco<br>
        <input type="radio" name="colore" value="rosso">Rosso<br><br>
        <input type="submit" name="submit" value="Invia">
    </form>
</body>
</html>

P.S.: Cerca meglio che trovi tutto nel WEB. Se invece sei proprio in crisi scrivi pure;)
 

categio

Nuovo Utente
2 Nov 2017
3
0
1
25
PHP:
<?php
if (isset($_POST["colore"])){
    echo "Hai selezionato color: ".$_POST["colore"];
    echo "<br><br>";
}else{
    echo "Attenzione non hai messo nessuna preferenza sul colore dell'auto";
    echo "<br><br>";
}


Ciao,
Ciao
Mi pare un po strano che non riesci a trovare guide per questo.
Comunque sia ecco un piccolo esempio.
PHP:
<?php
if (isset($_POST["colore"])){
    echo "Hai selezionato color: ".$_POST["colore"];
    echo "<br><br>";
}else{
    echo "Attenzione non hai messo nessuna preferenza sul colore dell'auto";
    echo "<br><br>";
}

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Incremento</title>
</head>
<body>
    <form action="#" method="post">
        <input type="radio" name="colore" value="nero">Nero<br>
        <input type="radio" name="colore" value="bianco">Binaco<br>
        <input type="radio" name="colore" value="rosso">Rosso<br><br>
        <input type="submit" name="submit" value="Invia">
    </form>
</body>
</html>

P.S.: Cerca meglio che trovi tutto nel WEB. Se invece sei proprio in crisi scrivi pure;)



Ciao, grazie per l'intervento. Ho trovato diverse risposte di questo tipo, ma non è quello che mi serve. L'esercizio chiede di far risultare per esempio : "Hai scelto un'auto di colore blu", nel caso in cui il campo facoltativo sia utilizzato, ma se così non è dovrà risultare solo "Hai scelto un'auto". Ho fatto allo stesso modo con isset() e anche con empty() ma continua a darmi come risultato "Hai scelto un automobile di colore" se non riempio il campo facoltativo.
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
28
BZ
Ciao
Non capisco cosa vuoi fareo_O.
Se vuoi far vedere "Hai scelto un'auto" o "Hai scelto un' automobile di colore" è già come ti ho mostrato devi solo adattare alle tue esigenze.
PHP:
<?php
if (isset($_POST["submit"])){
    if ($_POST["campo_facoltativo"] != ""){
        echo "Hai scelto un'automobile di colore: <strong>".$_POST["campo_facoltativo"]."</strong>";
        echo "<br><br>";
    }else{
        echo "Hai scelto un'auto";
        echo "<br><br>";
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Incremento</title>
</head>
<body>
    <form action="#" method="post">
        Campo Facoltativo:<br><span style="color:#f00; font-size:11px;">*non obbligatorio</span><br>
        <input type="text" name="campo_facoltativo" >   
        <br><br>
        <input type="submit" name="submit" value="Invia">
        <br>
    </form>
</body>
</html>

Spero di essermi spiegato. Altrimenti fai un esempio del form che vuoi fare.


Fammi sapere
 

categio

Nuovo Utente
2 Nov 2017
3
0
1
25
appunto, io non voglio che risulti "Hai scelto un'automobile di colore" se non ho riempito il campo facoltativo, ma continua ad uscire nonostante abbia modificato in ogni modo il codice. Il risultato deve essere solo "Hai scelto un'automobile" quando il campo facoltativo viene lasciato vuoto.
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
28
BZ
Non ci stiamo proprio capendo. Faccio un altro tentativo :D.

PHP:
<?php
if (isset($_POST["submit"])){
    if ($_POST["campo_facoltativo"] == ""){
        echo "Hai scelto un'auto";
        echo "<br><br>";
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Incremento</title>
</head>
<body>
    <form action="#" method="post">
        Campo Facoltativo:<br><span style="color:#f00; font-size:11px;">*non obbligatorio</span><br>
        <input type="text" name="campo_facoltativo" >     
        <br><br>
        <input type="submit" name="submit" value="Invia">
        <br>
    </form>
</body>
</html>
In questo modo:
Se Invio e il campo facoltativo è Vuoto mostrerà "Hai scelto un'auto".
Altrimenti
Se Invio e il campo facoltativo è Compilato NON mostrerà nulla.


Se non mi sono chiarito ti chiedo di postarmi il tuo form, magari mi chiarisco un'po le idee su cosa vuoi fare.

Fammi sapere
Ciao
 

zorro

Utente Attivo
20 Ott 2014
249
11
18
ROMA
Ciao,
se non ho capito male, tu hai un form da dove puoi scegliere il colore dell'auto. Se effettui una scelta appare la scritta "Hai
scelto un'auto di colore" e il colore da te scelto, altrimenti un generico "Hai scelto un'auto".Giusto? Se è così, il codice è questo
(io preferisco separare HTML e PHP) altrimenti non tenerne conto

HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Incremento</title>
</head>
<body>
    <form action="contr.php" method="get">
        <input type="radio" name="colore" value="nero">Nero<br>
        <input type="radio" name="colore" value="bianco">Bianuco<br>
        <input type="radio" name="colore" value="rosso">Rosso<br><br>
        <input type="submit" name="submit" value="Invia">
    </form>
</body>
</html>
PHP:
<?php
$colore = $_GET['colore'];

if ($colore == '') {
    echo 'hai scelto un\'auto';
} else {
    echo 'hai scelto un\'auto di colore  '.$colore;
}
?>
Ciao