Visualizzazione risultati 1 fino 9 di 9

Discussione: [PHP] Variabili "strane" per me!!

  1. #1
    Guest

    Question [PHP] Variabili "strane" per me!!

    Ciao a tutti, cosa vuoi dire questo:
    Codice PHP:
    $current = (intval($_GET['id']) && isset($id[$_GET['id']])) ? $_GET['id'] : 0;
    E' una variabile di esempio... ne ho viste molte con questi ? o : ...ecc ...mi sapete spiegare o dare un link su che tipo di variabili sono o/e come si usano? Mi sarebbero molto utili... Grazie 1000...ciao Davide! ^^

  2. #2
    Guest

    Predefinito

    E' una condizione ... se $_GET['id'] è un valore intero ed è settato allora setta current al valore $_GET['id'] altrimenti a zero.
    Facendo uno split equivale a
    Codice PHP:
    if((intval($_GET['id']) && isset($id[$_GET['id']])))
    $current = $_GET['id'];
    else
    $current = 0;
    si poteva benissimo evitare tutto questo facendo un semplice cast
    $current = (int) $_GET['id'];
    se $_GET['id'] è intero gli mette il suo valore su current, altrimenti mette uno zero.

  3. #3
    Guest

    Predefinito

    In pratica: ? = if(){..} e : = else { .. } ...giusto? xD
    Ne esistono altre di questo genere? ...Grazie! ^^

    Edit: Quindi così è ok?
    Codice PHP:
    $dopo = file_exists(@$files[($id-1)])) ? "<a href=\"?file=".($id-1)."\">&lt;</a>" : "";
    Invece di fare tutti questi if ...per una variabile! XD
    Ultima modifica di sIM : 28-03-2009 alle ore 19.32.01

  4. #4
    Guest

    Predefinito

    Si.. l'istruzione antecendente ai : viene eseguita se la condizione è vera, quella dopo se la condizione è falsa.

  5. #5
    Guest

    Predefinito

    GRAZIE 1000! :D ...senti invece questa cosa funziona:
    Codice PHP:
    foreach($_POST as $trim) {
    return
    trim(htmlspecialchars($trim));
    }
    In pratica voglio evitare in ogni $variabile di scrivere trim(...) così si fa automaticamente no? L'ho messo dopo <?php all'inizio...provato anche sotto! Grazie 1000! ;D

    EDIT: Ho provato e non funziona...dove sta l'errore? XD
    Ultima modifica di sIM : 28-03-2009 alle ore 19.42.56

  6. #6
    Guest

    Predefinito

    Quel return dentro il for ti fa uscire subito dal ciclo.. non fa quello che vorresti.
    Codice PHP:
    $my_POST = array();

    foreach(
    $_POST as $key => $value)
    $my_POST[$key] = trim(htmlspecialchars($value));
    prova così.

  7. #7
    Guest

    Predefinito

    Tra parentesi quei ? : si chiama operatore ternario. E' utile quando nell'if c'è una sola condizione.
    Consulta una guida per maggiori info.
    Esempio:
    ho questo script:
    Codice PHP:
    <?php
    $a
    = 1;
    if(
    $a == 1)
    print
    '$a = 1';
    else
    print
    '$a != 1';
    ?>
    Si può semplicemente scrivere:
    Codice PHP:
    <?php
    print ($a == 1) ? $a == 1' : '$a != 1';
    ?>

  8. #8
    Guest

    Predefinito

    Il tuo stoner non funziona...io ho provato così ma niente nemmeno!
    Codice PHP:
    $_POST = array();
    foreach(
    $_POST as $my_post) $my_post = trim(htmlspecialchars($my_post));
    Grazie 1000!

    PS. Conosco le guide gabry...il problema e che non sapevo come si chiamavano queste variabili!

  9. #9
    Guest

    Predefinito

    Si che funziona. Una volta 'pulito' l'array post devi usare $my_POST per estrarre i dati.
    Esempio
    Codice PHP:
    <form action="" method="post">
    <input type="text" name="uno" />
    <input type="text" name="due" />

    <input type="submit" />
    </form>

    <?php
    $my_POST
    = array();

    foreach(
    $_POST as $key => $value)
    $my_POST[$key] = trim(htmlspecialchars($value));


    if(
    count($my_POST))
    foreach(
    $my_POST as $key => $value)
    echo
    $key ." => ".$value."<br/>";

    //echo $my_POST['uno']."<br/>".$my_POST['due'];
    ?>
    Ultima modifica di stoner : 28-03-2009 alle ore 20.22.17

Regole di scrittura

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