comando implode()

ciao
perche ti complichi la vita

PHP:
//.......
	if($_POST['checkbox']=== NULL){
		var_dump($_POST['checkbox']); echo "<br>";//ti serve per vedere poi lo togli
		$formok = false;
        $errors[]    = "Non hai selezionato il tipo di richiesta."; 
	}else{
		var_dump($_POST['checkbox']); echo "<br>";//ti serve per vedere poi lo togli
		$OKrichiesta = implode(" e/o ",$_POST['checkbox']);
		var_dump($OKrichiesta); echo "<br>";//ti serve per vedere poi lo togli
	}
//.........
 
Ho inserito il tuo esempio purtroppo ho un errore di indice non definito su questa riga
PHP:
if ($_POST['checkbox']=== NULL) {
e l'ho modificato così
PHP:
if (isset($_POST['checkbox']) || $_POST['checkbox']=== NULL) {

ma sempre errore mi da. Questo se non seleziono nulla nella checkbox. Altrimenti il form è ok
 
ciao
perche dici che non funzia (ho tralasciato il resto)

PHP:
<?php
if(isset($_POST['invia'])){
	if($_POST['checkbox']=== NULL){
        var_dump($_POST['checkbox']); echo "<br>";//ti serve per vedere poi lo togli
        $formok = false;
        //$errors[]    = "Non hai selezionato il tipo di richiesta.";
		echo "Non hai selezionato il tipo di richiesta.<br>";
    }else{
        var_dump($_POST['checkbox']); echo "<br>";//ti serve per vedere poi lo togli
        $OKrichiesta = implode(" e/o ",$_POST['checkbox']);
        echo "$OKrichiesta<br>";
    }
}
?>
<form action="#" method="post" name="prova">
matrimonio: <input name="checkbox[]" type="checkbox" value="matrimonio" /><br />
evento: <input name="checkbox[]" type="checkbox" value="evento" /><br />
karaoke: <input name="checkbox[]" type="checkbox" value="karaoke" /><br />
altro: <input name="checkbox[]" type="checkbox" value="altro" /><br />
<input name="invia" type="submit" id="invia" value="invia">
</form>

output non selezionando
NULL
Non hai selezionato il tipo di richiesta.

output selezionando es. evento e karaoke e altro
array(3) { [0]=> string(6) "evento" [1]=> string(7) "karaoke" [2]=> string(5) "altro" }
evento e/o karaoke e/o altro

output selezionando es. solo matrimonio
array(1) { [0]=> string(10) "matrimonio" }
matrimonio
 
Questo è l'errore che mi da
HTML:
Notice: Undefined index: checkbox in ..\contatti4.php on line 261
e la linea in questione è questa
PHP:
if (isset($_POST['checkbox']) || $_POST['checkbox'] === NULL) {

Ti confermo che mi esce null, e se seleziono i campi del checkbox ottengo quello che hai scritto tu, però
1° il form non rimane nella pagina iniziale ma elabora il codice di controllo e mi da errore come scritto sopra.
2° ho provato a capire come cambiare i valori di controllo ed i messaggi di errore automatici dell'html5 ma senza esiti positivi. Mi spiego meglio, io voglio che le caselle input del sistema checkbox si colorino di rosso come gli altri campi, ma non riesco a metterlo in pratica. non vengono analizzate in automatico come gli altri campi. quindi se non seleziono nessuna checkbox il form viene inviato comunque.
 
ciao
intanto andrebbe
PHP:
if (!isset($_POST['checkbox']) || $_POST['checkbox'] === NULL) {
che poi non serve perche se non è issato è null
 
Ciao, allora sistemando l'errore di prima per ora tutto ok. Rimane sempre il problema che se non seleziono nulla il form va avanti e non invia nulla, inoltre non selezionando alcun campo non mi appare alcun avviso che ricordi all'utente di selezionare la/le checkbox.
 
ciao
se hai messo come giusto
PHP:
$formok = false;
$errors[]    = "Non hai selezionato il tipo di richiesta.";
non vedo perchè dovrebbe inviare

p.s.
guarda che per il messaggio di errore io avevo messo, per far prima, l'echo devi decommentare la
PHP:
$errors[]    = "Non hai selezionato il tipo di richiesta.";
e togliere l'echo (anche su echo "$OKrichiesta<br>";)
eventualmente riposta tutto lo script
 

Discussioni simili