Validare alcuni campi di un form

MoPa

Nuovo Utente
28 Mar 2016
16
0
1
Sono alle prime armi di PHP e mi sono arenato su un problema, quindi chiedo aiuto a chi ne sa più di me, ringraziando anticipatamente.

In una pagina html ho un form action con il seguente menu a discesa denominato "tipologia":

<option value="privato cittadino">privato cittadino</option>
<option value="ditta individuale">ditta individuale</option>
<option value="azienda">azienda</option>
<option value="associazione">associazione</option>
<option value="libero professionista">libero professionista</option>


a seguire, sempre nel form, è presente anche un campo denominato "partita_iva" che però deve essere lasciato vuoto solo se si seleziona il valore "privato cittadino".

Quindi, in pratica, nella pagina PHP, dovrei fare un controllo che se sarà selezionato qualsiasi valore (esempio: azienda o associazione, ecc) escluso "privato cittadino", deve dare errore di riempire il campo partita iva se questo sarà lasciato vuoto, mentre se sarà selezionato il valore "privato cittadino" si deve proseguire lasciando il campo partita_iva vuoto.

Avevo pensato ad una cosa del genere:

if (( $tipologia == "ditta individuale" ) || ( $tipologia == "azienda" ) || ( $tipologia == "associazione" ) || ( $tipologia == "pubblica amministrazione" ) || ( $tipologia == "libero professionista" ))
{
echo "E R R O R E !<br>Devi compilare il campo PARTITA IVA per continuare.";
exit;
}

solo che mancando la verifica del campo $partita_iva, di conseguenza da sempre l'errore anche se questo campo partita_iva è pieno. Come posso inglobare anche il controllo se il il campo partita_iva è vuoto o pieno?


PS:
Se poi non chiedo troppo dovrei verificare che il valore $partita_iva, naturalmente solo se inserito, questo deve essere di 11 caratteri e devono essere solo numeri e non lettere.



Grazie
 
Ultima modifica:

MoPa

Nuovo Utente
28 Mar 2016
16
0
1
Avrei risolto cosi, almeno sembra che funzioni, solo che non ho il controllo nella partita iva se sono stati inseriti 11 caratteri e se sono solo numeri.
Qualcuno riesce a dirmi se è corretto e come posso aggiungere i 2 controlli mancanti.


// INIZIO
if ( $partita_iva == "" )
{
if (( $tipologia == "ditta individuale" ) || ( $tipologia == "azienda" ) || ( $tipologia == "associazione" ) || ( $tipologia == "pubblica amministrazione" ) || ( $tipologia == "libero professionista" ))
{
echo "E R R O R E !<br>Devi compilare il campo PARTITA IVA per continuare.";
exit;
}
else
{
}
}
// FINE
 

zorro

Utente Attivo
20 Ott 2014
324
21
28
ROMA
Ciao,
se ho capito bene quello che intendi fare, ti posto il codice (ho fatto qualche piccola aggiunta al form).
Questo è il form:



HTML:
<form method="post" action="contr.php">
	<select name="ragsoc">
                <option value="  ">Effettua una scelta</option>
		<option value="privato cittadino">privato cittadino</option>
		<option value="ditta individuale">ditta individuale</option>
		<option value="azienda">azienda</option>
		<option value="associazione">associazione</option>
		<option value="libero professionista">libero professionista</option>
	</select>
    <br><br><br>partita iva
    <input type="text" name="piva"><br>
    <br><br><br> <input type="submit" name="invia" value="Invia i dati">
</form>


........e questo è il codice PHP


PHP:
<?php
$rag_soc = $_POST['ragsoc'];
$piva = $_POST['piva'];

if ($rag_soc != '  ') {
    if (($rag_soc == 'privato cittadino' and $piva == '') or ($rag_soc != 'privato cittadino' and (is_numeric($piva) and strlen($piva) == 12))) {
        echo 'corretto';
    } else {
        echo 'ATTENZIONE!! Devi riempire il campo partita_iva';
    }
} else {
    echo 'ATTENZIONE!! Campo ragione_sociale vuoto';
}
?>


Devi semplicemente adfattarlo un po',. sempre che era ciò che intendevi. Ciao:byebye::byebye:


Zorro
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io proverei a fare così
PHP:
<?php
$rag_soc = trim($_POST['ragsoc']);
$piva = trim($_POST['piva']);
$err=0;
if($rag_soc !=""){
	if($rag_soc=="privato cittadino"){
		//il privato non ha partita iva
		//quindi qualsiaso cosa abbia messo la elimino
		$piva="";
	}else{
		//è un soggette che deve avere la partita iva
		$pat="/[09]{12}/";// deve essere composta solo di 12 numeri
		if(!preg_match($pat,$piva)){$err=1;}
	}
	if($err==0){
	//fai quello che devi fare
	}else{
	echo "partita iva assente o non corretta";
	//e fai quello che devi in caso di errore
	}
}else{
	echo "non hai selezionato il tipo di ragione sociale";
}
//...
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
piccolo dubbio, ma non sono sicuro: ma non sono 11 i caratteri numerici?
se è cosi modificare
$pat="/[09]{12}/";
in
$pat="/[09]{11}/";
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Come validare textarea con jquery jQuery 0
MarcoGrazia [PHP] [regex] Validare un url PHP 2
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
D [Javascript] Validare dati in un form prima di spedirlo Javascript 1
O [HTML] Validare Form CMS (Content Management System) 3
napuleone [Javascript] validare lo spazio con js Javascript 7
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
MarcoGrazia [regex] validare un textbox con solo caratteri alfabetici. Javascript 6
borgo italia validare un indirizzo email Snippet PHP 0
M Domande su validare i dati inseriti dagli utenti con jQuery e PHP Javascript 1
Shyson Validare mail in varie parti Javascript 2
Athene Validare un indirizzo email PHP 2
borgo italia validare url PHP 4
W Validare Form PHP 1
WpStyle validare attributo "value" HTML e CSS 7
C aiuto per validare form Javascript 3
jan267 Validare un form Javascript 2
S validare select da iframe a altri iframe Javascript 0
G Come validare in w3c il carrello di paypal? E-Commerce 14
M Validare Codice con W3C Xhtml 1.0 Strict HTML e CSS 8
B Validare Forms Javascript 0
G Validare e-mail Posta Elettronica 2
F validare una stringa... PHP 1
E non riesco a validare la pagina HTML e CSS 1
M Validare un input text di una form Classic ASP 15
P Passare solo alcuni parametri a script per CSV PHP 0
S non funzionano alcuni effetti (bottone futuristico creato con css) HTML e CSS 1
M [MySql - VB6 sp6] Problema connessione db con alcuni pc (errore Lost connection to MySQL server...). MySQL 1
andreas88 Creare file .htaccess per risolvere alcuni problemi con il tester SEO SEO e Posizionamento 0
Sevenjeak [Java EE] Problema JUnit e alcuni chiarimenti su jee Java 0
M Ajax funziona in alcuni siti, in altri no! Ajax 2
gnech91 problema: non funzionano alcuni tasti della tastiera Hardware 5
N invia.php solo alcuni dati da mostrare PHP 4
MarcoGrazia Non vedo i messaggi di alcuni forum Discussioni Varie 2
otto9due limitare l'accesso a cartelle e file a tutti tranne che ad alcuni domini.. PHP 1
P crash della pagina al refresh di alcuni div jQuery 7
E javascript alcuni problemi su tablet e smartphone Javascript 0
L CheckBox e Visualizzazione di alcuni campi di un record di una o più tabelle PHP 5
K alcuni chiarimenti sul metodo di ricerca nelle stringhe o array Javascript 1
Z [VB.net 2013 - MySQL] DataTable: Problemi di caricamento per alcuni dati .NET Framework 1
T [VBulletin] Tag solo in alcuni forum (e non in altri) CMS (Content Management System) 0
B Alcuni chiarimenti sulla creazione di un sito web (Copyright e affiliazioni) Leggi, Normative e Fisco 0
C Meglio memorizzare alcuni parametri in $_SESSION o fare richieste al database? PHP 6
Monital Errore solo per alcuni utenti, colpa delle session? PHP 5
F Sistema di post con file txt...alcuni problemi ! PHP 7
Quarzo Ialino Biterminato problemi di accesso ad alcuni siti Adsl e Connettività 114
M limitare l'accesso ad alcuni file Web Server 1
F Come mai alcuni browser non visualizzano correttamente il mio file swf? Flash 0
grottafelix Plug in Facebook: non si visualizzano su alcuni browser HTML e CSS 2
S Google Chrome non riconosce alcuni fonts HTML e CSS 4

Discussioni simili