Visualizzazione risultati 1 fino 12 di 12

Discussione: Da php 5.6 a 7.3

  1. #1
    LegaJs non è connesso Neofita
    Data registrazione
    10-10-2013
    Messaggi
    17

    Predefinito Da php 5.6 a 7.3

    Buonasera,
    vorrei provare a passare da php 5.6 a 7.3
    Inizio adesso dal niente a fare questa cosa e vorrei delle indicazioni di base, l'unica cosa che so è che la funzione mysql è cambiata in mysqli.
    Ho provato a modificare il mio primo file ma da cmq errore.

    Codice PHP:
    <?php

    session_start
    ();

    function
    loginform(){
    function
    logoutform(){

    function
    login($username, $password, $pagina){
    $pass = md5($password);
    $con = myslqi_connect('localhost', 'root', '****') or die (myslqi_error());
    myslqi_select_db('my_db', $con) or die (myslqi_error());
    $result = myslqi_query(" SELECT * FROM user WHERE user='$user' AND password='$pass' ") or die (myslqi_error);
    $result_array = myslqi_fetch_array($result);
    $count = myslqi_num_rows($result);
    if(
    $count==1 ){
    $_SESSION['login']=$user;
    echo
    "<script type='text/javascript'>";
    echo
    "setTimeout(\"location.href='php/verifica.php';\", 1200);";
    echo
    "</script>";
    }
    else{
    echo
    "<script>alert('LOGIN ERRATO!!!')</script>";
    echo
    "<script>location='index.php';</script>";
    }
    }
    function
    logout(){
    session_destroy();
    }
    if(isset(
    $_POST['login'])){
    logoutform();
    }
    else{
    loginform();
    }
    if(
    $_POST['login']){
    login($_POST['user'], $_POST['password'] );
    }
    elseif(
    $_POST['logout']){
    echo
    "Stai facendo il logout ";
    logout();
    }
    ?>
    suggerimenti?
    Ultima modifica di dreadnaut : 24-02-2023 alle ore 01.32.53 Motivo: + indentazione

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Sarebbe utile se ci dicessi che errori vedi, altrimenti siamo al buio qua

    All'occhio però salta questo: hai scritto myslqi_ invece di mysqli_, ovunque.
    Ultima modifica di dreadnaut : 24-02-2023 alle ore 01.36.45

  3. #3
    LegaJs non è connesso Neofita
    Data registrazione
    10-10-2013
    Messaggi
    17

    Predefinito

    Fatal error: Uncaught ArgumentCountError: Too few arguments to function login(), 2 passed in /xxx/xxx/php/login.php on line 114 and exactly 3 expected in /xxx/xxx/php/login.php:86 Stack trace: #0 /xxx/xxx/php/login.php(114): login('x', 'x') #1 /xxx/xxx/index.php(17): include('/xxx/xxx') #2 {main} thrown in /xxx/xxx/php/login.php on line 86

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    La funzione richiede tre parametri, ma tu la chiami con due. $pagina però non viene usato da nessuna parte, probabilmente puoi toglierlo alla definizione.

  5. #5
    LegaJs non è connesso Neofita
    Data registrazione
    10-10-2013
    Messaggi
    17

    Predefinito

    meglio,adesso da solo: errore...

  6. #6
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,258

    Predefinito

    Salve,
    inserendo error_reporting(-1); all'inizio dello script, subito dopo il tag PHP, quali mesaggi visualizza?

    Cordiali saluti.

  7. #7
    LegaJs non è connesso Neofita
    Data registrazione
    10-10-2013
    Messaggi
    17

    Predefinito

    ciao.. no no, apre la pagina che deve aprire e dice solo:

    errore..

    Credo che il problema sia a monte perchè ''errore...'' è una risposta della pagina php di connessione.

    Codice PHP:

    <?php

    $host
    ="localhost";
    $user="miapagina";
    $pass="";
    $database ="my_db";
    $myconn=mysqli_connect($host, $user, $pass ) or die('Errore...');
    mysqli_select_db($database, $myconn) or die('Errore...');

    ?>
    Inoltre ho una curiosita'.. la versione 7.3 da dei problemi con mysqli_numrows?
    Ultima modifica di LegaJs : 25-02-2023 alle ore 18.01.14

  8. #8
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,258

    Predefinito

    I paramentri di connessione su AlterVista generalmente sono questi:
    Codice PHP:
    $host="localhost";
    $user="NomeDominoTerzoLivello";
    $pass="";
    $database ="my_NomeDominoTerzoLivello";
    dove NomeDominoTerzoLivello nel suo caso va sostituito con LegaJs.

    Comunque con la domanda precedente, intendevo di abilitare il report degli errori (error_reporting) e di riportare qui, gli eventuali messaggi di errore e/o di altro genere restituiti.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 25-02-2023 alle ore 18.08.09

  9. #9
    LegaJs non è connesso Neofita
    Data registrazione
    10-10-2013
    Messaggi
    17

    Predefinito

    grazie.. i parametri infatti sono quelli, suppongo l errore sia dopo.. mysqli numrows su php 7.3 funziona?

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,708

    Predefinito

    Citazione Originalmente inviato da LegaJs Visualizza messaggio
    mysqli numrows su php 7.3 funziona?
    Puoi verificarlo tu stesso dalla documentazione ufficiale.

    Per il tuo problema, sicuramente inserire due stringhe identiche non ti fa capire se fallisce mysqli_connect() o mysqli_select_db(). Piuttosto, ti suggerirei di utilizzare mysqli_error() per avere anche una descrizione sull'errore.

    Detto questo, ti suggerisco di utilizzare la connessione come indicato sulla documentazione ufficiale, ovvero qui (stai utilizzando la procedural style).

    Ciao!

  11. #11
    LegaJs non è connesso Neofita
    Data registrazione
    10-10-2013
    Messaggi
    17

    Predefinito

    Grazie per l'aiuto per adesso ho risolto.

    Ho rinnovato la pagina di connessione come suggerito, mysql_numrows non gli 'piaceva' ma mysqli_num_rows si.
    Inoltre mysqli_result nella nuova estensione non funziona piu e l ho sostituito con mysqli_fetch_assoc.

    Magari sara' utile a qualcuno.

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,708

    Predefinito

    In generale, tutte le funzioni mysql devono essere sostituite con mysqli, che è la nuova versione "MySQL Improved". Sono due versioni indipendenti, non è possibile utilizzarle in "mixate".

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •