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 :

Message d'erreur page de modification article formulaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut Message d'erreur page de modification article formulaire
    Bonjour,

    J'ai le message d'erreur php suivant pour une page de modification d'articles en lien avec la base de données:
    - Undefined variable,
    - Call to a member function query() on null,

    Voici mon code:
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <?php
    		  $login = "philippe";
              $motdepasse = "Phil-2016";
    		    if(isset($_POST["Envoyer"])) {
    		      if((($_POST["login"])==$login)&&(($_POST["mot-de-passe"])==$motdepasse))				
                    {
     
    		// définition des constantes de connexion
    		define ('IDENTIFIANT',"root");
    		define ('MDP',"");
    		define ('SERVEUR',"localhost");
    		define ('BDD',"test");
     
    		//Connexion au serveur
    		$connexion = mysqli_connect(SERVEUR, IDENTIFIANT, MDP);
     
    		if(isset($_POST["modifier"])){
    		$requete = "UPDATE donnees set message'" . $_POST['message'] ."' "
    		. ", login='" . $_POST['login'] ."' "
    		. ", sujet='" . $_POST['sujet'] ."' "
    		. ", telephone='" . $_POST['telephone'] ."' "
    		. " where email ='" . $_POST['email'] ."'";
    		$resultat = $mysqli->query($requete, $connexion);
    		if ($resultat) {
    			echo "Erreur dans l'exécution de la requete.";
    			echo "Le message d'erreur est : " . mysqli_error($connexion);
                                       }
    		                                          }
     
    		//récupération de tous les enregistrements de la table
    		$resultat = $mysqli->query("select * from donnees order by login");
    		if ($resultat) {
    		echo "<p>Liste des utilisateurs </p>";
     
    		//nb de lignes contenu dans résultat
                    $nbutilisateurs = mysqli_num_rows ($resultat);
     
                    echo "<table border='1'>\n";
    		echo "<tr>\n";
    		echo "<td><p>Titre de l'article</p></td>";
                    echo "<td><p>Catégorie de l'article</p></td>";
    		echo "<td><p>Date de la dernière modification de l'article</p></td>";
    		echo "<td><p>Login de la personne ayant modifié l'article</p></td>";
    		echo "</tr>\n";
     
     
    		while ($utilisateurs = $resultat->fetch_array())
    		{
    		echo "<tr>\n";
    		echo "<td>".$utilisateurs['login']. "</td>\n";
                    echo "<td>".$utilisateurs['sujet']. "</td>\n";;
    		echo "<td>".$utilisateurs['telephone']. "</td>\n";
    		echo "<td>".$utilisateurs['message']. "</td>\n";
    		echo "<td><ahref='articlemodif.php?email=" .$utilisateurs['email']."'>modifier</a></td>\n";
    		echo "</tr>\n";	
    		}
    		echo "</table>\n";						
    				}
    			}
    			}
    		?>
    L'erreur vient de cette ligne: $resultat = $mysqli->query("select * from donnees order by login");
    Je vois ce que les erreurs veulent dire mais c'est pas pour autant que je trouve. Je suis débutante en php. Pourriez-vous me donner votre avis?
    Merci d'avance

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Il manque la variable de $connexion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $resultat = $mysqli->query("select * from donnees order by login", $connexion);
    Vous avez aussi conscience que ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $requete = "UPDATE donnees set message'" . $_POST['message'] . "' "
                    . ", login='" . $_POST['login'] . "' "
                    . ", sujet='" . $_POST['sujet'] . "' "
                    . ", telephone='" . $_POST['telephone'] . "' "
                    . " where email ='" . $_POST['email'] . "'";
                $resultat = $mysqli->query($requete, $connexion);
                if ($resultat) {
                    echo "Erreur dans l'exécution de la requete.";
                    echo "Le message d'erreur est : " . mysqli_error($connexion);
                }
    Vous dite, que si la requêtes est ok, alors affiche une erreur ?

  3. #3
    Membre averti
    Femme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 18
    Par défaut Re
    Effectivement, la condition est complètement incohérente. Mais même en la supprimant et en rajoutant la variable de connexion, j'ai toujours une erreur de syntaxe à ce niveau.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    P***** je suis c**........


    Vous utilisez le procédurale et non l'objet, de plus cette une fonction et non pas une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $resultat = mysqli_query( $connexion,"select * from donnees order by login");
    voila qui devrait être beaucoup mieux.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    comme te l'a si poétiquement dit MaitrePylos, tu mélanges les 2 syntaxes : "procédurale" et "orienté objet".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		$connexion = mysqli_connect(SERVEUR, IDENTIFIANT, MDP);
    ...
    		$resultat = $mysqli->query($requete, $connexion);
    ...
    		echo "Le message d'erreur est : " . mysqli_error($connexion);
    Il faut choisir l'une ou l'autre, sachant qu'en "procédural", il faut généralement ajouter la $connexion en paramètre
    -> VÉRIFIER la syntaxe de chaque fonction.

    Donc ici, on aurait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		$resultat = mysqli_query($connexion, $requete);

Discussions similaires

  1. Message d'erreur à l'ouverture d'un formulaire
    Par florian04 dans le forum IHM
    Réponses: 6
    Dernier message: 04/06/2008, 08h10
  2. Réponses: 12
    Dernier message: 27/09/2007, 08h33
  3. message d'erreur avant la soumission du formulaire
    Par ramzos82 dans le forum Struts 1
    Réponses: 2
    Dernier message: 01/05/2007, 13h28
  4. Message d'erreur page PHP et MySQL
    Par littlesnoopy dans le forum Installation
    Réponses: 6
    Dernier message: 19/01/2007, 10h25

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