Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    [PHP] Modificare una condizione

    I primi tre campi di un form sono obligatori. Come posso modificare la seguente condizione affinché funzioni anche nel caso in cui email e url, la cui correttezza è controllata da due funzioni, siano non compilati?

    Codice PHP:
    if (($_POST[nome]!="") and ($_POST[commento]!="") and ($_POST[voto]!=0) and (is_email($_POST[email])==true) and (CodeUrl($_POST[url])==true)) 
    Grazie

  2. #2
    Riepilogo:
    Sono obbligatori:
    nome
    commmento
    voto

    Facoltativi:
    url
    email

  3. #3
    Mi sa che mi sono espresso un po' maluccio...

    Voglio fare in modo che se nome, commento e voto sono diversi da "" e se url e mail, quando compilati, rispettino i criteri delle funzioni allora...

    Il problema è che le due righe di codice che ho scritto funzionano bene solo se anche url e mail sono compilati. Altrimenti errore!!! Come faccio a dire alla condizione "quando i campi sono compilati fai il controllo altrimenti niente"?

    Grazie ancora

  4. #4
    if (($_POST[nome]!="") and ($_POST[commento]!="") and ($_POST[voto]!=0) and ((is_email($_POST[email])==true)OR($_POST['email']=="")) and ((CodeUrl($_POST[url])==true))OR($_POST['url']==""))

    prova...non sono certo
    http://embracesblog.mine.nu
    http://wiki.ubuntu-it.org/AndreaOlivato

  5. #5
    Dunque... funziona se

    non conpilo i campi facoltativi (EVVAI!! )
    se compilo indirizzo email e non url ( )

    Non funziona
    se compilo i campi obbligatori + url... mi da errore...
    Perché?

    Cmq grazie mille

  6. #6
    sicuro che non sia colpa della funzione di controllo dell'url?
    http://embracesblog.mine.nu
    http://wiki.ubuntu-it.org/AndreaOlivato

  7. #7
    La funzione è questa...

    Codice PHP:
    function CodeUrl($url) {
    if (
    eregi("^(www\.|[url]http://www\.[/url])[a-z0-9_\.-]+(\.)[a-z]{2,6}$"trim($url)))
    return 
    1;
    else
    return 
    0
    Pensi sia lei il problema?

  8. #8
    ma come mai controlla anche il codice html?
    non dovrebbe controllare solo l'url passato?



    Comunque non so dirti per quella funzione..se il problema non sta nel fatot che guarda anche <a href= etc..non so risponderti e lascio la parola a qualcun altro
    http://embracesblog.mine.nu
    http://wiki.ubuntu-it.org/AndreaOlivato

  9. #9
    A pensarci bene...

    se quando compilo tutti i campi funziona, non è un problema della funzione url...

    se compilo nome, url, commmento, voto e lascio vuoto email invece non funziona...

    Secondo me, o è la condizione ad essere sbagliata o al massimo la funzione mail...

    Che ne pensate?

  10. #10
    Ragazzi, la condizione if continua a non funzionare... Penso che il problema sia nella sintassi che uso per dire "se la funzione din controllo per email e url è vera allora"...

    Eccovi il codice, HELP!!!

    Codice PHP:
    //le due funzioni di controllo
    function is_email($email) {
    if (
    eregi("^([a-z0-9_\.-])+@(([a-z0-9_-])+\\.)+[a-z]{2,6}$"trim($email)))
    return 
    1;
    else
    return 
    0;
    }

    function 
    CodeUrl($url) {
    if (
    eregi("^(www\.|[url]http://www\.[/url])[a-z0-9_\.-]+(\.)[a-z]{2,6}$"trim($url)))
    return 
    1;
    else
    return 
    0;
    }

    //la condizione che non riesco a fare funzionare
    if (($_POST[nome]!="") and ($_POST[commento]!="") and ($_POST[voto]!=0) and ((is_email($_POST[email])==true)OR($_POST[email]=="")) and (CodeUrl($_POST[url]==true))OR($_POST[url]==""))
    //è corretto stabilire che il controllo fatto delle funzioni sia ==true? 

    $query //la query di inserimento} 
    else 

    echo 
    "Hai sbagliato correggi!";
    if (
    mysql_query($query$db)) { echo "Il tuo commento è stato inserito correttamente";} 
    else { echo 
    "Errore durante l'inserimento"; } 
    Potete dargli un'occhiata per favore?

    PS:
    la funzione CodeURl viene cambiata quando la incollo. Quella vera è:
    function CodeUrl($url) {
    if (eregi("^(www\.|http://www\.)[a-z0-9_\.-]+(\.)[a-z]{2,6}$", trim($url)))
    return 1;
    else
    return 0;
    }

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.