Visualizzazione risultati 1 fino 24 di 24

Discussione: Problema di funzionamento script a causa del passaggio del server a php8

  1. #1
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito Problema di funzionamento script a causa del passaggio del server a php8

    Ho un problema per quanto riguarda il nuovo passaggio a php8 (o PHP 7.3 mi sembra di aver visto nella sezione "risorse"). Il problema è che non mi funziona più lo script chiamato [script registrazione] creato da "alemoppo". Questo perché il server altervista è passato alla versione PHP8 e quindi essendo un vecchio script non funziona più come prima.

    In una pagina facente parte dello script in questione mi appare una dicitura di questo tipo:
    Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /membri/gener/membership/config.php:51 Stack trace: #0 /membri/gener/membership/login.php(68): require() #1 {main} thrown in /membri/gener/membership/config.php on line 51

    Premetto che non sono un esperto e nemmeno un programmatore, quindi non so tanto districarmi con le stringhe di script e database, ma siccome sto usando lo script di alemoppo per un mio progetto vorrei sapere che cosa devo fare o quali stringhe inserire nei codici dei file che compongono lo [script di registrazione] per poterlo far funzionare anche con questa nuova versione di PHP8

    Qui inserisco il collegamento alla creazione di alemoppo per far capire a quale script di registrazione mi riferisco. Link di collegamento alla discussione dello script

    P.S: ho raccolto informazioni tramite lo stesso forum di altervista e anche da altre parti sul web che bisogna inserire le funzioni di MSQli o PDO, ma io non ci capisco nulla e quindi mi sono un po bloccato, spero di trovare qualcuno che ci capisce. Grazie
    Ultima modifica di gener : 08-02-2022 alle ore 17.56.37

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,998

    Predefinito

    Salve,
    da attualmente da default php è impostato alla 7.3 anche se è disponibile come massima php 8.0. Può comunque ancora impostare php 5.6 da qui e risolvere al momento.

    Il darabase MySQL è probabilemnte stato aggiornato dalla versine 5.6 alla versione 8.0. (può controllare da qui)

    Lo script che ha lincato fornitole da alemoppo al tempo, non mi pare che faccia riferimenti all'uso di funzioni MySQL. l'errore fa parte del suo codice che usa per effettuare la connessione al database.

    La questione è semplicemente che sta usando mysql_connect() che non è supportata in php =>7.x. Il supporto ufficiale a PHP 5.x è cessato l'1 gennaio 2019, e con esso acnhe l'uso delle funzioni mysql.

    La soluzione definitiva quando anche AlterVista smetterà di suppsortare php 5.6, sarà quindi di aggiornare il codice passando a MySQLi o PDO.

    P.S: ho raccolto informazioni tramite lo stesso forum di altervista e anche da altre parti sul web che bisogna inserire le funzioni di MSQli o PDO, ma io non ci capisco nulla e quindi mi sono un po bloccato, spero di trovare qualcuno che ci capisce. Grazie
    Come ha trovato già nel forum la soluzione finale è passare a MySQLi oppure a PDO, non vi sono altre vie.

    La struttura e le funzioni di MySQLi somo abbastanza simili a quelle di MySQLi , quindi se conosce già MySQL non è poi così complicato. Tutta la documentazione con gli esmpli la trova nel manuale ufficiale di php.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 08-02-2022 alle ore 19.28.09

  3. #3
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    La risposta è stata esaudiente e chiara ma fino qui ci ero arrivato anche da me. Di rimettere la versione 5.6 mi è stato sconsigliato, anche perché il problema sarebbe risolto solo temporaneamente, visto che prima o poi altervista cesserà di supportare php5. Per quanto riguarda il database l'avrò preso da qualche altra parte (ora non ricordo perché è passato del tempo). Come ho già detto io non ci capisco nulla di queste cose quindi è inutile mandarmi alla documentazione con tutti gli esempi. Non saprei da dove iniziare. Speravo che qualcuno mi facesse chiarezza sul da farsi. Se c'è bisogno che nella discussione io inserisca più elementi per far capire meglio, tipo pagine, pezzi di script, il database o roba di altro genere basta dirlo e lo farò. Oppure se per risolvere la questione basta agire sul codice del database dovrei sapere quale passaggio devo scrivere nella tabella del database e in quale punto
    Ultima modifica di gener : 09-02-2022 alle ore 12.00.23

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

    Predefinito

    Citazione Originalmente inviato da gener Visualizza messaggio
    LDi rimettere la versione 5.6 mi è stato sconsigliato, anche perché il problema sarebbe risolto solo temporaneamente, visto che prima o poi altervista cesserà di supportare php5
    Io non consco il suo codice ne ho modo di vederlo nel suo sito, se si tratta di poche modifiche, può anche non reimostare php 5.6, ma così il sito resterà non visibile fino a quando non avrà aggiornato il codice.

    Io infatti l'ho indicata come soluzione temporanea nel mentre che si effettua l'aggiornamento dei codici.

    Citazione Originalmente inviato da gener Visualizza messaggio
    Per quanto riguarda il database l'avrò preso da qualche altra parte (ora non ricordo perché è passato del tempo). Come ho già detto io non ci capisco nulla di queste cose quindi è inutile mandarmi alla documentazione con tutti gli esempi. Non saprei da dove iniziare. Speravo che qualcuno mi facesse chiarezza sul da farsi.
    Nonrmalmente se uno ha un sito di tipo classico creato manualmente si pensa che conosca un minimo dei cidici che ha creato e/o usato.

    Quindi come ha creato il sito, prendendo un po' di cidici già pronti qua e là per il web?

    Non volglio sembrare scortese, ma in generale, quando si vuole fare un sito senza avere dimenstichezza con i ripettivi codici, o lo si fa fare a qulcun'altro oppure, lo si fa con un CMS.

    Citazione Originalmente inviato da gener Visualizza messaggio
    Se c'è bisogno che nella discussione io inserisca più elementi per far capire meglio, tipo pagine, pezzi di script, il database o roba di altro genere basta dirlo e lo farò.
    Sì, mostrando i codici si può vedere di aiutarla, se le pagine/ file non sono molti, se si tratta di decine di file da modificare, non è pensabile falo con domanda e risposta qui dal forum.

    Citazione Originalmente inviato da gener Visualizza messaggio
    Oppure se per risolvere la questione basta agire sul codice del database dovrei sapere quale passaggio devo scrivere nella tabella del database e in quale punto
    Visto quanto sostiene in merito alle sue esperienze tecniche, eviteri di farle mettere mani al database.

    Cordiali saluti.

  5. #5
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    Per quanto riguarda la versione php 5.6 non c'è problema perché posso anche tenerlo non visibile fino a quando voglio.

    Si, credo che si tratti di fare poche modifiche, perlomeno a livello di file (che sono 3), mentre a livello di codice non lo so, visto che non so quante stringhe devono essere modificate o aggiunte, comunque credo che si possa fare (ho visto discussioni piene di stringhe e codici quindi non credo sia un problema).

    Per quanto riguarda come ho creato il sito la risposta è: Si, ho creato il sito prendendo pezzi di codice un po' qua e là e li ho messi insieme facendo in modo che funzionassero e che ognuno facesse il proprio compito. C'è però da dire che si tratta di un lavoro che ho fatto diverso tempo fa e quindi visto che non sono un programmatore o uno che lo fa tutti i giorni mi sia concesso essere un po in difficoltà nel destreggiarmi con queste cose.

    Non ho disponibilità economica per acquistare i servizi che lei ha menzionato nel suo intervento, quindi mi sono dovuto arrangiare diversamente.

    Detto questo, qui di seguito inserisco i codici dei file che penso debbano essere modificati e quindi anche il database. Si tratta di codici che non ho creato io ma che ho preso in giro e poi li ho assemblati. Qui di seguito inserisco solo la parte di codice in php (che è quella che ci interessa) senza il resto tipo codice html, css e altro.

    Ecco i codici:

    - File config.php

    Codice PHP:
    <?php
    */
    require_once(
    './funzioni.php');
    if(isset(
    $_GET['captcha']))
    {
    session_start();
    $testo = substr(stringa_random(),0,5);
    $_SESSION['captcha'] = $testo;
    $x = 100;
    $y = 50;
    $image = imagecreatetruecolor($x, $y);

    $sfondo = imagecolorallocate($image,hexdec(substr(colore(),1,2)),hexdec(substr(colore(),3,2)),hexdec(substr(colore(),5,2)));
    $nero = imagecolorallocate($image,0,0,0);

    imagefilledrectangle($image, 0, 0, $x, $y, $sfondo);

    imagettftext(
    $image, //immagine
    15, //dimensione carattere
    rand(-5, 5), //angolo di rotazione
    10+rand(-10,10), //offset sulla x
    30, //offset sulla y
    $nero, //colore
    './caratteri/arial.ttf', //font
    $testo //da stampare
    );

    header("Content-Type: image/png");
    imagepng($image);
    }
    else if(isset(
    $_GET['logout']))
    {
    session_start();
    session_destroy();
    if(isset(
    $_COOKIE['user']) || isset($_COOKIE['pass']))
    {
    setcookie('user',$user,time()-500);
    setcookie('pass',$pass,time()-500);
    }
    redirect_home();
    //header('location: [url]http://'.nick().'.altervista.org');[/url]
    }
    else
    {
    if(isset(
    $ACCOUNT_DB))
    $nick = $ACCOUNT_DB;
    else
    $nick = nick();
    $db = mysql_connect('localhost',$nick,'');
    if(!
    $db)
    die(
    'Impossibile connettersi al database: '.mysql_error());
    if(!
    mysql_select_db('my_'.$nick,$db))
    die(
    'Impossibile selezionare il database');
    }
    ?>
    La riga [$db = mysql_connect('localhost',$nick,'');] credo sia quella incriminata, ma non vorrei dire una sciocchezza.

    - File login.php

    Codice PHP:
    <?php
    */
    session_start();
    require_once(
    './funzioni.php');
    require(
    './config.php');
    if(isset(
    $_SESSION['utente'])) {
    echo
    "Benvenuto, ".$_SESSION['utente']."<br> <a href="protetta.php">entra qui</a>";
    }

    else if(isset(
    $_COOKIE['user'],$_COOKIE['pass']))
    {
    $user = mysql_real_escape_string($_COOKIE['user']);
    $pass = mysql_real_escape_string($_COOKIE['pass']);

    #rinnovo i cookie
    setcookie('user',$user,time()+(60*60*24*30)); //dura 30 gg
    setcookie('pass',$pass,time()+(60*60*24*30)); //dura 30 gg
    }
    if(isset(
    $_POST['username'],$_POST['password']))
    {
    $user = mysql_real_escape_string($_POST['username']);
    $pass = md5(mysql_real_escape_string($_POST['password']));
    }

    if(isset(
    $user,$pass))
    {
    $q = mysql_query('SELECT attivazione,pass FROM utenti WHERE username = \''.$user.'\' AND password=\''.$pass.'\' LIMIT 1');
    mysql_close($db);
    if(!
    $q)
    echo
    'Errore durante la query: '.mysql_error();
    else if(
    mysql_num_rows($q) == 1)
    {
    $q = mysql_fetch_assoc($q);

    if(empty(
    $q['attivazione']) || (!empty($q['pass'])))
    {
    $_SESSION['utente'] = htmlentities($user);
    if(isset(
    $_POST['ricordami']))
    {
    setcookie('user',$user,time()+(60*60*24*30)); //dura 30 gg
    setcookie('pass',$pass,time()+(60*60*24*30)); //dura 30 gg
    }
    redirect_home();
    }
    else
    echo
    'Account non attivato. Attivalo dall\'indirizzo specificato nell\'email!.';
    }
    else echo
    'I dati non sono corretti.';
    }
    if(!isset(
    $_SESSION['utente']))
    {
    ?>
    File installazione.php

    Codice PHP:
    <?php
    */
    require(
    "config.php");
    if(
    mysql_query("
    CREATE TABLE IF NOT EXISTS utenti (
    id MEDIUMINT(8) NOT NULL AUTO_INCREMENT,
    username VARCHAR(25) NOT NULL default '',
    password VARCHAR(32) NOT NULL default '',
    email VARCHAR(255) NOT NULL default '',
    pass VARCHAR(32) default '',
    attivazione VARCHAR(32) default '',
    PRIMARY KEY (id)
    );
    "
    ))
    echo
    'Installazione riuscita!';
    else echo
    'Errore durante l\'installazione!';
    mysql_close($db);
    ?>
    Questi credo siano i file su cui lavorare. Se invece ne occorressero degli altri me lo faccia presente.
    Ultima modifica di dreadnaut : 09-02-2022 alle ore 20.01.43 Motivo: Sostituito [quote] con [php]

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

    Predefinito

    Alternativamente, potresti usare un libreria che faccia da ponte fra le vecchie funzioni, ora scomparse, e mysqli_, ad esempio questa.

    Per utilizzarla, devi copiare lo script sul tuo sito, e poi includerlo in tutti i file che lavorano con il database.
    Codice PHP:
    <?php
    require 'mysql.php';

    # ...
    La libreria definisce funzioni che seguono la vecchia interfaccia, ma internamente usano chiamate moderne.

    Di nuovo, questo può essere un passo temporaneo mentre aggiusti il resto con calma.

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

    Predefinito

    Quel codice mi risulta particolarmente familiare.

    Le chiamate a mysql sono in tutti i file, quindi: cambiopass.php, config.php, recupero.php, iscrizione.php, installazione.php.

    Si tratta quindi di sostituire le varie mysql_ con mysqli_.
    Purtroppo però non è sufficiente aggiungere la lettera "i", perché le interfacce come detto dagli altri utenti sono un po' diverse. Potresti però riuscire tramite la documentazione ufficiale leggendo un po' come funzionano a capire i vari parametri.
    Ad esempio, la mysql_connect() nel file config.php andrebbe riscritta:
    Codice PHP:
    $db = mysqli_connect('localhost', $nick, '', 'my_'.$nick);
    Se noti è già inclusa la selezione del database (è il parametro aggiuntivo), quindi puoi eliminare tutto il codice sotto dalla riga 52 alla riga 55 comprese.

    Ciao!

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

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Quel codice mi risulta particolarmente familiare.
    Mettilo su GitHub o simile, che gli diamo una spolverata :D

  9. #9
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    Alemoppo naturale che ti risulti familiare perché è il tuo. Però non ho capito qual è questa documentazione ufficiale che dovrei consultare. Come ho già ribadito non ci capisco molto di queste cose, ma comunque ti chiedo di inserirmi un link a questa documentazione ufficiale, ma dubito che mi sia utile per risolvere il problema, soprattutto se c'è un papiro di stringhe su cui ci devo capire qualcosa e come ho già detto per me è un po complicato capirci. Bisognerebbe che qualcuno mi dicesse quali sono le parti interessate che sono da modificare o da aggiungere.

    Per quanto riguarda la soluzione temporanea suggerita da dreadnaut adesso provo ad inserire la libreria nel sito e vedo se funziona...
    Ultima modifica di gener : 10-02-2022 alle ore 18.35.02

  10. #10
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,998

    Predefinito

    Il link è sempre quello che avvo fornito io nella mia prima risposta:
    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Tutta la documentazione con gli esmpli la trova nel manuale ufficiale di php.
    Nella pagina ci sono tutti i link relativi alle varie funzioni e specifiche di MySQLi_. Ad esempio, se si vuole rimpiazzare mysql_connect() basta andare al link mysqli_connect() (o cercarlo tramite il form di ricerca in alto a sinistra) e c'è tutta la spiegazione con gli esempi.

    Va comunque tenuto presente che è preferibile usare la forma ad oggetti poichè più sicura rispetto a quella procedurale.

    Prendendo come esmepio lo stesso di alemoppo:
    Codice PHP:
    $db = mysql_connect('localhost',$nick,'');
    con la forma ad oggetti di MiSQLi diventa così:
    Codice PHP:
    $db = new mysqli('localhost', $nick, '', 'my_'.$nick);
    Anche in questo caso, vale quanto indicato da alemoppo:
    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Se noti è già inclusa la selezione del database (è il parametro aggiuntivo), quindi puoi eliminare tutto il codice sotto dalla riga 52 alla riga 55 comprese.
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 10-02-2022 alle ore 20.40.44

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

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Va comunque tenuto presente che la forma procedurale non sarà più valida da php 8.0
    Non ero a conoscenza di questa cosa, dove lo hai letto?

    Ciao!

  12. #12
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,998

    Predefinito

    Mi scuso per l'errore, quella frase mi è venuta per sbaglio così, non è quello che volevo scrivere.

    Inizialmente avevo fatto tutto un discorso più lungo dove esponevo anche altri dettagli oltre a quello, ma poi ci ho ripensato nel canellare devo aver fatto confusione. Ora ho corretto.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 10-02-2022 alle ore 20.59.17

  13. #13
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    Ho provato a inserire la libreria suggerita da dreadnaut e mi è successa una cosa strana, almeno secondo me.
    Allora, ho creato un file php denominato [mysql.php] e l'ho inserito nel server insieme agli altri file che compongono tutta la questione. Poi dopo tramite il comando require('mysql.php'); ho incluso questo file in tutti i file che interagiscono con il database, cioè confing.php e funzioni.php.

    Ho aperto la pagina login.php (che era la pagina in cui dava l'errore) ed era tornato tutto come prima, ovvero la pagina di login si vedeva tutta interamente senza la stringa di errore. Quindi ho detto: "Bene, allora funziona". Dopodiché sono passato a fare il test di conferma per confermare che tutto lo script funzionasse correttamente come faceva prima e tale test è andato male, ovvero mi rilasciava questa scritta: Call to undefined function eregi() in /membri/gener/membership/iscrizione.php:104 Stack trace: #0 /membri/gener/membership/indice.php(3): include() #1 {main} thrown in /membri/gener/membership/iscrizione.php on line 104

    Poi dopo ho fatto lo sbaglio di includere il file mysql.php anche nelle due pagine login.php e iscrizione.php perché credevo andesse fatto e quando ho aperto login.php per fare il test era ritornato di nuovo tutto come prima di inserire la libreria, cioè la pagina di login mi dava errore ed era tutto di nuovo scomparso, ritornando tutto come prima. La scritta di errore che mi è apparsa è questa: Cannot redeclare mysql_connect() (previously declared in /membri/testiefficaci/membership/mysql.php:38) in /membri/testiefficaci/membership/mysql.php on line 38
    Boh, a che cosa è dovuta questa cosa? Ho sbagliato qualcosa?. Questa volta come si nota dalla stringa è la riga 38 ad essere incriminata e non più la riga 51. E qui non ci capisco più nulla.

    Per quanto riguarda i suggerimenti di alemoppo ancora non li ho testati. Cercherò di capirci qualcosa ma in questo momento sono sfiduciato.

    P.S: premetto che non ho modificato in nessun file la dicitura del comando Mysql cioè non ho inserito a nessuno la lettera (i) per inserire Mysqli. E' ancora tutto ugule. Non so se il fatto che il test è andato male dipende da questo?
    Ultima modifica di gener : 11-02-2022 alle ore 12.29.16

  14. #14
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,998

    Predefinito

    Cannot redeclare mysql_connect() (previously declared in /membri/testiefficaci/membership/mysql.php:38) in /membri/testiefficaci/membership/mysql.php on line 38
    A parte la riga, l'errore non è lo stesso dell'inizio. Il messaggio dice che c'è più di una dichiarazione per la funzione mysql_connect(), la quale non dovrebbe esserci, quindi restituisce errore.

    L'istruzione include genera solo un avviso (E_WARNING) che consente allo script di continuare.
    L'istruzione require è praticamente come include tranne nel caso di errore, per il quale produrrà un errore di tipo E_COMPILE_ERROR.
    L'istruzione include_once anche esso è simile ad include, l'unica differenza è che se il codice di un file è già stato incluso, non sarà incluso nuovamente e quindi include_once restituirà valore TRUE.

    Ora, fatta la breve spiegazione sopra, per fare un po' di cahiarezza, provi a sostituire l'istruzione require con include_once per caricare il file mysql.php.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 11-02-2022 alle ore 14.36.15

  15. #15
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    GraphOGLRisorse ho provato ad apportare le modifiche da te suggerite e le cose stanno così:
    Allora la pagina di login.php ora si vede tutta e senza la stringa di errore, quindi va bene.
    L'unico problema è che quando vado a fare il test di conferma del funzionamento lo script NON FUNZIONA.
    Mi da questo errore qui: Fatal error: Uncaught Error: Call to undefined function eregi() in /membri/testiefficaci/membership/iscrizione.php:104 Stack trace: #0 {main} thrown in /membri/testiefficaci/membership/iscrizione.php on line 104

  16. #16
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,998

    Predefinito

    La funzione eregi() come ereg(), è stata deprecata in php 5.3 e rimossa in php 7.0. Ovviamente nella libreria mysql.php non è presente un rimpiazzo per tale funzione che non centra con MySQL.

    Può essere usata al suo posto preg_match(), quindi può provare aggiungedo il seguente rimpiazzo.
    Codice PHP:
    function eregi($pattern,$string) {
    return
    preg_match('/'.$pattern.'/i', $string);
    }
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 11-02-2022 alle ore 15.54.04

  17. #17
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    E dove dovrei aggiungere questa cosa? In quali file?

  18. #18
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,998

    Predefinito

    Citazione Originalmente inviato da gener Visualizza messaggio
    Fatal error: Uncaught Error: Call to undefined function eregi() in /membri/testiefficaci/membership/iscrizione.php:104 Stack trace: #0 {main} thrown in /membri/testiefficaci/membership/iscrizione.php on line 104
    Il dove serve, lo indica il messaggio di errore. C'è una chiamata della funzione eregi() alla riga 104 del file Quindi lo può mettere all'inizio del codice php del file iscrizione.php.

    Se tale funzione viene caricata anche dal codice di altri file, io non posso saperlo, questo può vederlo/verifcarlo solo lei. In tal caso, sarebbe forse meglio includere la funzione omonima di rimpiazzo per eregi(), in un file php da caricare all'occorenza, invece di replicare per ogni file dove vi è un a chiamata a tale funzione.

    Cordial saluti.
    Ultima modifica di GraphOGLRisorse : 11-02-2022 alle ore 18.05.22

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

    Predefinito

    Ottimo che la libreria abbia risolto, anche solo temporaneamente, il problema.

    Occhio però che testiefficaci non sembra seguire il regolamento di AlterVista. Magari è temporaneo, ma lo menziono in caso ti sia sfuggito:
    4.14 Ogni Sito deve essere pienamente accessibile e navigabile dall'url ad esso assegnato.
    Ultima modifica di dreadnaut : 11-02-2022 alle ore 22.20.20

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

    Predefinito

    eregi è utilizzata nel file iscrizione.php riga 41. È utilizzata per verificare la correttezza della email.

    Quindi sostituisci:
    Codice PHP:
    if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email']))
    Con, ad esempio:
    Codice PHP:
    if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
    Ciao!

  21. #21
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    Ottimo! Ora va bene e funziona tutto. Ho ripristinato tutto l'intero funzionamento proprio come era prima.
    Ci sono riuscito seguendo il suggerimento di alemoppo e modificando la riga 41. Il suggerimento di
    GraphOGLRisorse però non lo inserito. Ho fatto solo la modifica di alemoppo.

    Che cosa devo fare, devo inserire anche il pezzo di riga di "GraphOGLRisorse" all'inizio dello script php della pagina iscrizione.php? Oppure visto che funziona tutto lascio perdere e vado avanti solo con la modifica di alemoppo?

    Ora però, visto che questa soluzione è temporanea arriva la parte del portare lo script ad essere conforme ai nuovi parametri delle odierne versioni php. Ci lavorerò tra oggi e domani e poi Lunedì vi farò sapere, ma se vi devo dire la mia non sono per niente fiducioso, perché spulciando un po qua e la nelle pagine della procedura MSQLi forma oggetti non ci ho capito molto su cosa devo fare. Ma comunque ci provo lo stesso...

  22. #22
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,998

    Predefinito

    Citazione Originalmente inviato da gener Visualizza messaggio
    Che cosa devo fare, devo inserire anche il pezzo di riga di "GraphOGLRisorse" all'inizio dello script php della pagina iscrizione.php? Oppure visto che funziona tutto lascio perdere e vado avanti solo con la modifica di alemoppo?
    Il codice che avevo indicato io era in termini di un uso generico, se non le serve altrove può non prenderlo in considerazione. Per la verifica dell'email basta il codice sostitutivo che le ha indicato alemoppo.

    Citazione Originalmente inviato da gener Visualizza messaggio
    Ora però, visto che questa soluzione è temporanea arriva la parte del portare lo script ad essere conforme ai nuovi parametri delle odierne versioni php. Ci lavorerò tra oggi e domani e poi Lunedì vi farò sapere, ma se vi devo dire la mia non sono per niente fiducioso, perché spulciando un po qua e la nelle pagine della procedura MSQLi forma oggetti non ci ho capito molto su cosa devo fare. Ma comunque ci provo lo stesso...
    Fa bene a volerci provare per il momento da se, poi se dovesse trovare qualche intoppo, può sempre chiedere qui sul forum.

    Buon lavoro!

    Cordiali saluti.

  23. #23
    gener non è connesso Utente AlterBlog
    Data registrazione
    13-05-2019
    Messaggi
    13

    Predefinito

    Ragazzi io ho provato a studiare un po' la pagina con gli esempi e le procedure, ma gli esempi e gli script sono troppi da vagliare. Insomma non ci capisco molto e la cosa mi crea più confusione di quella che già ho.

    Avrei bisogno di sapere quali sono gli script che devo prendere in considerazione per risolvere il problema, perché se mi metto a vagliare tutti gli esempi che ci sono lì nella pagina di procedura vado nel pallone e mi perdo.

    Poi li nelle procedure c'è scritto che per capirci qualcosa si devono avere una certa familiarità con il linguaggio di programmazione PHP, il linguaggio SQL e la conoscenza di base del server MySQL, cosa che io non ho.

    Quindi, vi chiedo: come si deve procedere in questi casi?
    O decido di non usare più lo script di alemoppo (cosa che mi dispiacerebbe molto perché ho tutta la struttura, i codici e le pagine già preparate, e mi ci è voluto un sacco di tempo/lavoro per crearli, soprattutto considerando che non sono un epserto e che ho dovuto penare non poco per far funzionare il tutto.

    Oppure devo cercare un altro script più moderno e all'avanguardia che funziona con queste nuove versioni di php (php7 o php8). Se si decide per questa seconda opzione vi chiedo se avete qualche idea o qualche script da consigliarmi che vada bene per queste nuove versioni di php? Grazie
    Ultima modifica di gener : 15-02-2022 alle ore 17.31.28

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

    Predefinito

    Aggiustare uno script di questa complessità purtroppo richiede dimestichezza, ed al tempo stesso è poco interessante — non attrae quindi lo sviluppatore di passaggio, che lo aggiusterebbe come passatempo.

    A questo punto mi vengono in mente due soluzioni:
    - paghi qualcuno perché lo aggiorni
    - trovi un sistema alternativo.

    Non avendo visto il tuo sito (gener non funziona, testiefficaci sembra vuoto), non riesco a farmi un'idea di quali siano i tuoi requisiti. Ma quello è il punto da cui partirei: quali problemi vuoi risolvere con un sistema di login? In base a quello, ci sono script o applicativi che si possono considerare come alternative.

Tags for this Thread

Regole di scrittura

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