Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Passaggio variabile

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    96

    Passaggio variabile

    Ciao a tutti, ho questa riga che passa una variabile ad un'altra pagina
    Codice PHP:
    <?php 
    echo"
    <td>[url='update_visibile.php?visibile=
    $num_g[id_giornata]'][img]images/t_visibile.jpg[/img][/url]</td>"?>
    nella seconda pagina ho il codice
    Codice PHP:
    <?php
    $indice
    =isset($_GET['visibile'])? $_GET['visibile']:0;
    $conf=1;
    $query_1=mysql_query("UPDATE tabella_vedi_g SET
    desc_vedi_g='
    $conf'
    WHERE id_giornata='
    $indice'")or die("errore nella query;".mysql_error());
    header('location:'.'index.php?1628=menu_calendario&&1834=mod_risultati&id_giornata=$indice'); 
    ?>
    Allora il problema è questo, come potrete notare io stampo l'indice
    Codice PHP:
    echo "indice=" $indice
    e tutto va bene, ma quando la passo
    Codice PHP:
    header('location:'.'index.php?1628=menu_calendario&&1834=mod_risultati&id_giornata=$indice'); 
    non riconosce piu la variabile
    come mai?
    Ciao

  2. #2
    prova con:

    Codice PHP:
    header('location:index.php?1628=menu_calendario&&1834=mod_risultati&id_giornata=$indice'); 

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    96
    Originariamente inviato da goikiu
    prova con:

    Codice PHP:
    header('location:index.php?1628=menu_calendario&&1834=mod_risultati&id_giornata=$indice'); 
    Ciao, niente da fare, sempre in errore, se al posto di $indice metto 1
    va bene, è come se non la riconoscesse, è molto strano, perchè subito dopo io la stampo e mi da l'id_giornata giusto. :master:

  4. #4
    Originariamente inviato da Minatore
    Ciao, niente da fare, sempre in errore, se al posto di $indice metto 1
    va bene, è come se non la riconoscesse, è molto strano, perchè subito dopo io la stampo e mi da l'id_giornata giusto. :master:
    Codice PHP:
    header('location:index.php?1628=menu_calendario&&1834=mod_risultati&id_giornata='.$indice.''); 
    Prova così.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    96
    Ti ringrazio, grazie dell'aiuto, spero un giorno di poter ricambiare
    però adesso mi dovresti spiegare perchè cosi va bene, è possibile avere 2 singoli apici uno vicino all'altro e prima perchè non la riconosceva?

    Codice PHP:
    header('location:index.php?1628=menu_calendario&&1834=mod_risultati&id_giornata='.$indice.''); 
    Grazie

  6. #6
    Prima non la riconosceva poichè facevi un concatenamento inutile.
    Tu devi stampare nell'header il contenuto della variabile, presupponendo che:

    Codice PHP:
    // base
    header('Location:pagina.php?id=valore');
    // per rendere il valore una variabile devo fare
    header('Location:pagina.php?id='.$valore.''); 
    Header ha bisogno di apertura con apice e chiusura con apice, per questo spezzo con '' ed uso un doppio concatenamento '.$valore.' in questo modo gestisce la parte prima come stringa e mi accoda il contenuto della variabile $valore.

    La spiegazione potrebbe non essere esaustiva, in questi casi prova a cercare su internet e/o attendi risposta di gente con spiegazioni più corrette.

  7. #7
    Personalmente sono contrario al continuo aprire e chiudere virgolette solo per concatenare stringhe con variabili, esiste l'interpolazione all'interno delle stringhe: usiamola.

    Poi per voler essere precisi:
    Codice PHP:
    header('Location:pagina.php?id='.$valore.''); 
    i due apici in fondo non servono a niente, quella riga e' equivalente a:
    Codice PHP:
    header('Location:pagina.php?id='.$valore); 
    oppure, senza l'inutile concatenamento:
    Codice PHP:
    header("Location:pagina.php?id=$valore"); 
    notare le doppie virgolette invece degli apici per consentire l'interpolazione.

    Il concatenamento ha senso quando si devono unire stringhe costanti a espressioni (es. funzioni), ma per la semplice sostituzione delle variabili non c'e' ragione per continuare ad aprire e chiudere apici e virgolette.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    96
    Originariamente inviato da k.b
    Personalmente sono contrario al continuo aprire e chiudere virgolette solo per concatenare stringhe con variabili, esiste l'interpolazione all'interno delle stringhe: usiamola.

    Poi per voler essere precisi:
    Codice PHP:
    header('Location:pagina.php?id='.$valore.''); 
    i due apici in fondo non servono a niente, quella riga e' equivalente a:
    Codice PHP:
    header('Location:pagina.php?id='.$valore); 
    oppure, senza l'inutile concatenamento:
    Codice PHP:
    header("Location:pagina.php?id=$valore"); 
    notare le doppie virgolette invece degli apici per consentire l'interpolazione.

    Il concatenamento ha senso quando si devono unire stringhe costanti a espressioni (es. funzioni), ma per la semplice sostituzione delle variabili non c'e' ragione per continuare ad aprire e chiudere apici e virgolette.
    Grazie per la precisazione, molto utile
    Ciao da minatore

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.