Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    5

    problemi con funzioni come filter_var

    Salve, sono nuovo del forum pur essendo un assiduo lettore... avrei bisogno di una mano, ci sto impazzendo... non sono un drago di php, ma più che altro è nella sua configurazione che non ci capisco nulla...

    Ho realizzato un semplicissimo front-end che deve fare alcune stupide cose su un database. Sul PC che utilizzo funziona benissimo, è un Ubuntu e l'installazione delle applicazioni LAMP l'ha fatta automaticamente synaptic e non ho configurato nulla (lasciato tutto di default), tanto mi serve solo per fare delle prove.

    Messo sul server dell'azienda (freeBSD) ho subito avuto i primi problemi, con call to undefined function filter_var. Io mi dico "macano delle estensioni", faccio aggiornare il server al sistemista. Ora non mi da più l'errore, ma semplicemente esegue la pagina fin lì.
    Mi spiego meglio, il problema lo incontro subito alla pagina di login, che è uno script semplicissimo. Passo username e password da un form nella stessa pagina, e procedo a validare l'input:
    ...
    $username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
    $password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
    ...
    Fa tutto fino alla prima riga (provato mettendo un echo"prova" prima e dopo quella riga) dopo di che l'esecuzione si ferma con pagina bianca, senza errori. Togliendo le funzioni trim e filter_var la pagina funziona correttamente e mi reindirizza alla pagina corretta. Però anche nelle altre pagine incontro problemi, con altre funzioni che mi fanno lo stesso scherzo della pagina bianca senza errori (non ho potuto fare troppe prove, ma penso lo faccia preg_match).
    Dopo averci perso la testa decido di installare una macchina provvisoria con Ubuntu e fare esattamente quello che ho fatto io sulla mia installando LAMP automaticamente, e magia delle magie: da lo stesso problema!!!!

    Da cosa cavolo dipente?!?!?!
    Grazie mille a tutti...

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    guarda nel file error_log, dovresti trovare qualche informazione rilevante.
    e che versione di php hai?

  3. #3
    filter_var() e' 5.2+ quindi direi che la cosa piu' probabile e' che hai una versione di PHP inferiore a quella.

  4. #4
    Originariamente inviato da k.b
    filter_var() e' 5.2+ quindi direi che la cosa piu' probabile e' che hai una versione di PHP inferiore a quella.
    si e aggiungerei che esiste un comodo http://it.php.net/manual/en/function.filter-input.php] http://it.php.net/manual/en/function.filter-input.php[/URL]

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    5
    Grazie mille per le risposte.
    In realtà era già alla versione 5.2 quando mi dava call to undefined function filter_var, e già questo è molto strano perchè dalla 5.2 la PECL fa parte del core di PHP. Ho pensato potesse dipendere dal fatto di lavorare su un server freeBSD, ma ora sono sicuramente all'ultima disponibile per freeBSD.
    Inoltre perchè la stessa cosa me la fa quell'altra macchina con Ubuntu e PHP alla 5.3, completamente aggiornata?

    Siamo sicuri che qualche impostazione particolare di php non sia in grado di non far funzionare queste funzioni?

    Filter input non l'ho mai usata, la proverò...

    Appena possibile vi posto l'error log...
    L'errore può essere da qualche altra parte nello script, nonostante eliminando filter_var lo script funzioni regolarmente? Se vi è utile ve ne posto una porzione più ampia, ma mi sembra assurdo...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    5
    eccomi con l'error log, dal freeBSD...

    Dunque continua il called to undefined function filter_var e mi dice la riga giusta a cui segue un Undefined variable senza l'indicazione della riga (subito dopo on line c'è il vuoto).

    La versione è la 5.3.2, veramente non capisco....

    Può sevire qualche informazione dal phpinfo()?

  7. #7
    http://forum.ivorde.ro/fatal-error-c...cript-t39.html

    adesso che ci penso è accaduto anche a me su ubuntu

    troverai link migliori il primo che mi è venuto
    a mano ...........
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    5
    lo proverò di sicuro... Mi resterebbe solo da capire come mai a volte si installi e a volte no... che un firewall possa fare questo mi sembra strano, ma in effetti lì in azienda sono dietro il perggior firewall che abbia mai visto...


    Grazie mille, ti farò sapere appena avrò modo di provarlo!

  9. #9
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    dal php info posta le righe:
    la riga Configure Command
    e la riga disable_functions

    cosi si capisce subito se l'estensione non e' stata inclusa nel pacchetto di installazione, o se sono state disabilitate le relative funzioni.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    5
    Configure Command
    './configure' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--enable-libxml' '--with-libxml-dir=/usr/local' '--with-pcre-regex=/usr/local' '--program-prefix=' '--with-regex=php' '--with-zend-vm=CALL' '--disable-ipv6' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=i386-portbld-freebsd6.4'

    disable_functions no value no value
    Qui siamo oltre le mie competenze, ma quel disable-all non mi piace....

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.