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

Discussione: Barra i nversa

  1. #1
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697

    Barra i nversa

    Ho un form del guestbook e ho notato che inserendo la barra inversa"\" non appare nei messaggi del guestbook, non viene scritta, lo spazio rimane in bianco.

    Volevo sapere se oltre a questa barra ci sono altri caratteri che scrivendoli nel form non vengono poi visualizzati.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    la barra inversa serve a fare l'escape di un carattere, cioè per non far interpretare al php il carattere successivo...

    se vuoi scrivere una barra inversa ne devi scrivere 2 di seguito.

    ciao

  3. #3
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da gianiaz
    la barra inversa serve a fare l'escape di un carattere, cioè per non far interpretare al php il carattere successivo...

    se vuoi scrivere una barra inversa ne devi scrivere 2 di seguito.

    ciao
    Ti spiego meglio, da giorni un tipo entra nel mio guedstbook e mi fa gli scherzi nonostante abbia messo le protezioni JS e php, entra e scrive a raffica decine di messaggi anche in bianco...non so come faccia perche se non si scrive niente nel form esce l'alert.

  4. #4
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    allora fai così prima di esportarle al database o dove memorizzi i messaggi:

    str_replace("\\", "\\\\", $testoricavatodalform);

    e poi quando tenterà di fare un nuovo scherzo....


  5. #5
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da php_34
    allora fai così prima di esportarle al database o dove memorizzi i messaggi:

    str_replace("\\", "\\\\", $testoricavatodalform);

    e poi quando tenterà di fare un nuovo scherzo....

    Ho già questo

    if (substr($_POST["nome"],0,1)=="\\"):
    $errore=true;
    endif;
    endif;
    else:
    $errore=true;
    endif;

    è questo da modificare?

  6. #6
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    si perchè se uno mette \ nel messaggio $errore è true, se mette "\ " è false e viene memorizzato. Metti quello che ti ho detto, l'if del \ mettilo in javascript.


  7. #7
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da php_34
    si perchè se uno mette \ nel messaggio $errore è true, se mette "\ " è false e viene memorizzato. Metti quello che ti ho detto, l'if del \ mettilo in javascript.

    Invece nel form JS ho questo:

    if((f.messaggio.value.indexOf("<") != -1) || (f.messaggio.value.indexOf(">") != -1) || (f.messaggio.value.indexOf("\\") != -1)){
    alert("I caratteri < > \\ non sono ammessi");
    f.messaggio.focus();
    return false;

  8. #8
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    va benissimo, metti l'str_replace lì.


  9. #9
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da php_34
    va benissimo, metti l'str_replace lì.

    Ho messo così ma mi da errore

    if (substr($_POST["nome"],0,1)=="\\","\\\\" ):
    $errore=true;
    endif;
    endif;
    else:
    $errore=true;
    endif;

    ma non credo sia questo il punto, se entri nel mio form
    http://www.photoman.altervista.org/guestbook/form.php

    e disabiliti JS la protezione php non ti farà passare...ma lui passa

  10. #10
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    MA NO!!
    in javascript va bene, in php metti senza if o altro:

    str_replace("\\", "\\\\", $_POST['nome']);
    $error = FALSE;
    //procedi con l'archiviazione


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.