Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    27

    Errore script al cambio di versione

    Ciao gente,

    ho ereditato questo script

    codice:
    <?
    include("config.inc.php");
    //print '<pre>'; print_r($_REQUEST); print '</pre>';
    
    if ($_SERVER['HTTP_USER_AGENT'] != $http_agent_valido) {
        die('Non collegato');
    }
    
    
    $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");
    
    $where_str = '';
    switch($_REQUEST['solo']) {
        case '0':
            $where_str .= " rifOriginale like '%".$codart."%' ";
        break;
        default:
            $where_str .= " rifOriginale = '".$codart."' ";
        break;
    }
    $query =  "select * from artico where ".$where_str." order by rifInterno limit 100" ; 
    $dbresult = mysql_query ($query, $db) or die(mysql_error.' query '.$query);
    if (mysql_num_rows($dbresult) > 0) {
      header ("content-type: text/xml");
      echo '<?xml version="1.0"?>';
      while ($line = mysql_fetch_array ($dbresult,MYSQL_ASSOC)) {
          echo '<articolo>'."\n";
              echo '<rifInterno>'.$line['rifInterno'].'</rifInterno>'."\n";
              echo '<rifOriginale>'.$line['rifOriginale'].'</rifOriginale>'."\n";
              echo '<descrizione>'.$line['descrizione'].'</descrizione>'."\n";
              echo '<disponibilita>';
              if ($line['disponibilita'] <= 0) {
                  echo 'ROSSO';
              } elseif ($quantita >= $line['disponibilita']) {
                  echo 'GIALLO';
              } else {
                  echo 'VERDE';
              }
              echo '</disponibilita>'."\n";
              echo '<listino>'.$line['listino'].'</listino>'."\n";
              echo '<sconto>'.$line['sconto'].'</sconto>'."\n";
              echo '<netto>'.$line['netto'].'</netto>'."\n";
          echo '</articolo>'."\n";
      }
     } else {
     }
    ?>
    da un ex collega.

    Era lì a funzionare da un paio d'anni, ad oggi stiamo migrando e ho messo su una versione più recente di apache/php/mysql.

    Lo script non funziona più e non riesco a capire perchè, o meglio, non riesco a correggerlo.

    Quando lo interrogo mi viene restituito:

    codice:
    <br />
    <b>Notice</b>:  Undefined variable: codart in <b>C:\xampp\htdocs\tcg\giac2.php</b> on line <b>18</b><br />
    <?xml version="1.0"?><articolo>
    <rifInterno>AER2900</rifInterno>
    <rifOriginale>AER2900</rifOriginale>
    <descrizione>TEST</descrizione>
    <disponibilita><br />
    <b>Notice</b>:  Undefined variable: quantita in <b>C:\xampp\htdocs\tcg\giac2.php</b> on line <b>37</b><br />
    VERDE</disponibilita>
    <listino>156</listino>
    <sconto>10</sconto>
    <netto>56</netto>
    </articolo>
    che, aldilà della formattazione, mi pare chiaro evidenzi problemi con le variabili.
    Sapete aiutarmi?

  2. #2
    prova a mettere dopo

    if($_SERVER['HTTP_USER_AGENT']!= $http_agent_valido){
    die('Non collegato');
    }

    Codice PHP:
    $codart $_GET['codart']; 
    che magari nella versione che usavi di php usavi la conversione in automatico da $_GET a variabili
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    27
    Grazie, ho tentato, ma mi restituisce

    <b>Notice</b>: Undefined index: codart in <b>C:\xampp\htdocs\tcg\giac2.php</b> on line <b>8</b><br />

    :s sto scemando

  4. #4
    Probabilmente nel vecchio ambiente la direttiva register_globals era impostata a true. Ora invece è necessario passare e recuperare esplicitamente i parametri.
    Da dove arriva $codart ?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    della serie: come richiami quello script?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    27
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Probabilmente nel vecchio ambiente la direttiva register_globals era impostata a true. Ora invece è necessario passare e recuperare esplicitamente i parametri.
    Da dove arriva $codart ?
    Eh, cazzabbubbola, c'ero arrivato, ho anche provato ad attivarla dal php.ini ma è stata tolta con le ultime versioni!

    Cerco lo script del form e vi aggiorno dai.

    Grazie!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    27
    Ho risolto!
    Ho preso le variabili con $_POST['variabile'] grazie al suggerimento di un collega.

    Grazie a tutti

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Un collega? E non te lo aveva già detto Santino83_02 nel suo primo intervento?

    Leggere con un minimo di attenzione le risposte proprio no eh?!

  9. #9
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Un collega? E non te lo aveva già detto Santino83_02 nel suo primo intervento?

    Leggere con un minimo di attenzione le risposte proprio no eh?!
    io avevo detto di leggere da $_GET perchè pensavo fosse in GET la richiesta... Cmq io so io e voi non siete un caxxo si sapeva (ps: è una battuta eh, mi raccomando non mi fate storie )
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.