Problème lors de l'upload de mon site
Ferméjordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 29 août 2022 à 09:35
- Problème lors de l'upload de mon site
- Site de telechargement - Guide
- Site de vente entre particulier - Guide
- Site inaccessible - Guide
- Site de partage de photos - Guide
- Darkino site - Guide
8 réponses
25 août 2022 à 17:04
Bonjour,
Pour pouvoir t'aider .. il faudrait déjà nous montrer le code PHP utilisé.
(en utilisant l'icone dans la barre qui permet de poster du code correctement sur le forum... )
Bonjour Jordane,
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <!--NavBar --> <div class="topnav"> <a class="active">Table des risques</a> <a href="Login.php">Connexion Administrateur</a> <a href='EnglishVersion.php' style='float:right;'><img src="" width="17"/></a> <a href='FrenchVersion.php' style='float:right;'><img src="" width="17"/></a> </div> <div class='container'> <table> <tr> <td style='border: 1px solid #ffffff;color:#ffffff'> ............................. </td> <td style='border: 1px solid #ffffff;width:70%'> <h2 align='center'>Table des risques</h2> </td> <td style='float:right;border: 1px solid #ffffff;'> <?php echo "Bonjour1"; $link = mysqli_connect("addresseip", "utilisateur", "mdp", "bdd", "port"); echo "Bonjour 2"; $NombreDeRisquesTotal = 'SELECT COUNT(*) FROM risque'; $ResultNbRisques = mysqli_query($link, $NombreDeRisquesTotal); if (mysqli_num_rows($ResultNbRisques) > 0) { while ($rowData = mysqli_fetch_array($ResultNbRisques)) { echo "<h3 align='center'>Risques enregistrés : " . $rowData[0] . "<h3>"; } } ?> </td> </tr> </table> </div> </body> </html>
Voila à quoi ressemble le bout de code qui te manque.
Pour ce qui est de la connexion, je suis sur à 100% que je rentre les bons parametre dedans, puisque quand je teste sur mon pc en local, avec ces parametre là, la page me ressort bien ce que je veux comme données. Je pense que le problème vient du serveur mais je m'y connais pas et ne sais donc pas quoi regarder... Soucis de version peut etre ? Mais quoi dans ce cas ?
Modifié le 25 août 2022 à 17:56
Pour ce qui est de la connexion, je suis sur à 100% que je rentre les bons parametre dedans, puisque quand je teste sur mon pc en local, avec ces parametre là, la page me ressort bien ce que je veux comme données.
En local .. tu as certainement utilisé comme host : localhost, comme user : root et aucun password ( ou alors root aussi )
Mais.. les informations ne sont pas celles là sur ton hébergement.
Il faut voir avec ton hébergeur, quelles sont les informations à utiliser pour accéder à la bdd.
Pour voir les éventuelles erreurs à la connexion, tu devrais utiliser le code sous cette forme
$link = mysqli_connect("addresseip", "utilisateur", "mdp", "bdd", "port"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); exit(); }
Je t'invite fortement également à activer l'affichage des erreurs PHP sur ton site et à suivre les recommandations fournies dans ce lien : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Re,
On ne s'est pas compris, lorsque je teste mon fichier de code en local sur mon PC, et que je lui demande de se connecter à la base de donnée en ligne (qui n'est pas "localhost", mais une adresse ip : 10.blablablabla.blablabla.ect, avec un utilisateur que je connais, un mdp que je connais, un nom de base que je connais, et le port que je connais), la page marche parfaitement, elle me ressort les données que je veux, sans rien chercher en local sur mon PC vu que je me connecte à la base qui est hébergée.
Le problème survient lorsque je prends ce même fichier de code, et que je le mets en ligne. Le code s'arrete à la connexion à la meme base (je n'ai rien changé), alors que ca devrait fonctionner.
Je ne sais pas si c'est plus clair pour toi, sinon n'hésite pas
Merci beaucoup de m'aider par ailleurs !
25 août 2022 à 18:10
Quoi qu'il en soit, il serait bien d'utiliser le code que je t'ai donné ainsi que d'appliquer ce qu'il y a dans le lien.
ça devrait te permettre d'obtenir une explication sur le souci rencontré.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe viens de tester en ajoutant le bout de code avec la gestion d'erreur, aucune erreur n'est rapportée.
Voici ce que j'obtient sur mon lorsque le code PHP est sur mon PC, avec ton morceau de code :
Voici ce que j'obtient lorsque meme code PHP est upload sur le serveur et que tout le monde y a accès :
C'est comme si il n'essayait meme pas de faire la connexion à la base...
Je te remets le code au cas ou, mais c'est le meme avec juste ce que tu m'as dit d'ajouter en plus
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <!--NavBar --> <div class="topnav"> <a class="active">Table des risques</a> <a href="Login.php">Connexion Administrateur</a> <a href='EnglishVersion.php' style='float:right;'><img src="" width="17"/></a> <a href='FrenchVersion.php' style='float:right;'><img src="" width="17"/></a> </div> <div class='container'> <table> <tr> <td style='border: 1px solid #ffffff;color:#ffffff'> ............................. </td> <td style='border: 1px solid #ffffff;width:70%'> <h2 align='center'>Table des risques</h2> </td> <td style='float:right;border: 1px solid #ffffff;'> <?php $link = mysqli_connect("10.219.XX.XX", "devXX", "#2sXXXX", "analyse_XXXXX", "42XX"); if(mysqli_connect_errno()){ echo mysqli_connect_error(); } $NombreDeRisquesTotal = 'SELECT COUNT(*) FROM risque'; $ResultNbRisques = mysqli_query($link, $NombreDeRisquesTotal); if (mysqli_num_rows($ResultNbRisques) > 0) { while ($rowData = mysqli_fetch_array($ResultNbRisques)) { echo "<h3 align='center'>Risques enregistrés : " . $rowData[0] . "<h3>"; } } ?> </td> </tr> </table> </div> </body> </html>
PS : Tu peux voir ici que je me connecte bien à une base en ligne, j'ai volontairement remplacé une partie des chiffres et des lettres par des "X", sinon c'est comme si je mettais les mdp en ligne :)
25 août 2022 à 18:25
Je ne vois pas dans ton code, l'activation de l'affichage des erreurs PHP.
Je pense également que tu n'as pas regardé le lien que je t'avais donné expliquant qu'il est préférable de placer le maximum de code PHP en dehors du HTML, de préférence, au début du script.
Chez quel hébergeur as-tu mis ton site ?
As-tu essayé de remplacer l'adresse IP par localhost car si ton script PHP se trouve sur le même serveur que ta base de données c'est en général cette information là qu'on utilise.
Peux-tu également m'indiquer quel est le nom de ton fichier ? Plus particulièrement l'extension de celui-ci ?
Quand tu parles d'affichage des erreurs, ca correspond pas à la ligne 35 ? "echo mysqli_connect_error();" ?
Je vois pas trop comment je peux placer mon code PHP autre part que là ou il est, vu qu'il echo une valeur dans une case d'un tableau
J'ai pas hébergé le site moi meme, c'est un serveur interne d'une entreprise dans laquelle je travaille. Je vais essayer de remplacer par localhost et voir ce que ca donne mais ca m'étonnerais, le site et la base de donnée ont pas la meme adresse ip
Le fichier s'appelle FrenchVersion.php, que ce soit sur mon pc, ou quand il est hébergé il a le meme nom
Merci pour tout
25 août 2022 à 19:00
Quand tu parles d'affichage des erreurs, ca correspond pas à la ligne 35 ? "echo mysqli_connect_error();" ?
Le fait que tu me poses la question prouve que tu n'as pas été lire le lien que je t'ai donné....
Je te le redonne donc : : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Je vais essayer de remplacer par localhost et voir ce que ca donne mais ca m'étonnerais, le site et la base de donnée ont pas la meme adresse ip
Là encore, tu n'as pas du lire ce que je t'ai écrit...
As-tu essayé de remplacer l'adresse IP par localhost car si ton script PHP se trouve sur le même serveur que ta base de données
Et pour :
Je vois pas trop comment je peux placer mon code PHP autre part que là ou il est, vu qu'il echo une valeur dans une case d'un tableau
Par exemple :
<?php //affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd $link = mysqli_connect("10.219.XX.XX", "devXX", "#2sXXXX", "analyse_XXXXX", "42XX"); if(mysqli_connect_errno()){ echo "Erreur de connexion : " . mysqli_connect_error(); exit; } //récucupération des risques $NombreDeRisquesTotal = 'SELECT COUNT(*) FROM risque'; $ResultNbRisques = mysqli_query($link,$NombreDeRisquesTotal); //on vérifie que la requête n'a pas retournée d'erreur if ( !empty(mysqli_error($link)) ){ echo("Erreur sql : " . mysqli_error($link)); exit; } ?> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <!--NavBar --> <div class="topnav"> <a class="active">Table des risques</a> <a href="Login.php">Connexion Administrateur</a> <a href='EnglishVersion.php' style='float:right;'><img src=""" width="17"/></a> <a href='FrenchVersion.php' style='float:right;'><img src=""" width="17"/></a> </div> <div class='container'> <table> <tr> <td style='border: 1px solid #ffffff;color:#ffffff'> ............................. </td> <td style='border: 1px solid #ffffff;width:70%'> <h2 align='center'>Table des risques</h2> </td> <td style='float:right;border: 1px solid #ffffff;'> <?php if (mysqli_num_rows($ResultNbRisques) > 0) { while ($rowData = mysqli_fetch_array($ResultNbRisques)) { echo "<h3 align='center'>Risques enregistrés : " . $rowData[0] . "<h3>"; } } ?> </td> </tr> </table> </div> </body> </html>
Salut Jordane,
Bon, plusieurs bonnes et mauvaises nouvelles :
La bonne, tu avais raison pour la gestion d'erreur, maintenant au moins ca m'affiche quelque chose : le voici
Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/BEMeca/test.php:164 Stack trace: #0 {main} thrown in /var/www/html/BEMeca/test.php on line 164
Mauvaise nouvelle : je comprends pas ce que ca veut dire... C'est comme si mysqli etait pas reconnu sur le serveur
Je croyais que mysli etait dispo d'origine depuis php 5.5, mais du coup si il me renvoie cette erreur ca veut dire que le mec qui a configuré le serveur a mis une version encore plus ancienne ?
Merci d'avance à tous, mais surtout merci à toi Jordane
26 août 2022 à 10:37
Fais un phpinfo dans un fichier php et regarde ce que ça te dit au niveau de la version php
26 août 2022 à 10:44
Je viens de regarder, et je suis sur la version 7.2.24 de PHP, est ce que vous savez si mysqli doit etre téléchargé à part ?
26 août 2022 à 10:59
Toujours dans le phpinfo, regarde si l'extension mysqli est installée et activée
Salut à tous,
Je ne vois pas MySQLI dans le phpinfo, de plus lorsque je fais la commande "php -m", MySQLI n'apparait pas dans les modules listés
Je suppose que ca veut dire que MySQLI n'est pas installé sur le serveur ? Qu'est ce que je dois faire dans ce cas ?
Merci beaucoup !
29 août 2022 à 09:35
Soit tu as la main pour installer l'extension manquante, soit tu passes par PDO