- Home
- Categorie
- Coding e Sistemistica
- Coding
- come verifico se una variabile ha tot caratteri??
- 
							
							
							
							
							
come verifico se una variabile ha tot caratteri??scusate il titolo lungo...sto facendo un form mail e l'utente deve mettere nome, mail, e commenti. Con la funzione ereg illustrata nella guida al php di Giorgiotave controllo la mail, ma è possibile controllare negli altri campi se essi abbiano almeno n caratteri?? grazie spero di essere stato capito 
 
- 
							
							
							
							
							
Ciao bono e benvenuto nel forum GT, 
 hai scelto un nick molto simpatico 
 Per verificare che un campo non sia vuoto fai così:[php] 
 if(!empty($nomecampo)){
 //istruzione
 }
 else{
 echo "Il campo $nomecampo è vuoto";}
 [/php]
 Oppure puoi verificare che questo contenga almeno 1 carattere:[php]
 if(strlen($nomecampo)>0){
 //istruzione
 }
 else{
 echo "Il campo $nomecampo è vuoto";}[/php]
 Ciao! 
 
- 
							
							
							
							
							
Grazie!! Ma se io voglio che abbia almeno 4 caratteri??? scusa se rompo ma mi sembra strano che uno metta un nome di una lettera 
 comunque secondo te così può andare???
 [php]
 if(strlen($nomecampo)>3){
 //istruzione
 }
 else{
 echo "Il campo $nomecampo è vuoto";}
 [/php]
 
- 
							
							
							
							
							
Meglio così: 
 [php]
 if(strlen($nomecampo)>=4){
 //istruzione
 }
 else{
 echo "Il campo $nomecampo contiene"."<b>".strlen($nomecampo)."</b>"."mentre deve contenerne minimo 4";}[/php];)
 
- 
							
							
							
							
							
Grazie di tutto hai risolto i miei problemi!!! Grazie!!! 
 
- 
							
							
							
							
							
Prego,bono  
 Torna a trovarci 
 
- 
							
							
							
							
							
scusa se contiunuo...è l'ultima domanda x oggi...per controllare una mail va bene fare così?: 
 [php]
 if(ereg("^[^@]+@[^@]+.[^@.]+$,$mail))
 {
 mail();
 }
 else
 {
 echo "$mail non è una mail valida!!";
 }
 [/php]grazie ancora!
 
- 
							
							
							
							
							
@Bono said: scusa se contiunuo...è l'ultima domanda x oggi...per controllare una mail va bene fare così?: 
 [php]
 if(ereg("^[^@]+@[^@]+.[^@.]+$,$mail))
 {
 mail();
 }
 else
 {
 echo "$mail non è una mail valida!!";
 }
 [/php]grazie ancora!
 Perfetto!;)
  
 
- 
							
							
							
							
							
mi scuso per aver recuperato un messaggio di 1 mese e mezzo fa..avevo lasciato stare un po' il php...ho installato easyphp (e quindi apache php e mysql) in locale sul mio pc, e ho provato uno script, solo che mi dice "Parse error: parse error in c:\programmi\easyphp1-8\www\prova.php on line 25" 
 posto le linee 25-26-27:
 [PHP]
 ...
 elseif(strlen($nome)>=4)
 {
 print("<p>devi scrivere un nome con almeno 4 caratteri!!")
 }
 [/PHP]
 la linea è in un gruppo else-elseif-elseif-else...qualcuno mi può aiutare? ho provato a mettere il 4 tra virgolette singole e doppie ma nn è cambiato nulla!! grazie a tutti!!
 
- 
							
							
							
							
							
Beh intanto in questa riga sembrerebbe non ci sia il punto e virgola alla fine della funzione print. print("<p>devi scrivere un nome con almeno 4 caratteri!!") 
 
- 
							
							
							
							
							
ok quello l'ho messo a posto..solo che nn va lo stesso!! e si ferma alla riga 25 quella che dice:[PHP]elseif(strlen($nome)>=4){ //eccetera..[/PHP] 
 
- 
							
							
							
							
							
che tipo di errore ti segnala? 
 controlla anche la riga o le righe precedenti a quella. L'errore spesso non viene segnalato nella riga stessa.
 
- 
							
							
							
							
							
@Brux said: che tipo di errore ti segnala? 
 controlla anche la riga o le righe precedenti a quella. L'errore spesso non viene segnalato nella riga stessa.
 Leggi sopra 
 
- 
							
							
							
							
							
Non mi pare di vedere errori o punti e virgola non messi, comuque posto tutto lo script: 
 [PHP]
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
 <link rel="stylesheet" type="text/css" href="layout.css">
 <title>sendmail</title>
 </head>
 <body>
 <p>controllo dati dei form</p>
 <?php
 $destinatario="[email protected]";
 $oggetto="mail dal sito";$nome=$_POST['nome']; 
 $mail=$_POST['mail'];
 $commenti=$_POST['textarea'];$intestazioni="From:$nome\n\r Reply-to:$mail"; if(!ereg("^[^@]+@[^@]+.[^@.]+$",$mail)); //controllo se la mail è corretta 
 {
 print("<p>$mail non è una mail valida!! <a href="contattaci.htm">torna indietro</a></p>");
 }
 elseif(!strlen($nome)>=4) //controllo che ci siano almeno 4 caratteri nel nome
 {
 print("<p>devi scrivere un nome con almeno 4 caratteri!! <a href="contattaci.htm">torna indietro</a></p>");
 }
 elseif(!strlen($commenti)>=5) //controllo che ci siano almeno 5 caratteri nei commenti
 {
 print("<p>devi scrivere almeno 5 caratteri nei commenti!! <a href="contattaci.htm">torna indietro</a></p>");
 }
 else
 {
 mail("$destinatario", "$oggetto", "$commenti", "$intestazioni");
 print("<p>dati corretti. email inviata. grazie dei commenti!!</p>");
 }
 ?></body> 
 </html>
 [/PHP]
 Grazie ancora per l'aiuto!!
 
- 
							
							
							
							
							
dopo l'if all'inizio non va il punto e virgola 
 
- 
							
							
							
							
							
Grazie grazie!! ora va!!! ancora grazie infinite!!!!!:D