Problèmes après un changement de version de php
Résolu
cocodu67...
Messages postés
3178
Date d'inscription
Statut
Membre
Dernière intervention
-
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai vu que je suis encore en PHP 5.5 chez mon hébergeur et j'ai alors voulu faire le grand saut vers la 7.1 mais des choses ne fonctionnent plus.
Si besoin le retour en arrière est possible mais j'aurais bien aimé une version récente de PHP ...
Voici quelques trucs utilisés sur la page de connexion qui ne fonctionne plus:
Et voici quelques trucs:
https://prnt.sc/eao719
Savez vous ce qui n'est plus compatible avec PHP 7.1 ? J'ai beau chercher pas moyen de trouver ...
Merci d'avance
---------------
Edit, sur Google Chrome c'est un peu mieux car au lieu d'afficher un bout de la page et de rester bloqué, ça me met ça:
Probleme temporaire detecte.
Le contenu n'a pas pu etre affiche : pas de panique.
Nous vous invitons a simplement rafraichir la page web ou a patienter quelques instants.
Vous gerez ce site internet ? Plusieurs causes sont possibles : la ressource appelee n'est pas disponible ou une surcharge est presente sur votre espace d'hebergement.
PowerBoost Server
J'ai vu que je suis encore en PHP 5.5 chez mon hébergeur et j'ai alors voulu faire le grand saut vers la 7.1 mais des choses ne fonctionnent plus.
Si besoin le retour en arrière est possible mais j'aurais bien aimé une version récente de PHP ...
Voici quelques trucs utilisés sur la page de connexion qui ne fonctionne plus:
if (isset($_POST['submit']))
include
Securite::NettoyerChaine($chaine)(bien sûr le include du fichier avec la class et la fonction se trouve avant)
if(ctype_alnum($i_denti_fiant)!=true)
if(strlen($i_denti_fiant)>16)
count($resultat_recherche_mdp_site)
try { $req_recherche_mdp_site = $pdo_comptes_jou->prepare('SELECT Mdp1, ConnexionAutorisee FROM Comptes WHERE PlayerID = BINARY :ID;'); $req_recherche_mdp_site->bindParam(':ID', $i_denti_fiant, PDO::PARAM_STR, 16); $req_recherche_mdp_site->execute(); $resultat_recherche_mdp_site = $req_recherche_mdp_site->fetchAll(); } catch (Exception $e) { echo "<center>Erreur lors de l'inscription, veuillez nous contacter</center><br/><br/>"; }
$maintenant = new DateTime();
$date_recuperee = new DateTime($resultat_recherche_dernieres_connexions[$i][0]);
$difference = $maintenant->diff($date_recuperee)->format('%d');
$timespam = date("Y-m-d H:i:s");
$IP = $_SERVER['REMOTE_ADDR'];
$hote = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$ProxyHote = 'Proxy : ' . $_SERVER['HTTP_X_FORWARDED_FOR'] . ' - Hôte : ' . $hote;
$chaine= str_replace('(', '', $chaine);
$_GET['redi']
$_SESSION['nbressaisJ']
echo "<meta http-equiv='refresh' content='0;url=index.php' />";
Et voici quelques trucs:
https://prnt.sc/eao719
Savez vous ce qui n'est plus compatible avec PHP 7.1 ? J'ai beau chercher pas moyen de trouver ...
Merci d'avance
---------------
Edit, sur Google Chrome c'est un peu mieux car au lieu d'afficher un bout de la page et de rester bloqué, ça me met ça:
Probleme temporaire detecte.
Le contenu n'a pas pu etre affiche : pas de panique.
Nous vous invitons a simplement rafraichir la page web ou a patienter quelques instants.
Vous gerez ce site internet ? Plusieurs causes sont possibles : la ressource appelee n'est pas disponible ou une surcharge est presente sur votre espace d'hebergement.
PowerBoost Server
A voir également:
- Problèmes après un changement de version de php
- Changer de dns - Guide
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Splitcam ancienne version - Télécharger - Messagerie
- Version gratuite de word - Guide
- Connaitre sa version de windows - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, tes trucs sont peu clairs: pourquoi ne pas nous montrer l'ensemble de ton code? et nous décrire ce que tu observes quand tu appelles la page?
Bonjour,
Pour ce qui est des REQUIRE .. ils sont compatibles avec php7.
Si ça te génère des erreurs .. c'est simplement que le chemin vers les fichiers est erroné.
Une page blanche reflète des erreurs dans ton code. (des require en echec par exemple... mais pas que ! )
Pour coder proprement tu dois impérativement afficher TOUTES les erreurs PHP (sur tes différentes pages pour être sûr...)
Pour se faire, on utilise les lignes de code suivante (qu'on place en début de code)
Et comme tu sembles utiliser le PDO pour te connecter à ta BDD ... penses également à activer la gestion des erreurs pdo : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Bien entendu.. toutes les instructions (issues de l'ancienne techno mysql (tel que : mysql_escape_string et donc TOUTES les instrucction mysql_* ) sont à proscrire !
Je ne sais pas si quelqu'un a compris ce paragraphe mais en résumé, si vous avez une page blanche, qui n'est plus blanche en retirant un include, vérifiez les pages auxquelles fait appel la page que vous avez mis en include.
Pour ce qui est des REQUIRE .. ils sont compatibles avec php7.
Si ça te génère des erreurs .. c'est simplement que le chemin vers les fichiers est erroné.
Une page blanche reflète des erreurs dans ton code. (des require en echec par exemple... mais pas que ! )
Pour coder proprement tu dois impérativement afficher TOUTES les erreurs PHP (sur tes différentes pages pour être sûr...)
Pour se faire, on utilise les lignes de code suivante (qu'on place en début de code)
error_reporting(E_ALL); ini_set('display-errors','on');
Et comme tu sembles utiliser le PDO pour te connecter à ta BDD ... penses également à activer la gestion des erreurs pdo : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Bien entendu.. toutes les instructions (issues de l'ancienne techno mysql (tel que : mysql_escape_string et donc TOUTES les instrucction mysql_* ) sont à proscrire !
Bonjour,
J'étais pourtant persuadé que tout fonctionnait très bien avec les include et require_once. Cependant j'avais peut être effectué une modification dans les fichiers sur mon PC que je n'ai pas transférée sur le FTP du coup lots de l'upload je l'ai à peine remarqué. En tout cas ça fonctionne à présent.
Merci pour le bout de code, cela me sera certainement très utile.
Bonne journée
J'étais pourtant persuadé que tout fonctionnait très bien avec les include et require_once. Cependant j'avais peut être effectué une modification dans les fichiers sur mon PC que je n'ai pas transférée sur le FTP du coup lots de l'upload je l'ai à peine remarqué. En tout cas ça fonctionne à présent.
Merci pour le bout de code, cela me sera certainement très utile.
Bonne journée
J'y ais passé toute mon après midi mais j'ai trouvé ...
Dans la page où se trouve la fonction NettoyerChaine j'utilisais mysql_escape_string qui n'existe plus dans PHP 7.
J'utilisais aussi sql_regcase qui n'existe plus.
Et pour finir j'ai dû remplacer quelques require_once par des include (ça j'ai pas compris mais bon ...).
J'ai aussi découvert un autre soucis.
Par exemple si dans la page /toto/partie/gerercomptes/index.php je fais appel à une fonction verif() qui se trouve dans /toto/partie/verifier.php cela ne fonctionne pas si dans la page verifier.php j'ai include(../fonction.php) qui se trouve dans /toto/fonction.php et je suis alors obligé de faire include(../../fonction.php) alors qu'avant je n'avais pas ce problème, je pouvais faire appel à un fichier qui se trouve dans un répertoire avant celui où je suis qui lui même fait appel à un fichier qui se trouve dans le répertoire encore avant.
Je ne sais pas si quelqu'un a compris ce paragraphe mais en résumé, si vous avez une page blanche, qui n'est plus blanche en retirant un include, vérifiez les pages auxquelles fait appel la page que vous avez mis en include.
Pour une fois que je voulais coder correctement sans dupliquer de code :P
Bonne soirée^^