Pagina 1 di 8 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 77
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Controllo max lunghezza dei campi da un form in php

    Salve ragazzi,
    vi spiego il problema chiaramente e velocemente. Ho realizzato un form, chiaramente in html, che mi permette di inserire dei dati di registrazione utenti (Nickname, password, ecc.). Quel che mi interesserebbe ottenere è un controllo sull'inserimento del numero massimo e minimo dei caratteri della password. Ad esempio, minimo 6 massimo 10.
    In recente passato ho realizzato un simile controllo sull'inserimento di immagini in piattaforma, inserendo controlli php sulla dimensione ("size" e "max_size") dell'immagine.
    Ho provato con i campi di tipo testuale come la password e il nick name ma non sono riuscito.

    Vi posto il pezzo di codice del form al quale faccio riferimento.

    Codice PHP:

    <input type="password" name="password" size="28" value="" length="20" 
    Come posso organizzare un controllo php? (del tipo if length>max_lenght.......)
    Grazie ragazzi

  2. #2
    Codice PHP:
    if(strlen($valore_form) >= && strlen($valore_form) <= 10){operazioni ....} 

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Innanzitutto grazie Ugly.
    Potresti però farmi un esempio un pò più completo, visto che molte funzioni del php ancora non mi sono molto chiare?
    Grazie mille

  4. #4
    Codice PHP:
    <?php 
    $pass 
    ='1234567890';

    if(
    strlen($pass) >= && strlen($pass) <= 10){echo 'La password &egrave; giusta';}
    else{echo
    'La password deve essere minimo 6 caratteri e al massimo 10';}
    ?>
    Metti il codice in una pagina php e prova a variare il valore di $pass....

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Grazie Ugly.
    Ti volevo però chiedere una cosa. Ho un ciclo elseif. Ti posto il codice:

    Codice PHP:
    elseif($password=="")
    {
    print 
    "La password è obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;

    Come faccio ad inserire lo script che mi hai scritto qua dentro?
    Grazie

  6. #6
    Codice PHP:
    $pass $_REQUEST['password']; //Recupero la pass dal form

    if($pass){ // se la password è stata inserita controllo la lunghezza
    if(strlen($pass) < || strlen($pass) > 10){echo 'La password deve essere minimo 6 caratteri e al massimo 10';}

    }else{
    echo 
    'La password è obbligatoria
    [url="formregistraz.php"]indietro[/url]
    '
    ;

    I controlli sono leggermente adattati rispetto a prima.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Ho provato a modificare la struttura dell script come mi hai suggerito ma non gira. Ossia, la registrazione avviene anche se inserisco password di un carattere. Sicuramente ho commesso qualche errore.

    Ti posto tutto il codice relativo alla parte incrimnata e modificata.

    Codice PHP:
    <?php
    $nickname 
    htmlentities(strip_tags($_POST["nickname"]));
    $password htmlentities(strip_tags($_POST ["password"]));
    $conferma htmlentities(strip_tags($_POST ["confermapassword"]));
    $nome htmlentities(strip_tags($_POST["nome"]));
    $cognome htmlentities(strip_tags($_POST["cognome"]));
    $mail htmlentities(strip_tags($_POST["mail"]));
    $quesito htmlentities(strip_tags($_POST["quesito"]));
    $risposta htmlentities(strip_tags($_POST["risposta"]));

    $pass $_REQUEST['password']; //Recupero la pass dal form 

    if($pass){ // se la password è stata inserita controllo la lunghezza 
    if(strlen($pass) < || strlen($pass) > 10){echo 'La password deve essere minimo 6 caratteri e al massimo 10';} 

    }else{ 
    echo 
    'La password è obbligatoria
    [url="formregistraz.php"]indietro[/url]
    '

    }
    if(
    $nickname=="")
    {
    print (
    "Il nick è obbligatorio
    <a href=\"formregistraz.php\">indietro</a>
    "
    );
    }
    elseif(
    $password=="")
    {
    print 
    "La password è obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $conferma=="")
    {
    print 
    "Devi confermare la password
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $nome=="")
    {
    print 
    "Il nome è obbligatorio
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $cognome=="")
    {
    print 
    "Il cognome è obbligatorio
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $mail=="")
    {
    print 
    "La mail è obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $quesito=="")
    {
    print 
    "Domanda obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $risposta=="")
    {
    print 
    "Risposta obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    else
    {
    include(
    "config.php");
    mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi");
    mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
    dove sta l'errore?

  8. #8
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Questo significa se la lunghezza della pass è minore di 6 o maggiore di 10 :

    if(strlen($pass) < 6 || strlen($pass) > 10){echo 'La password deve essere minimo 6 caratteri e al massimo 10';}


    prova cosi':

    f((strlen($pass) =>6) && (strlen($pass)<= 10)){echo 'La password deve essere minimo 6 caratteri e al massimo 10';}

    poi nn capisco perche prima fai questo :

    $password = htmlentities(strip_tags($_POST ["password"]));

    e poi questo :

    $pass = $_REQUEST['password']; //Recupero la pass dal form


  9. #9
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Ho provato con questa soluazione

    Codice PHP:
    <?php
    $nickname 
    htmlentities(strip_tags($_POST["nickname"]));
    $password htmlentities(strip_tags($_POST ["password"]));
    $conferma htmlentities(strip_tags($_POST ["confermapassword"]));
    $nome htmlentities(strip_tags($_POST["nome"]));
    $cognome htmlentities(strip_tags($_POST["cognome"]));
    $mail htmlentities(strip_tags($_POST["mail"]));
    $quesito htmlentities(strip_tags($_POST["quesito"]));
    $risposta htmlentities(strip_tags($_POST["risposta"]));

    if(
    $pass){ // se la password è stata inserita controllo la lunghezza
    if(strlen($pass) => || strlen($pass) <= 10){echo 'La password deve essere minimo 6 caratteri e al massimo 10';}
    }else{
    echo 
    'La password è obbligatoria
    [url="formregistraz.php"]indietro[/url]
    '
    ;
    }
    if(
    $nickname=="")
    {
    print (
    "Il nick è obbligatorio
    <a href=\"formregistraz.php\">indietro</a>
    "
    );
    }
    elseif(
    $conferma=="")
    {
    print 
    "Devi confermare la password
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $nome=="")
    {
    print 
    "Il nome è obbligatorio
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $cognome=="")
    {
    print 
    "Il cognome è obbligatorio
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $mail=="")
    {
    print 
    "La mail è obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $quesito=="")
    {
    print 
    "Domanda obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    elseif(
    $risposta=="")
    {
    print 
    "Risposta obbligatoria
    <a href=\"formregistraz.php\">indietro</a>
    "
    ;
    }
    else
    {
    include(
    "config.php");
    mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi");
    mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");

    ma mi da questo errore

    Parse error: parse error in d:\programmi\easyphp1-8\www\internet_services\register.php on line 12


    ossia nella linea:

    if(strlen($pass) => 6 || strlen($pass) <= 10){echo 'La password deve essere minimo 6 caratteri e al massimo 10';}

    perchè?

  10. #10
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Ho sbagliato io, prima va messo >= e non =>

    if(strlen($pass) >= 6 || strlen($pass) <= 10){echo 'La password deve essere minimo 6 caratteri e al massimo 10';}

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.