Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    [APACHE] passare le variabili

    Ciao a tutti,
    Perchè in locale le pagine in php non mi caricano le variabili che gli passo da altre pagine?

    Devo usare per forza:
    $categoria = $_GET['categoria'];

    e la cosa peggiora con i dati presi dal database.
    Se il campo richiesto è vuoto mi scrive:

    Notice: Use of undefined constant titolo - assumed 'titolo' in c:\programmi\easyphp1-7\www\annunciaquila\php\all.php on line 148

    perchè? (In internet funziona perfettamente)

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    per le variabili:
    http://forum.html.it/forum/showthrea...hreadid=245215

    per il notice posta la riga.
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    non è un errore legato alla riga perchè mi appaiono
    una ventina di notice
    uno riferito ad aogni riga in cui c'è un riferimento al campo del database.

    In pratica è come se dovessi dichiarare prima tutti i dati e le variabili. Cosa che non serve in internet.

    Per quello mi chiedo se devo impostare qualcosa sull'apache, non so magari le variabili globali o cose del genere

  4. #4
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    ho letto l'inizio del thread che mi hai postato e infatti dice:

    Decisamente diverso invece se per riferirvi alle variabili in input usavate il nome della variabile e non il suo array (es. $var invece di $HTTP_GET_VARS[var]). Questo perchè nelle versioni dalla 4.2.0 in poi per default il php.ini contiente questa riga

    code:register_globals = 'Off'

    mentre in quelle precedenti la riga era scritta per default così

    code: register_globals = 'On'


    ma dove devo andare ad impostarlo?

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    L'ho impostato sul php.ini (ma non funziona lo stesso)

    cmq: una delle tante righe di codice (cme mi generano il notice) è la seguente:


    $query = "SELECT * FROM news WHERE visibile='Visibile' and categoria=$categoria and cerco=$cerco ORDER BY data DESC LIMIT $start,$step";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {

    $row[titolo] = strtoupper($row[titolo]);

    ma il notice si puòp disabilitare?

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    aggiungi gli apici:
    $row['titolo'] = strtoupper($row['titolo']);
    think simple think ringo

  7. #7
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    grazie, ora provo

  8. #8
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    funziona grazie, però non riesco a risolvere questo problema:

    all'apertura della mia pagina ho una variabile che non è definita perchè non gli passo nulla

    $start = $_GET['start'];

    la userò dopo.
    Ma ricevo questo:
    Notice: Undefined index: start in c:\programmi\easyphp1-7\www\annunciaquila\php\all.php on line 8

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    if (isset($_GET['start']))
        $start = $_GET['start'];
    think simple think ringo

  10. #10
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Originariamente inviato da gasmor
    all'apertura della mia pagina ho una variabile che non è definita perchè non gli passo nulla

    $start = $_GET['start'];

    la userò dopo.
    Ma ricevo questo:
    Notice: Undefined index: start in c:\programmi\easyphp1-7\www\annunciaquila\php\all.php on line 8
    Se sai a priori che la variabile esterna non contiene niente non capisco perché tu l'assegni.
    Comunque per evitare che venga presentato un notice usa la funzione isset() per controllare.

    codice:
    $start = (isset($_GET['start']) and $_GET['start']) ? $_GET['start'] : '';
    www.php.net/isset
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

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.