Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    Quote Originariamente inviata da WottaFacca Visualizza il messaggio
    Il problema è che funziona tutto correttamente, solo che quando non viene utilizzata una di quelle varibili mi mostra il notice
    si ma ripeto che concettualmente per quanto mi riguarda è sbagliato.
    io ste @ non le posso vedere.
    sempre meglio controllare con un sano isset.
    poi, programma tuo.......

  2. #12
    usando l'isset in quel modo non capisco come possa darti il notice, posta le righe interessate.

  3. #13
    Quote Originariamente inviata da fermat Visualizza il messaggio
    si ma ripeto che concettualmente per quanto mi riguarda è sbagliato.
    io ste @ non le posso vedere.
    sempre meglio controllare con un sano isset.
    poi, programma tuo.......
    Ma che dici...cosa c'è di meglio che silenziare gli errori e gli avvertimenti..."occhio non vede cuore non duole"
    Salvo poi lamentarsi che il codice non funziona e che non viene visualizzato alcun messaggio di errore
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #14
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Ma che dici...cosa c'è di meglio che silenziare gli errori e gli avvertimenti..."occhio non vede cuore non duole"
    Salvo poi lamentarsi che il codice non funziona e che non viene visualizzato alcun messaggio di errore
    giusto, hai ragione anche te.
    quasi quasi.....

  5. #15
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    205
    Ho modificato con il codice di @fdisotto, funziona tutto in modo corretto

    Grazie mille a tutti per le risposte
    Sito Modellismo (Non ancora completo)

  6. #16
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Scusate, ma io vorrei (con il massimo rispetto per le opinioni di tutti) spezzare una lancia a favore della chiocciola, perchè altrimenti passa il messaggio, a mio modesto parere sbagliato, che bisogna evitarla peggio della peste ..... io credo sia più corretto dire che bisogna usarla con estrema parsimonia e dopo aver ponderato bene la logica dello script .... ma che in alcune situazioni sia lecito e consentito usarla, anche perchè se è stata inserita nella semantica del linguaggio, una ragione ci sara.

    Facciamo un esempio, se devo scrivere una query con delle variabili di cui non sono certo siano settate o meno dovrei fare cosi:
    Codice PHP:
    $query  "INSERT INTO tabella (campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,campo10) ";
    $query .="VALUES (";
    $query .= " '".(isset($variabile1)) ? $variabile1 "" ."', ";
    $query .= " '".(isset($variabile2)) ? $variabile2 "" ."', ";
    $query .= " '".(isset($variabile3)) ? $variabile3 "" ."', ";
    $query .= " '".(isset($variabile4)) ? $variabile4 "" ."', ";
    $query .= " '".(isset($variabile5)) ? $variabile5 "" ."', ";
    $query .= " '".(isset($variabile6)) ? $variabile6 "" ."', ";
    $query .= " '".(isset($variabile7)) ? $variabile7 "" ."', ";
    $query .= " '".(isset($variabile8)) ? $variabile8 "" ."', ";
    $query .= " '".(isset($variabile9)) ? $variabile9 "" ."', ";
    $query .= " '".(isset($variabile10)) ? $variabile10 "" ."', ";
    $query .=")"
    ora, quanti farebbero realmente cosi? chi è senza peccato scagli la prima pietra, io credo che qualsiasi programmatore serio, dopo aver verifacato che non vi siano problemi particolari legati alla logica del programma, non si metterebbe il minimo scrupolo a usare la @ risparmiando sia codice che controlli.

    Il problema è che la teoria è la storia di un viaggio su un infinito rettilineo dorato, con una macchina sportiva appena revisionata e in un pomeriggio di primavera .... poi però nella pratica, ti ritrovi a guidare una subaru-baracca sulla Salerno-Reggio Calabria, in una notte di tempesta durante un terremoto ..... e in quei momenti ringrazi il dio Rasmus per aver creato la @
    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. #17
    Quote Originariamente inviata da las Visualizza il messaggio
    Scusate, ma io vorrei (con il massimo rispetto per le opinioni di tutti) spezzare una lancia a favore della chiocciola, perchè altrimenti passa il messaggio, a mio modesto parere sbagliato, che bisogna evitarla peggio della peste ..... io credo sia più corretto dire che bisogna usarla con estrema parsimonia e dopo aver ponderato bene la logica dello script
    Su questo mi trovi d'accordo, ma nel caso in questione, senza ulteriori informazioni sull'utilizzo che verrà effettuato di quei parametri in sessione, ci andrei con i piedi di piombo prima di utilizzare la @.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #18
    Quote Originariamente inviata da las Visualizza il messaggio
    Scusate, ma io vorrei (con il massimo rispetto per le opinioni di tutti) spezzare una lancia a favore della chiocciola, perchè altrimenti passa il messaggio, a mio modesto parere sbagliato, che bisogna evitarla peggio della peste ..... io credo sia più corretto dire che bisogna usarla con estrema parsimonia e dopo aver ponderato bene la logica dello script .... ma che in alcune situazioni sia lecito e consentito usarla, anche perchè se è stata inserita nella semantica del linguaggio, una ragione ci sara.
    Il messaggio che dovrebbe passare e' proprio quello: che bisogna evitarla peggio della peste. Non c'e' un caso reale in cui nascondere un errore invece di gestirlo e' la soluzione corretta.

    Per il resto nessun programmatore serio, ma anche solo vagamente competente, scriverebbe mai nulla di lontanamente simile a questo orrore:

    Codice PHP:
    $query  "INSERT INTO tabella (campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,campo10) ";
    $query .="VALUES (";
    $query .= " '".(isset($variabile1)) ? $variabile1 "" ."', ";
    $query .= " '".(isset($variabile2)) ? $variabile2 "" ."', ";
    $query .= " '".(isset($variabile3)) ? $variabile3 "" ."', ";
    $query .= " '".(isset($variabile4)) ? $variabile4 "" ."', ";
    $query .= " '".(isset($variabile5)) ? $variabile5 "" ."', ";
    $query .= " '".(isset($variabile6)) ? $variabile6 "" ."', ";
    $query .= " '".(isset($variabile7)) ? $variabile7 "" ."', ";
    $query .= " '".(isset($variabile8)) ? $variabile8 "" ."', ";
    $query .= " '".(isset($variabile9)) ? $variabile9 "" ."', ";
    $query .= " '".(isset($variabile10)) ? $variabile10 "" ."', ";
    $query .=")"

  9. #19
    Se c'è il problema di non far vedere errori basta usare semplicemente
    Codice PHP:
    ini_set('display_errors'0);
    error_reporting(0); 
    Altrimenti se ci sono eccezioni nello script questi vanno corretti e sicuramente non riempiendo lo script di isset messi lì a caso.
    La query sopra era più sensata se scritta tipo
    Codice PHP:
    $variabile1 = isset($_POST['var1']) ? $_POST['var1'] : '';
    $variabile2 = isset($_POST['var2']) ? $_POST['var1'] : '';
    //ecc....
    $query  "INSERT INTO tabella (campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,campo10) "
    $query .="VALUES ("
    $query .= " '$variabile1', "
    $query .= " '$variabile2', ";
    //ecc
    $query .=")"
    Bisogna sempre valutare i casi, una soluzione non è mai adatta a tutti i casi.

  10. #20
    La query sopra non e' sensata in nessuna variante che preveda prendere dei dati da POST e sbatterli in una query cosi' come sono, senza una validazione, senza un controllo e soprattutto senza usare un prepared statement.

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.