Probleme d'execution des requetes avec -> [Résolu/Fermé]

Signaler
-
 Ben -
Bonjour à tous.

Je débute en Web et j'essaie de protéger une base de données MySQL avec des identifiants.

Mon probleme est lors de l'ouverture de mon fichier php. En gros le navigateur affiche TOUT le code qui se trouve après le premier ->
(comme si cette flèche lui disait à partir de là, c'est echo "le reste").

Navigateur: Mozilla 27.0.1

Code:

<?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
..... //plein d'autres commandes
?>

Et dans cette exemple, il affiche:

getMessage());}..... //plein d'autres commandes?>

Voilà, problème de navigateur? Module particulier à installer?

Merci à tous!

9 réponses

Messages postés
200
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 mai 2014
10
C'est une exception généré par la création de l'objet PDO qui le gêne.
Si tu faisait le code ci dessous tant que le new n'est pas correctement créé tu ne continue pas le code
<?php
try{
   $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
   //plein d'autres commandes
}
catch (Exception $e){
   echo 'Erreur : ' . $e->getMessage();
}
?>
Bonjour

Je pense que le premier > est pris comme la fin de la balise <?php parce que ton script est traité comme une simple page HTML et pas comme un script PHP.
Ton fichier a-t-il une extension en .php ?

Et, si tu fais les essais en local, le PHP est-il bien installé sur ton PC (Wamp ou easyphp ou autre) et accèdes-tu bien à ta page en tapant une url du style http://localhost... ou http://127.0.0.1 ... ?
Bonjour,

Merci de ta réponse. Depuis j'ai repris le code dans sa totalité, et maintenant je n'ai plus l'erreur, mais je ne saurais pas pourquoi cela ne marchait pas :/

Cependant j'ai une nouvelle erreur: page blanche. Le code a beau être validé dans un tuto assez récent, c'est page blanche une fois le formulaire rempli. Aucun echo ne fonctionne, rien.

Je travail avec wamp, php est bien installé et j'accède à ma page via le localhost.
Messages postés
2431
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
28 juillet 2021
453
Salut,

Dans le fichier php.ini modifie ces deux lignes :

error_reporting = E_ALL

display_errors = On

Cela permet d'activer le rapport d'erreurs et de les afficher dans ton navigateur.

Bonne journée

Peux-tu montrer le code ?
Merci pour vos réponses.

Le fichier php.ini est déjà configuré comme ça, je l'avais lu sur un forum, du coup je l'ai laissé ainsi, mais pas d'erreur affichée.

Pour le code j'ai suivi à la lettre près ce tuto:

http://www.evain.info/formation/PHP_Authentification_Site_Web.pdf

la seule information qui change c'est le mot de passe et le nom de la base. Et j'ai vérifié plusieurs fois, pas de faute de frappe.

Cette page blanche c'est bizarre, y'a pas une erreur, rien...

Tu utilises les balise <?php ou <?
Car si ton serveur n'est pas configuré pour les balises courtes, ça ne va pas marcher avec <?
Messages postés
2431
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
28 juillet 2021
453
Vu l'erreur de ton premier, c'est p-e un problème de l'interprétation de php. Essaye de lancer un fichier simple pour vérifier que le problème ne vienne pas de là :
test.php
<?php
echo 'hello world !';
?>


Dans le tuto, l'auteur utilise les shorts tags
<? ?>
qui ne fonctionnent pas sur tous les serveurs (notamment avec wamp il me semble).
Prend l'habitude de toujours utiliser les tags
<?php ?>
pour encadrer ton code php.

Ces deux erreurs pourraient expliquer le fait qu'aucune erreurs n'est affichés (car le serveur ne comprend pas qu'il s'agit de code php). Si ce n'est pas le cas, malgré que ton fichier php.ini semble bien configuré pour afficher les erreurs, tu peux vérifier dans le fichier error_log (ou error.log) de Apache si tes erreurs php sont enregistrées dedans.
... c'etait les balises <? qui posaient un premier problème. Maintenant c'est bon, bien qu'il y ait encore des erreurs, que je vais m'efforcer de résoudre seul, elles s'affichent.

Merci beaucoup à vous d'avoir pris le temps de me répondre!