Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    34

    non mi legge più la variabile ID

    questo link

    http://www.sito mio.com/annuncio2.php?id=139382

    richiama un semplice script che provvede a leggere un campo dal db sql
    e stampa avido il risultato.

    ha funzionato tutto correttamente solo che da 24 Ore ho fatto un
    controllo e sembra che la variabile ID non viene letta e praticamente
    vuota lanciando lo script.

    allego il codice

    ​<?
    print $id;

    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file
    config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri
    nel file
    config.inc.php");
    $query = "SELECT id, cognome , indirizzo , cap , citta , provincia ,
    testoannuncio , titolo , data , zona , email , tipo , zona, visite FROM
    lavqual3 WHERE id='$id'";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);
    $annuncio = $row[testoannuncio];

    print $annuncio;
    print $row[testoannuncio];

    $metadescrizione=$row[zona]." ".$row[titolo]." ".substr($row
    [testoannuncio],0,200);
    $parolachiave = $row[titolo];
    $mail = $row[email];
    $id = $row[id];
    $zona = $row[zona];
    $citta = $row[zona];
    $titolo = $row[titolo];
    $cognome = $row[cognome];
    $data = $row[data];
    $provincia = $row[provincia];

    print $cognome;

    mysql_close($db);


    ?>

    l'istruzione

    print $id;

    da un risultato vuoto

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sicuramente hanno aggiornato il server su cui si trova il tuo sito, finalmente direi.
    Sono anni che la direttiva register_globals è stato prima consigliato di disattivarla e poi disabilitata di default.
    La direttiva register_globals è quella che ti permette di prendere le variabili GET senza passare dall'array $_GET, ma costruisce una variabile col nome dei parametri passsati, nel tuo caso $id.

    Se all'inizio dello script metti
    $id = $_GET['id'];
    vedrai che tutto torna a funzionare.

    Ovviamente ovunque usavi le variabili GET in quel modo, dovrai ora usare $_GET['...'] per recuperarle.

    Altra cosa, usa sempre il tag completo <?php e non lo short tag <? che non è affidabile, può generare malfunzionamenti perché confondibile con <?xml

  3. #3
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    EDIT: arrivato tardi

    per risolvere:
    Codice PHP:
    <?php

    $id 
    $_GET['id'];
    print 
    $id;

    include(
    "config.inc.php"); 
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file 
    config.inc.php"
    );
    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri 
    nel file 
    config.inc.php"
    );
    $query "SELECT id, cognome , indirizzo , cap , citta , provincia , 
    testoannuncio , titolo , data , zona , email , tipo , zona, visite FROM 
    lavqual3 WHERE id='
    $id'";
    $result mysql_query($query$db);
    $row mysql_fetch_array($result);
    $annuncio $row[testoannuncio];

    print 
    $annuncio;
    print 
    $row[testoannuncio];

    $metadescrizione=$row[zona]." ".$row[titolo]." ".substr($row
    [testoannuncio],0,200);
    $parolachiave $row[titolo];
    $mail $row[email];
    $id $row[id];
    $zona $row[zona];
    $citta $row[zona];
    $titolo $row[titolo];
    $cognome $row[cognome];
    $data $row[data];
    $provincia $row[provincia];

    print 
    $cognome;

    mysql_close($db);

    ?>
    Ultima modifica di brodik; 25-03-2016 a 19:02
    eXvision

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    34
    grazie adesso funziona bene il valore id viene passato correttamente. ho riscontrato lo stesso problema anche con le variabili ricevute dai form
    in questo caso ho usato l'istruzione da te consigliata
    $cognome = $_GET['cognome'];

    ma il valore non viene passato​
    allego lo script del form

    <form action="save.php" method="post">
    <input type='hidden' name='tipo' value='offerta'>
    <p align="left"><b>Cognome e Nome o Denominazione Azienda: <br>
    <input size="48" name="cognome"> </b></p>
    <p align="left"><b>Indirizzo ( </b>Via/Piazza - N. civico<b> )</b> <br>
    <input size="25" name="indirizzo"></p>
    <p align="left"><b>C.A.P.<input size="5" name="cap"></b> <b>Città</b>
    <input name="citta" size="20"><b>Provincia:</b>
    <input size="2" name="provincia"></p>
    <p align="left"><input type="submit" value="Spedisci i dati"><input type="reset" value="Azzera i dati"></p>
    </form>

  5. #5
    codice HTML:
    <form method="post">
    Codice PHP:
    $cognome $_POST['cognome']; 

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    34
    ok così funziona

    un'ultima cosa per il codice ricevuto da uno script che genera un codice di sicurezza CAPTCHA che funzione devo utilizzare per leggerlo ho provato sia con GET E POST e non funziona

    allego alcune righe dello script:

    si riceve da

    // memorizzo il codice per la successiva verifica

    session_start();

    $_SESSION['code'] = $pass

    e viene elaborato da

    session_start();

    $code = $_POST['code'];

    if($codice==$code)

    {

    $compilazione = "OK";

    } else {

    $compilazione = "NO";

  7. #7
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    sarà sempre $_SESSION['code']
    eXvision

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.