Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151

    Differenze eclatanti tra php4 e php5?

    Ciao ragazzi,
    oggi la società hosting che ospita il mio dominio ha upgradato il PHP dalla 4 alla 5.

    Sembra tutto ok, eccetto alcune query (pagina di ricerca dati php/mysql) scritte da me che funzionavano pefettamente e che oggi mi restituiscono una pagina bianca.

    Partiamo dal basso.... ci sono funzioni base che non sono più compatibili?

    La mia paginetta è una delle più semplici... niente di trascendentale.

    Codice PHP:
    // C'è un include con percorso relativo...

    include ("../config.php");

    // c'è una semplice query così struttrata...
    $sql="SELECT * ,date_format(datapag, '%e-%m-%Y'),date_format(data_attivaz, '%e-%m-%Y') FROM utenti WHERE id='$id'";

    $rs=mysql_query($sql,$cid);
    $num_righe=mysql_num_rows($rs);

    if  ( 
    $num_righe == ) {
    echo 
    "Spiacente, non ci sono informazioni";
    } else {
    # abbiamo dei risultati

    $rs=mysql_query($sql,$cid);
    while (
    $valori mysql_fetch_array ($rs))

    $nome $valori "nome"]; 
    $cognome $valori "cognome"]; 

    // etc... 
    il config.php è questo:

    Codice PHP:
    <?    $usr "xxx";    
    $pwd "xxxx";    
    $db "yyyyy";    
    $host "localhost";   

     
    # connect to database    
     
    $cid mysql_connect($host,$usr,$pwd);   
      
    mysql_select_db($db);   
       if (
    mysql_error()) { print "Database ERROR: " mysql_error(); }
       
    ?>
    Il risultato, mi ripeto è 0 righe...

    Grazie in anticipo... anche qualche link a documenti specifici sarebbe graditissimo.

  2. #2
    ciao, prova
    così
    Codice PHP:
    $rs=mysql_query($sql); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    No niente. Non cambia nulla...

  4. #4
    per quale motivo ripeti 2 volte mysql_query? ne basta una

  5. #5
    penso che la piu' importante nel tuo caso sia che con php5 di default nel php.ini lo short tag non sia abilitato. Quindi <?php invece di <?

    poi register_globals in off, l'impostazione di SQL MODE di mysql sono solo le piu' eclatanti....e poi per vedere gli errori ti converra' abilitarne la stampa. Errori a parte dello script come ti hanno gia' segnalato.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    penso che la piu' importante nel tuo caso sia che con php5 di default nel php.ini lo short tag non sia abilitato. Quindi <?php invece di <?
    Un pò OT:
    "odio" quando trovo script che usano gli short tag, ora sono su server mio e non ho problemi (anche se preferisco lasciarli disabilitati) ma che ci vuole a mettere un "php" in più che funziona sempre (non mi riferisco in particolare a Beppe)?
    Poi tranne il caso in cui si scriva qualcosa con notepad e simili, gli editor ormai hanno tutti i template, macro etc... basta impostarlo una volta per bene ed essere sicuri che funziona ovunque.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    grazie a tutti per le risposte...
    vi sembrerà strano, ma solo nell'esempio inserito sul questo thread ho inserito <? anzichè <?php. Nella paginetta in php è correttamente scritto <?php.

    Comunque, ho eliminato il doppio mysql_query ho ridato una guardatina a tutto il codice... e nulla sempre risultato=0.

    A questa pagina accedo passando un '?id=995'.... non vorrei fosse cambiato qualcosa nel passare le variabili via url.

    Per il register_globals vorrei capire meglio come dovrebbe essere. Così ne parlo con l'assistenza dell'hosting con cognizione di causa.

    Grazie.
    P.S. come mi stampo il debug a video?

  8. #8
    questo abilita tutti gli errori... lo devi mettere in cima alla pagina... vedrai che se c'è un errore salta fuori

    Codice PHP:
    error_reporting(E_ALL E_STRICT);
    ini_set("error_display""1"); 
    Originariamente inviato da beppe74
    P.S. come mi stampo il debug a video?
    devi fare un echo di ogni variabile, il più possibile
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Risultato sempre lo stesso.

    'Spiacente, non ci sono informazioni'

    Quindi è come se non ci fossero dati presenti sul db con quell'id passato attraverso l'url.

    Garantisco che con il php4 funzionava e che i dati sul db ci sono eccome!

    Cosa è cambiato nella gestione delle variabili via url?

  10. #10
    Originariamente inviato da beppe74
    Risultato sempre lo stesso.

    'Spiacente, non ci sono informazioni'

    Quindi è come se non ci fossero dati presenti sul db con quell'id passato attraverso l'url.

    Garantisco che con il php4 funzionava e che i dati sul db ci sono eccome!

    Cosa è cambiato nella gestione delle variabili via url?
    '?id=995'

    La variabile passata nell'URL la devi recuperare con:

    Codice PHP:
    if(!empty($_GET['id'])) {
    $id $_GET['id'];


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.