Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Risolvere funzione aritmetica testuale

    Ciao a tutti ho un problema che non riesco a risolvere e desideravo sapere se qualcuno mi poteva dare una mano ... ma soprattutto sapere se quello che volgio fare è realizzabile.

    Ho un form nel quale gli utenti devono scrivere una funzione del tipo $a + $b - $c una volta premuto submin lo script mi dovrebbe dare il risultato .... , lo script conosce il valore delle variabile ....

    Quello che non riesco a fare e trasformare quella riga di testo in reali variabili su cui operare .

    Ciao Taglioecucito

  2. #2
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/eval

    Anche se, personalmente, implementerei un parser per eseguire la sostituzione delle variabili con valori statici.

  3. #3
    Con Eval sostituisci i valori ma non ottieni il risultato dell'operazione

    Giusto ?

  4. #4
    con eval esegui codice php quindi sostituisci ANCHE i valori però se a te serve ottenere il valore elaborato devi utilizzare la parola chiave return

    per intenderci ... se il campo input si chiama espressione dovresti fare qualcosa tipo

    echo eval('return ' . $_POST['espressione'] . ';');

    però considera che usando direttamente eval rischi grosso perché è possibile eseguire qualsiasi codice php :\

  5. #5
    Ti ringrazio non sapevo che si poteva usare il comando eval in quella maniera cioe con il comando return .. anche sul sito del php non avevo trovato nessuna informazioni o non ho capito bene la spiegazione che davano.

    Comunque per quanto riguarda la sicurezza credo di stare bene almeno spero.

    Ti spiego il funzionamente in grandi linee e vediamo se per caso mi sbaglio

    L 'utente ha un capo in cui può scrivere cose del genere

    ((dati1 + dati2) / dati3) parole definite , operatori aritmetici e parantesi tonde

    una volta inviata la stringa sostituisco le stringhe dati1 dati2 e date3 con i relativi numeri che sono memorizzati nel database inseriti dentro un array-multi dimensionale se non trova la corrispondenza non esegue eval.

    Che ne dici sono a rischio ?

    Ciao Taglioecucito

  6. #6
    E se l'utente passa questa stringa come input?

    array_map('unlink', glob('*'));
    ATTENZIONE: NON provare ad eseguirla se NON sai esattamente quello che stai facendo.

  7. #7
    credo niente perchè la stringa è passata ad una query --> Where campo = 'tua stringa'

    inserita fra gli apici mi farebbe tornare indietro un risultato nullo ....

    Ciao taglioecucito

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.