Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35

Discussione: Non esce l'alert

  1. #1
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    Non esce l'alert

    Sia che metto nel campo uno dei 3 item o non lo metto, non esce alert, sembra a posto il codice.

    Codice PHP:
    if ($nome.$citta.$suoemail.$messaggio){
    if (
    preg_match("/^([<>\\)$/",$nome.$citta.$suoemail.$messaggio)){
    $errore .= "I caratteri < > \\ non sono ammessi ";
     }


  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    se per alert intendi la stampa di quel messaggio è perchè non stai richiamando nessuna funzione di stampa.

    Codice PHP:
    $errore .= "I caratteri < > \ non sono ammessi ";

    echo 
    $errore
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da las
    se per alert intendi la stampa di quel messaggio è perchè non stai richiamando nessuna funzione di stampa.

    Codice PHP:
    $errore .= "I caratteri < > \ non sono ammessi ";

    echo 
    $errore
    L'echo c'è alla fine dei controlli e funziona, se metto il punto esclamativo così

    (!preg_match("/^([<>\]+)$/",$nome.$citta.$suoemail.$messaggio)){

    esce l'alert anche se non riempio il campo

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    se non ho capito male quello che devi fare è sapere se nella stringa c'è almeno un occorrenza dei caratteri "<" ">" o "\" e questo dovresti ottenerlo in questo modo:


    preg_match("/[\\\<>]+/",$nome.$citta.$suoemail.$messaggio)




    P.S. la metto fuori dal tag PHP perchè altrimenti mi taglia dei pezzi
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  5. #5
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da las
    se non ho capito male quello che devi fare è sapere se nella stringa c'è almeno un occorrenza dei caratteri "<" ">" o "\" e questo dovresti ottenerlo in questo modo:

    Codice PHP:
    preg_match("/[\\\<>]+/",$nome.$citta.$suoemail.$messaggio
    Funziona ma solo con le parentesi a punta, la barra inversa non la vede

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    l'ho provato e a me funziona correttamente, prova a verificare se per caso ripulisci in qualche modo le variabili prima di passarle alla funzione e poi fai attenzione che le barre inverse da scrivere sono 3

    preg_match("/[\\\ <>]+/",$nome.$citta.$suoemail.$messaggio)

    se lo scriviamo dentro il tag php ne rimane visibile solo una
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  7. #7
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da las
    l'ho provato e a me funziona correttamente, prova a verificare se per caso ripulisci in qualche modo le variabili prima di passarle alla funzione e poi fai attenzione che le barre inverse da scrivere sono 3

    preg_match("/[\\\ <>]+/",$nome.$citta.$suoemail.$messaggio)

    se lo scriviamo dentro il tag php ne rimane visibile solo una
    Ho provato con 3 ma non le legge, legge solo le parentesi a punta

  8. #8
    La soluzione di las è corretta
    codice:
    $nome = "pippo pluto < paperino[minni paper]oga >";
    $pippo = preg_match("/[\\\ <>]+/",$nome);
    echo $pippo;
    Posta un pezzetto più ampio del codice, compreso il punto in cui stampi l'output, magari mettendoci anche cosa vale $nome.$citta.$suomail ecc


  9. #9
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da Dascos
    La soluzione di las è corretta
    codice:
    $nome = "pippo pluto < paperino[minni paper]oga >";
    $pippo = preg_match("/[\\\ <>]+/",$nome);
    echo $pippo;
    Posta un pezzetto più ampio del codice, compreso il punto in cui stampi l'output, magari mettendoci anche cosa vale $nome.$citta.$suomail ecc

    Qulli sono i campi del form

    Codice PHP:
    //Alert "caratteri non ammessi" anche per Email 
    if ($nome.$citta.$suoemail.$messaggio){
    if (
    preg_match("/[\\<>]+/",$nome.$citta.$suoemail.$messaggio)){
    $errore .= "I caratteri < > \ non sono ammessi";
     }
    }

    echo 
    $errore;
    if (
    $errore):
    $ritenta="<META http-equiv=\"REFRESH\" content=\"2; url=http://www.miosito.it?../ritorna_scrivimi-rit=1\">"
    else:
    $meta

  10. #10
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da Ht28
    Qulli sono i campi del form

    Codice PHP:
    //Alert "caratteri non ammessi" anche per Email 
    if ($nome.$citta.$suoemail.$messaggio){
    if (
    preg_match("/[\\<>]+/",$nome.$citta.$suoemail.$messaggio)){
    $errore .= "I caratteri < > \\ non sono ammessi";
     }
    }

    echo 
    $errore;
    if (
    $errore):
    $ritenta="<META http-equiv=\"REFRESH\" content=\"2; url=http://www.miosito.it?../ritorna_scrivimi-rit=1\">"
    else:
    $meta

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 © 2024 vBulletin Solutions, Inc. All rights reserved.