IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur en PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 38
    Par défaut Erreur en PHP
    Bonjour à tous.
    Débutant en PHP
    Là actuellement, j'apprends le MVC et je ne comprends pas la raison de mes erreurs

    Notice: Undefined variable: cnx in C:\wamp64\www\Exercices\index.php on line 4

    et Fatal error: Call to a member function prepare() on null in C:\wamp64\www\Exercices\model.php on line 6


    fichier cnx.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php 
    $dsn='mysql:host= localhost;dbname=mvc;charset=utf-8';
    $user='root';
    $pass='';
     
           try
        {
            $cnx = new PDO($dsn, $user, $pass);
        }
        catch(Exception $e)
        {
            echo'Un probleme est survenue';
        }
     
     
     
     ?>




    fichier model.php


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     <?php 
     
      function AfficherTout($cnx){ 
     
      $sql='SELECT * FROM contact';
      $req= $cnx->prepare($sql);
      $req->execute();
     
      return $req;
     
     
      }


    fichier index.php


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     <?php
    	 include('cnx.php');
    	  include('model.php');
    	  $req=AfficherTout($cnx);
    	   include('view.php');


    fichier view.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <!doctype html>
    <html lang="fr">
    <head>
      <meta charset="utf-8">
      <title>Titre de la page</title>
      <link rel="stylesheet" href="style.css">
     <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <body>
     
      <div class='box'> 
      <h1> Listes des contactes</h1>
      <ol>   
      <?php
      while(data = $req->fetch(PDO::FETCH_ASSOC)){
    	  ?>
    	  <li><?= ucfirst($data['prenom']); ?><?= ucfirst($data['nom']); ?></li>
            <?php
    	  }
    	  ?>
     
     
     
      </ol>
     
     
     
      </div>
     
     
    </body>
    </html>
    .fichier style.css

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    box{
    	 width:40px;
    	 margin:auto;
    	 font-family:arial;	 
    	 font-size:16px;
     
     }

    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    cnx.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dsn='mysql:host= localhost;dbname=mvc;charset=utf-8';
    Il y a une espace à supprimer devant localhost

    Généralement il vaut mieux ne pas mettre de "?>" dans les fichiers contenant uniquement du PHP, on évite ainsi les mauvaises surprises en cas de caractères blancs qui suivraient

    Si le problème persiste fait un var_dump($cnx)

    model.php : ràs

    index.php : idem, ajoute un var_dump($cnx) si le problème persiste

    view.php :

    Dans ton while, tu utilises data et non $data

    Astuce, quand tu places du PHP dans du HTML, utilise plutôt la syntaxe alternative des structures de contrôle, ça augumente la lisibilité, ex. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ol>
        <?php while ($data = $req->fetch(PDO::FETCH_ASSOC)): ?>
            <li><?= ucfirst($data['prenom']) ?> <?= ucfirst($data['nom']) ?></li>
        <?php endwhile ?> 
    </ol>
    https://www.php.net/manual/fr/contro...ive-syntax.php

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 38
    Par défaut
    Merci pour ta réponse.
    Cela fonctionne. J'ai suivi ce que tu m'as dit et modifier le le charset utf-8 en utf8 et cela fonctionne
    Au top

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur sous PHP MyAdmin (PMA database?)
    Par Matlight dans le forum Installation
    Réponses: 5
    Dernier message: 28/10/2010, 19h38
  2. Message d'erreur page PHP et MySQL
    Par littlesnoopy dans le forum Installation
    Réponses: 6
    Dernier message: 19/01/2007, 10h25
  3. [Upload] AFFICHAGE ERREUR upload.php
    Par cherifa dans le forum Langage
    Réponses: 1
    Dernier message: 17/09/2006, 15h29
  4. aider à corriger une erreur de php
    Par LeYouss dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2006, 18h04
  5. Erreur en PHP
    Par rane dans le forum Langage
    Réponses: 8
    Dernier message: 27/04/2006, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo