Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: controlli campi email

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801

    controlli campi email

    ciao ragazzi ho un problema con i controlli dei campi email vi spiego i controlli che ho applicato dovrebbero darmi i messaggi d errore se i campi di testo sono vuoti , e darmi il messaggio d errore anche se l email a caratteri non validi pero non mi fa cosi come dovrebbe


    se io nel form non scrivo niente, mi da l errore , sempre nel form se lascio i capi vuoti e metto un email con caratteri non ammessi mi da l errore,pero se io compilo tutti i campi e l email la scrivo con caratteri non validi m invia ugualmente dandomi un messaggio d errore cosa sto sbagliando? mi date una mano? grazie

    Codice PHP:
    // Gets the POST Headers - the Flash variables 
    $action $_POST['action'] ; 
    $nome $_POST['nome'] ; 
    $cognome $_POST['cognome'] ;
    $telefono $_POST['telefono'] ;
    $oggetto $_POST['oggetto']; 
    $email $_POST['email']; 
    $commento $_POST['commento']; 
    $privacy $_POST['privacy']?1:0;
    $code =  $_POST['code'];

    $CONFIG = array(
    "nome" => "check_global",
    "cognome" => "check_global",
    "telefono" => "check_global",
    "oggetto" => "check_global",
    "email" => "check_global",
    "commento" => "check_global",
    "privacy" => "check_global",
    "code" => "check_global"
    );
    function 
    check_username($nome,$cognome,$telefono,$oggetto,$email,$commento,$privacy,$code)
    {
    global 
    $CONFIG;
    $nome trim($nome);
    $cognome trim($cognome);
    $telefono trim($telefono);
    $oggetto trim($oggetto);
    $email trim($email);
    $commento trim($commento);
    $privacy trim($privacy);
    $code trim($code);
    if (
    $nome == "")
    {echo
    "Il campo nome è obligatorio!
    "
    ;}
    if (
    $cognome == "")
    {echo
    "Il campo cognome è obligatorio!
    "
    ;}
    if (
    $telefono == "")
    {echo
    "Il campo telefono è obligatorio!
    "
    ;}
    if (
    $oggetto == "")
    {echo
    "Il campo oggetto è obligatorio!
    "
    ;}
    if (
    $email == "")//questo se il campo email e vuoto
    {echo"Il campo email è obligatorio!
    "
    ;}
    elseif (!
    preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i"$email)) //questo  se non e vuoto applica questo controllo 
    {echo"Il seguente indirizzo email :[b]$email[/b]
    E'composto da caratteri non validi!
    "
    ;}
    if (
    $commento == "")
    {echo
    "Il campo messaggio è obligatorio!
    "
    ;}
    //if($_POST['code'] != $_SESSION['__img_code__'] = md5($code))
    //{echo"errore!
    ";}
    else{return"
    OK";}

    }

    if (
    $action == "send") 

    //Innanzitutto controlliamo la var.le name: 
    $controllo = check_username($nome,$cognome,$telefono,$oggetto,$email,$commento,$privacy,$code);

    if (
    $controllo != "OK") 

    echo 
    $controllo

    //Qui potresti anche far visualizzare una cosa del genere: 
    //echo "
    [url='$urlpatch/user/rememberpass.php']Ritorna alla registrazione[/url]"; 
    }
    else

    mysql_select_db(
    $CONFIG['dbname']); 
    $sql_insert = "INSERT INTO contact (nome,cognome,telefono,email,oggetto,commento,date,ipVALUES('$nome','$cognome','$telefono','$email','$oggetto','$commento','".date('Y-m-d H:i:s')."','".$_SERVER['REMOTE_ADDR']."')"; 

    if (mysql_query(
    $sql_insert))

    echo "
    Ciao $nome il messaggio è stato inviato con successo 
    ";

    else
    {
    die(mysql_error());


    // Chiude
    $DB->disconnect(); 
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    Beh... nel tuo script comandi semplicemente di mandare un messaggio di errore in output, senza bloccare lo script in caso di errore vero.

    Io il controllo delle stringhe obbligatorie lo farei così:

    Codice PHP:
    if (!isset($variabile) OR $variabile == "") {
    echo 
    "Il campo xxx1 è obbligatorio
            
    <a href=\"javascript:history.back()\">Torna Indietro</a>"
    ;
    return;
    } elseif (!isset(
    $variabile2) OR $variabile2 == "") {
    echo 
    "Il campo xxx2 è obbligatorio
            
    <a href=\"javascript:history.back()\">Torna Indietro</a>"
    ;
    return;
    }
    // qui controlli tutte la variabili
    elseif (!isset($email) OR (!preg_match("/^[-0-9A-Z_.]{1,50}@([-0-9A-Z_.]+.){1,50}([0-9A-Z]){2,4}$/i"$email)) {
    echo 
    "Il campo email è obbligatorio
            
    <a href=\"javascript:history.back()\">Torna Indietro</a>"
    ;
    return;
    } else {
    return 
    "OK";

    Puoi anche provare a semplificare il tutto così:

    Codice PHP:
    if (!isset($variabile) OR $variabile == "" 
       
    OR !isset($variabile2) OR $variabile2 == ""
       
    OR (!isset($email
       OR (!
    preg_match("/^[-0-9A-Z_.]{1,50}@([-0-9A-Z_.]+.){1,50}([0-9A-Z]){2,4}$/i"$email)) {
    echo 
    "Compilare tutti i campi segnalati come obbligatori!
            
    <a href=\"javascript:history.back()\">Torna Indietro</a>"
    ;
    return;

    } else {
    return 
    "OK";

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    ciao alcio e grazie un altra cosa , come potrei fare un controllo al campo captcha? ti posto lo script originale
    Codice PHP:
    if (isset($_POST['code']))
        echo (
    md5(strtoupper($_POST['code'])) == $_SESSION['__img_code__'])
            ? 
    "Valid!" "Invalid!"
    ma vorrei che mi dasse se c e l errore e non s e giusto

    questo invece e l immagine il files code.php
    Codice PHP:
    session_start();

    require 
    "_config.php";

    $line_colors preg_split("/,\s*?/"CODE_LINE_COLORS);
    $char_colors preg_split("/,\s*?/"CODE_CHAR_COLORS);
    $fonts collect_files(PATH_TTF"ttf");

    $img imagecreatetruecolor(CODE_WIDTHCODE_HEIGHT);
    imagefilledrectangle($img00CODE_WIDTH 1CODE_HEIGHT 1gd_color(CODE_BG_COLOR));


    // Draw lines

    for ($i 0$i CODE_LINES_COUNT$i++)
        
    imageline($img,
            
    rand(0CODE_WIDTH 1),
            
    rand(0CODE_HEIGHT 1),
            
    rand(0CODE_WIDTH 1),
            
    rand(0CODE_HEIGHT 1),
            
    gd_color($line_colors[rand(0count($line_colors) - 1)])
        );


    // Draw code

    $code "";
    $y = (CODE_HEIGHT 2) + (CODE_FONT_SIZE 2);
    for (
    $i 0$i CODE_CHARS_COUNT$i++) {
        
    $color gd_color($char_colors[rand(0count($char_colors) - 1)]);
        
    $angle rand(-3030);
        
    $char substr(CODE_ALLOWED_CHARSrand(0strlen(CODE_ALLOWED_CHARS) - 1), 1);
        
    $font PATH_TTF "/" $fonts[rand(0count($fonts) - 1)];
        
    $x = (intval((CODE_WIDTH CODE_CHARS_COUNT) * $i) + (CODE_FONT_SIZE 2));
        
    $code .= $char;
        
    imagettftext($imgCODE_FONT_SIZE$angle$x$y$color$font$char);
    }

    $_SESSION['__img_code__'] = md5($code);

    header("Content-Type: image/png");
    imagepng($img);
    imagedestroy($img);


    function 
    gd_color($html_color) {
        return 
    preg_match('/^#?([\dA-F]{6})$/i'$html_color$rgb)
          ? 
    hexdec($rgb[1]) : false;
    }


    function 
    collect_files($dir$ext) {
        if (
    false !== ($dir opendir($dir))) {
            
    $files = array();

            while (
    false !== ($file readdir($dir)))
                if (
    preg_match("/\\.$ext\$/i"$file))
                    
    $files[] = $file;

            return 
    $files;

        } else
            return 
    false;

    questo e il _config.php
    Codice PHP:
    define('CODE_WIDTH',         120);
    define('CODE_HEIGHT',        30);
    define('CODE_FONT_SIZE',     15);
    define('CODE_CHARS_COUNT',   5);
    define('CODE_LINES_COUNT',   10);
    define('CODE_CHAR_COLORS',   "#880000,#008800,#000088,#888800,#880088,#008888,#000000");
    define('CODE_LINE_COLORS',   "#DD6666,#66DD66,#6666DD,#DDDD66,#DD66DD,#66DDDD,#666666");
    define('CODE_BG_COLOR',      "#FFFFFF");
    define('CODE_ALLOWED_CHARS'"ABCDEFGHJKLMNPQRSTUVWXYZ2345689");
    define('PATH_TTF',           "fonts"); 
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    questo invece e il form
    codice:
    form method="post">
    <h1>Image Validator Test Page</h1>
    
    
    [img]code.php?id=<?= $ts ?>[/img]
    click for new code</p>
    
    
    <input type="text" name="code" /></p>
    
    
    <input type="submit" value="Check!" /></p>
    </form><?
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    alcio scusa mi da un errore lo script che mi hai postato per l esattezza questo
    Codice PHP:
    elseif (!isset($email) OR (!preg_match("/^[-0-9A-Z_.]{1,50}@([-0-9A-Z_.]+.){1,50}([0-9A-Z]){2,4}$/i"$email)) {
    echo 
    "Il campo email è obbligatorio
            
    <a href=\"java-script:history.back()\">Torna Indietro</a>"
    ;
    return;

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #6
    Rocco non ti offendere, ma credo che in almeno altri 10000 post è specificato che dire una cosa tipo:

    alcio scusa mi da un errore lo script che mi hai postato per l esattezza questo
    significa praticamente nulla!

    Che errore ti da?

    Per l'altra tua domanda: prima di inoltrarti nella realizzazione di una captcha, hai visto se il tuo ambiente (o quello dove hai il sito in hosting, meglio ancora) supporta le librerie GD?

    Se non le supporta, ti blocco subito e ti dico: lascia perdere per ora perché non riucirai mai a creare JPEG al volo!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    ciao alcio lo script che mi hai postato tu funziona solo la parte del controllo email non funziona mi da errore e mi da il numero della linea dove c e il controllo dell email, per la seconda domanda le ho installate le librerie gd e funziona ma il controllo dell immagine casuale quello non mi funziona
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  8. #8
    Aridaje!!! VVoVe:
    Ma che errore ti da'? Parse Error, Sintax error, T_STRING expected qualche cosa?
    Se non so quale errore ti viene stampato a monitor possiamo scambiarci altri 427 post senza risolvere!

    Per le GD stesso discorso di sopra: se dici "non funziona" ma non spieghi cosa faccia di anomalo il tuo script, dubito che qualcuno potrà mai aiutarti!

    Comunque, ho visto in giro per il forum moltissimi utenti che avevano problemi e che li hanno risolti riuscendo ad implementare le loro belle captcha.
    Magari se fai una ricerchina interna trovi già belle e scritte le risposte ai tuoi quesiti.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    mi da un errore di Sintax
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,801
    per quanto riguarda lo script del captcha funziona , soltanto non riesco a farde il controllo del risultao stampato dalcaptcha con quello scritto dall utente
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

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.