Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Aiuto, non funziona più nulla

    Aruba ha aggiornato il server ed adesso tutte le interrogazioni verso i miei DB non funzionano più, non essendo un programmatore, ma un far da se non so come risolvere il problema.
    Mi basterebbe modificare una sola pagina di connessione in lettura e scrittura.

    Questa è una pagina IN LETTURA

    <?php
    echo"$amm_pass - $cond_pass";
    $db=mysql_connect("XX.XXX.XXX.XX" , "SqlXXXXXX" , "XXXXXXXX");
    $comando="select * from condominio where ((amm_pass='$amm_pass') AND (cond_pass='$cond_pass'))";
    $res=mysql_db_query("SqlXXXXXX_4",$comando);


    $num=mysql_num_rows($res);
    if($num==0)
    echo "I dati inseriti non sono validi <br> 1 - Hai errato la digitazione dei dati <br> 2 - Non sei ancora attivato come Condominio <br> Sei pregato di riprovare <INPUT TYPE=button VALUE=Indietro onClick=history.back() align=center>";
    else
    {


    while($dati=mysql_fetch_row($res))
    {
    $cond_id=$dati[0];
    $cond_deno=$dati[1];
    $cond_via=$dati[2];
    $cond_num=$dati[3];
    $cond_citta=$dati[4];
    $cond_prov=$dati[5];
    $cond_descry=$dati[6];
    $cond_scale=$dati[7];
    $cond_app=$dati[8];
    $cond_gar=$dati[9];
    $cond_pubb=$dati[10];
    $cond_pass=$dati[11];
    $amm_pass=$dati[12];



    echo"Pagina Richiesta aperta con successo";
    echo "<table border='1' width='100%'><tr><td width='80%'><a href='amministrazione.php?amm_pass=$amm_pass&cond_ pass=$cond_pass'><b>Grazie clicca qui per andare alla pagina richiesta</b></td></tr>";
    }
    }
    mysql_close($db);


    ?>

    Questa in scrittura

    <html>


    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title></title>
    </head>
    <div align="center">
    <TABLE cellSpacing=0 cellPadding=0 width=700 border=0>
    <tr>
    <td><h3 align="center">Inserimento login</h3><hr><br>
    <?php
    $citt=array("","","","","","","","","","","","","" ,"","","");


    if ((strlen($amm_cogno)==0)||(strlen($amm_nome)==0)|| (strlen($amm_via)==0)||(strlen($amm_num)==0)||(str len($amm_tel)==0)||(strlen($amm_fax)==0)||(strlen( $amm_mail)==0)||(strlen($amm_descry)==0)||(strlen( $amm_pubb)==0)||(strlen($amm_pass)==0)){
    echo "<table align=center><tr><td>I dati inseriti non sono completi! Torna indietro e controlla i tuoi dati</td></tr>";
    echo "<tr><td align=center><INPUT TYPE=button VALUE=Indietro onClick=history.back() align=center></td></tr></table>";
    }
    else
    {


    $db=mysql_connect("XX.XXX.XXX.XX" , "SqlXXXXXX" , "XXXXXXXX");


    $comando="SELECT * FROM amministratore";
    $rs=mysql_db_query("Sqlxxxxxx",$comando);
    $comando="insert amministratore values(0,'$amm_cogno','$amm_nome','$amm_via','$amm _num','$amm_citta','$amm_prov','$amm_tel','$amm_fa x','$amm_cell','$amm_mail','$amm_descry','$amm_pub b','$amm_pass')";
    $rs=mysql_db_query("Sqlxxxxxxxx",$comando);
    echo "La Registrazione è avvenuta con successo, Grazie.<p>";
    mysql_close($db);


    };
    ?>
    <hr></td></tr></table></div>
    <p align=center><a href=../index.php>RITORNA ALLA HOME PAGE!</a><p>
    </body></html>



    Vi ringrazierei immensamente
    Ultima modifica di giovy58; 30-09-2015 a 07:21

  2. #2
    ma che errore ti da?

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    E soprattutto leggi il regolamento, oltre a non specificare l'errore hai anche usato un titolo inadeguato.

    Comunque al 99% (perché se non dici l'errore non si può averne la certezza) hanno aggiornato PHP e ora le funzioni mysql_ non funzionano più (sono deprecate), o passi a mysqli_ oppure a PDO.

  4. #4
    Si, hai perfettamente ragione, questi alcuni errori della pagina:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in D:

    mysql_fetch_row() expects parameter 1 to be resource, boolean given in D:

    Capisco cosa vogliono dire, ma non so come risolvere il problema, se riusciste a sistemarmi i due listati sopra, forse con molta pazienza potrei sistemare tutto, conosco molto poco il linguaggio

    Grazie

  5. #5
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    Quote Originariamente inviata da giovy58 Visualizza il messaggio
    Capisco cosa vogliono dire, ma non so come risolvere il problema, se riusciste a sistemarmi i due listati sopra, forse con molta pazienza potrei sistemare tutto, conosco molto poco il linguaggio

    Grazie
    Praticamente devi rifare da capo (contento, eh?)

    codice:
    $db=mysql_connect("XX.XXX.XXX.XX" , "SqlXXXXXX" , "XXXXXXXX");
    diventa qualcosa del tipo

    codice:
     define('DB_USER', 'iltuonomeutente);     
     define('DB_PASSWORD', 'latuapassword);
     define('DB_NAME', ilnomedeldatabase');    
      define('DB_HOST', 'ilnomedelservermysql');
      define('DB_DSN','mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8');
    
         try 
         {
             $conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
         } 
             
         catch (PDOException $e) 
         {
     //qualche genere di informazione $e->getMessage());
             exit;
         }
    Ora il comando che usavi per la select
    codice:
    $comando="select * from condominio where ((amm_pass='$amm_pass') AND (cond_pass='$cond_pass'))";
    diventa qualcosa di molto simile a questo
    codice:
                  $statement = $conn->prepare("select * from condominio where (amm_pass=:ammpass) and (cond_pass=:condpass)");
       
     // qui si fa il binding, legando ai segnaposto :qualcosa i dati che devono riempirli
    // nell'esempio associamo :ammpass alla variabile $amm_pass
    // ovviamente avrei potuto chiamarlo anche :pippo e fare un bind :pippo,$amm_pass
    
          $statement->bindParam(':ammpass', $amm_pass);
          $statement->bindParam(':condpass', $cond_pass);
             
    // siccome PDO funziona a oggetti, puoi "incapsulare" le chiamate dentro
     // try
    // catch
    // e nel catch puoi prendere l'errore da $e->getMessage()
       try
             {
                 $statement->execute();
             }
             catch (PDOException $e) 
             {
             //di nuovo un problema
                 exit;
             }
     // ora puoi lavorare l'oggetto statement, ad esempio con
     //         $row = $statement->fetch();
     // o quello che ti serve
    Ultima modifica di brancomat; 30-09-2015 a 14:49

  6. #6
    ti ringrazio ma ci capisco molto poco, hai per caso un link dove spiegano con semplicità mysqli_ oppure PDO la vedo male questa situazione, mi porterà ad abbandonare tutto

  7. #7
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    Quote Originariamente inviata da giovy58 Visualizza il messaggio
    ti ringrazio ma ci capisco molto poco, hai per caso un link dove spiegano con semplicità mysqli_ oppure PDO la vedo male questa situazione, mi porterà ad abbandonare tutto
    Ce ne sono tantissimi, anche su html.it mi sa.
    Considera che sono un niubbo pure io, avrò un vantaggio di una settimana
    Comunque per quanto riguarda PDO non è poi così difficile, solo devi praticamente rifare da capo tutte le parti dove operi con il database.

    Puoi operare anche come sei abituato (cioè con le query composte direttamente), ma dal punto di vista della sicurezza sono stra-consigliati.

    In pratica devi
    ... creare un oggetto DB con il quale ti colleghi (nome utente, password etc)
    ... preparare un comando su questo oggetto (es. select qualcosa... insert into...) mettendo al posto dei valori dei "segnaposti" che sono :nome. Esempio supponiamo di avere la variabile $cognomedacercare impostata in qualche modo.

    codice:
    select * from ... where ... cognome=:segnapostocognome
    invece di
    codice:
    select * from ... where ... cognome='.$cognomedacercare
    Ora devi legare al segnapostocognome il suo valore, e lo fai col bind come ho messo sopra.

    Non ti nascondo che il vantaggio di partire da 0 è quello di non portarsi dietro le cose "vecchie", bisogna in sostanza che lo rifai da capo (o quasi)

  8. #8
    Ok grazie mille per la disponibilità, ci proverò

  9. #9
    boh un link a caso di esempio di migrazione:

    https://www.saotn.org/migrate-php-mysql-mysqli/
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Grazie proverò ad interpretare il tutto

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.