Visualizzazione risultati 1 fino 14 di 14
Like Tree1Likes
  • 1 Post By darbula

Discussione: ho un codice php da ampliare

  1. #1
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Post ho un codice php da ampliare

    ho un codice php da ampliare di 2 variabili

    Se voglio aggiungere 2 variabili alla condizione if?
    Devo aggiungere AND in ogni variabile?

    grazie

    <?php
    $indirizzo = @$_GET['indirizzo'];
    $citta = @$_GET['citta'];

    >>>>>>>>> if ($az != '' AND $citta !='')ecc. ecc
    Ultima modifica di wwt021166 : 24-11-2020 alle ore 13.51.45

  2. #2
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Si l'espressione AND si usa per valutare due variabili.
    Comunque trattandosi di variabili esterne che potrebbero essere falsificate dal cliente e probabilmente nemmeno tu sai se esistono, devi semplicemente usare
    Codice PHP:
    if(isset($_GET['az'], $_GET['citta']) && $_GET['az'] && $_GET['citta']))
    echo
    'tutto 'funziona come previsto';
    else
    echo '
    qualche errore';
    isset verifica se almeno esiste e l'espressione diversa da false, null, vuoto indica vero per if.

  3. #3
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    bene,


    pero' visto che davanti alle variabili ho $ ( $indirizzo = @$_GET['indirizzo']; )

    le dovro ancora mettere?
    Ultima modifica di wwt021166 : 24-11-2020 alle ore 13.54.20

  4. #4
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Teoricamente @ è l'operatore di soppressione degli errori ma non deve essere usato su variabili esterne (devi conoscere esattamente le variabili esterne altrimenti prima o poi avrai qualche problema).
    Comunque nel tuo primo esempio la variabile $az si dovrebbe chiamare $indirizzo.
    Praticamente una variabile non esistente avrà il valore null della costante php se usi l'operatore di soppressione degli errori non vedrai il notice della variabile non definita.
    La sintassi && usata significa sempre AND solamente che ha una priorità maggiore rispetto al AND.
    Una variabile non è altro che un contenitore/involucro di un valore o in alcuni casi istanzia un'oggetto.
    L'agente utente invia da un form html la query string
    Codice:
    az=via+palermo&citta=milano
    accoda questo dato alla url http://example.domain.com/index.php?...o&citta=milano nella pagina index.php
    Codice PHP:
    echo $_GET['az'] . "\n";
    echo
    $_GET['citta'] . "\n";
    Ultima modifica di darbula : 24-11-2020 alle ore 14.13.08

  5. #5
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    il codice e' questo che mi serve per memorizzare una pagina html e dovrei aggiungere dei campi se si omette la @ non vorrei avere problemi di memorizzazione


    <?php
    $azienda = @$_GET['azienda'];
    $indirizzo = @$_GET['indirizzo'];
    $citta = @$_GET['citta'];
    $telefono = @$_GET['telefono'];
    $descrizione = @$_GET['descrizione'];

    >>>>IL PROBLEMA SORGE QUI?
    if ($azienda != '' AND $indirizzo !='') {
    $nomefile = $azienda . '.html';


    $fp = fopen($nomefile, 'w+') or die('errore nell\'apertura del file');


    fwrite($fp, 'azienda: ' . $azienda . '<br> indirizzo: ' . $indirizzo . '<br> citta: ' . $citta .
    '<br> telefono: ' . $telefono . '<br> descrizione: ' . $descrizione )
    or die('errore nella scrittura del file');
    fclose($fp);


    echo 'pagina ' . $nomefile . ' inserita correttamente';
    }
    else {
    echo 'errore nel form, probabilmente non compilato tutti i campi';
    }
    ?>
    Ultima modifica di wwt021166 : 24-11-2020 alle ore 14.06.00

  6. #6
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    non mi e' chiara una cosa ma le 4 variabili sono diverse o devo ripetere le variabili dopo && ?

    if(isset($_GET['az'], $_GET['citta']) && $_GET['az'] && $_GET['citta']))
    echo 'tutto 'funziona come previsto';
    else
    echo 'qualche errore';

  7. #7
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    usa il tag [php]//codice php[/php] o [code]codice diverso da php[/code] oppure leggi questo esempio e condividi il codice online https://3v4l.org/0lM8b qui non uso variabile contenitore ma solamente l'array super globale $_GET.
    Se non vuoi cliccare il link leggi questo.
    Codice PHP:
    <?php

    if (!(isset($_GET['azienda'], $_GET['indirizzo'], $_GET['citta'], $_GET['telefono'], $_GET['descrizione'])))
    echo
    'errore manca una o più variabili nella query string';
    elseif (
    $_GET['azienda'] && $_GET['indirizzo']) {


    $fp = fopen($_GET['azienda'] . 'html', 'w+') or die('errore nell\'apertura del file');


    fwrite($fp, 'azienda: ' . $_GET['azienda'] . '<br> indirizzo: ' . $_GET['indirizzo'] . '<br> citta: ' . $_GET['citta'] .
    '<br> telefono: ' . $_GET['telefono'] . '<br> descrizione: ' . $_GET['descrizione'] )
    or die(
    'errore nella scrittura del file');
    fclose($fp);


    echo
    'pagina ' . $_GET['azienda'] . 'html' . ' inserita correttamente';
    }
    else {
    echo
    'errore nel form, probabilmente non compilato azienda e/o indirizzo';
    }
    ?>
    Ultima modifica di darbula : 24-11-2020 alle ore 15.58.34

  8. #8
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Occhio che quel codice è vulnerabile a... quasi ogni tipo di attacco immaginabile, in effetti.
    Non usare l'operatore di soppressione degli errori "@": se stai sviluppando e ci sono errori devi vederli, non nasconderli.
    Non mescolare la memorizzazione dei dati con la loro rappresentazione: le informazioni che inserisci sono una cosa, la struttura HTML che le mostra un'altra.
    Non farti a mano un database basato su file di testo: se vuoi un database, usa un database.
    Non assumere che l'input rispetti un dato formato: validalo (esempio: se il campo "descrizione" contenesse un tag <br> la struttura che stai usando sarebbe compromessa).
    Non fidarti dell'input: il mondo è pieno di bontemponi che non hanno niente di meglio da fare che operare un JS Injection nel tuo sito, cosa estremamente facile allo stato attuale del codice.

    Per tutto il resto, segui i consigli di darbula.

    I suggerimenti che do più spesso:


  9. #9
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    un attimo faccio qualche prova

  10. #10
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    il database l' ho creato su altervita phpmyadmin


    Ho inserito il codice php ma mi da errore

    errore manca una o più variabili nella query string

  11. #11
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    con questo codice funziona bene solo che dovrei aggiungere altri campi 3



    CODICE HTML

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="generator" content="AlterVista - Editor HTML"/>
    <title></title>
    </head>
    <body>

    <form action="stampa_az.php">

    <table border="1">

    <tr>
    <td> <font color="green"> az: </font> </td>
    <td> <input type="text" size="36" name="az" maxlength="30" /> </td>
    </tr>

    <tr>
    <td> <font color="green"> citta: </font> </td>
    <td> <input type="text" size="36" name="citta" maxlength="30" /> </td>
    </tr>


    <td> <input type="submit" value="Invia Mail" /> <input type="reset" value="Cancella" />
    </td>

    </table>
    </form>

    </body>
    </html>


    CODICE PHP

    <?php
    $az = @$_GET['az'];
    $citta = @$_GET['citta'];
    if ($az != '' AND $citta !='') {
    $nomefile = $az . '.html';
    $fp = fopen($nomefile, 'w+') or die('errore nell\'apertura del file');
    fwrite($fp, 'az: ' . $az . '<br> citta: ' . $citta) or die('errore nella scrittura del file');
    fclose($fp);
    echo 'pagina ' . $nomefile . ' creata con successo';
    }
    else {
    echo 'errore nel form, probabilmente lasciato qualche spazio bianco';
    }
    ?>

  12. #12
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Citazione Originalmente inviato da wwt021166 Visualizza messaggio
    il database l' ho creato su altervita phpmyadmin


    Ho inserito il codice php ma mi da errore

    errore manca una o più variabili nella query string
    Devi studiare altrimenti non puoi apprendere.
    Ovviamente i dati saranno inviati dal form html con metodo GET, appunto devi controllare i dati solamente se sono stati inviati (il tasto submit del browser).
    Se poi usi il codice senza tale criterio è normale dire errore manca una o più variabili nella query string.
    Se cambi il codice di continuo diventa difficile seguire sia per te che chi ti vuole aiutare.. l'attributo name imposta la chiave della variabile $_GET. Ad esempio <input type="text" size="36" name="az"> quando l'utente preme submit php crea $_GET['az'];
    Per favore e per pietà leggi come inserire il codice http://forum.it.altervista.org/newre...eply&p=1463288
    Se inserisci <input name="invia" type="submit" value="Invia Mail" />
    Codice PHP:
    if (isset($_GET['invia']) && $_GET['invia']) {
    //codice quando inviato il form
    } else {
    //form non inviato
    }
    Poiché $_GET['invia'] non è un boleano falso, non è una stringa vuota, non è una stringa che inizia con zero, non è null, non è un array vuoto o non è una sequenza numerica con 0 (0.0 float e 0 int) l'espressione dentro l'if sarà valutata TRUE.
    Ultima modifica di darbula : 24-11-2020 alle ore 23.58.07
    mzanella likes this.

  13. #13
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    bene non mi e' molto chiaro quello che hai scritto ma vedro' di fare qualche prova e in caso riscrivo un altro post



    grazie

  14. #14
    wwt021166 non è connesso Utente giovane
    Data registrazione
    23-10-2020
    Messaggi
    70

    Predefinito

    bene il codice ultimo ha funzionato



    grazie



    <?php

    if (!(isset($_GET['azienda'], $_GET['indirizzo'], $_GET['citta'], $_GET['telefono'], $_GET['descrizione'])))
    echo 'errore manca una o più variabili nella query string';
    elseif ($_GET['azienda'] && $_GET['indirizzo']) {


    $fp = fopen($_GET['azienda'] . 'html', 'w+') or die('errore nell\'apertura del file');


    fwrite($fp, 'azienda: ' . $_GET['azienda'] . ' indirizzo: ' . $_GET['indirizzo'] . ' citta: '
    . $_GET['citta'] . ' telefono: ' . $_GET['telefono'] . ' descrizione: ' . $_GET['descrizione'] )
    or die('errore nella scrittura del file');


    fclose($fp); echo 'pagina ' . $_GET['azienda'] . 'html' . ' inserita correttamente';
    }
    else {
    echo 'errore nel form, probabilmente non compilato azienda o indirizzo';
    }
    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •