logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-12-2019 17:48:57

Aposkiasma
Membre
Inscription : 09-12-2019

Base de données et phpmyadmin

Salut à vous
Lorsque je clique sur le bouton ok d'envoi des données sur mon formulaire,  ça me renvoie "données enregistrées" , mais lorsque je reparts dans ma bd je ne vois rien
Comment est-ce que je peux faire ?
Merci

Hors ligne

#2 09-12-2019 20:53:40

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Base de données et phpmyadmin

Bonjour et bienvenue smile

C'est un peu vague comme explications tongue

Aposkiasma a écrit :

Lorsque je clique sur le bouton ok d'envoi des données sur mon formulaire

Le formulaire de ton site ou celui de PHPMyAdmin ?

Quoi qu'il en soit, tu doit avoir quelque part des messages d'erreur qu'il serait bon de nous communiquer pour recevoir de l'aide smile


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#3 10-12-2019 10:52:44

Aposkiasma
Membre
Inscription : 09-12-2019

Re : Base de données et phpmyadmin

Il s'agit du formulaire de mon site ?

Hors ligne

#4 10-12-2019 11:47:10

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Base de données et phpmyadmin

OK,donc, déjà PHPMyAdmin n'a rien à voir dans l'histoire, c'est juste l'interface qui te permet de voir qu'aucune donnée n'est enregistrée dans la base, on pourrait avoir le même résultat avec une autre interface (genre la ligne de commande avec mysql-client).

Donc, le titre de ton fil est à modifier, et je vais le déplacer dans le forum programmation, car ça semble plus être un problème de type plutôt que d'installation de Debian

Donc, il faut bien récupérer les erreurs de ton site, en réglant PHP en mode debug afin qu'il affiche les messages d'erreur smile

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#5 10-12-2019 12:32:40

Aposkiasma
Membre
Inscription : 09-12-2019

Re : Base de données et phpmyadmin

En fait mon code PHP d'insertion à la base de données "$bd->query()" ne génère pas d'erreurs, mais ça les données ne vont quand même pas dans ma base.

Hors ligne

#6 10-12-2019 12:40:20

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Base de données et phpmyadmin

Attention, PHP peut être réglé pour ne renvoyer aucune erreur même s'il y en a. Ensuite, si il n'y en a vraiment pas, peut-être qu'il n'y a pas de données à envoyer pour cause d'erreur dans l’algorithme qui doit les générer? A vérifier peut-être avec un echo dans le code pour voir ce que tu envoies ?

Edit : ensuite debugger du code sans le voir, c'est difficile tongue Tu parlesde $bd->query(), mais on ne voit pas la requête que cette commande envoie , donc si ça se trouve, c'est ça qui pose problème. Postes le code dans les balises qui vont bien, ça sera probablement plus simple pour t'aider wink

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#7 10-12-2019 22:20:26

Aposkiasma
Membre
Inscription : 09-12-2019

Re : Base de données et phpmyadmin

Voice le code php

host="localhost";
  $user="root";
  $passwd="";

  $lien = mysqli_connect($host,$user,$passwd);
  if($lien){
    echo "dans la base";
    //echo mysql_error($lien); exit;
  }else{
    echo "problème de connexion au serveur";
  }

  //Choix de la BD
  $bd = "telephonie";
  if(!mysqli_select_db($lien,$bd)){
    echo "Problème de connexion à la BD $bd";
    echo mysqli_error($lien); exit;
  }else{
    echo "dans la bd $bd";
     formToDB($lien);
  }

  function formToDB($lien){

    //Récupération des données du formulaire
    $prenom = $_POST["surname"];
    $nom = $_POST["nam"];
    $mail = $_POST["address"];
    $phone = $_POST["tel"];
    $image = $_FILES["imag"];

    //formalisation de la reqête SQL
    $req = " INSERT INTO contact(id, name, surname, phone_number, adresse, photo) VALUES ( '1', $nom, $prenom, $phone, $mail, $image)";

    //tentative d’écriture dans la BD
    if(!mysqli_query($lien,$req)){
      echo "Problème d’exécution de la requête $req";
      echo mysqli_error($lien); exit;
    }
  }



Edit à bendia : c'est y pas plus chouette en couleur tongue Voir le tuto : Le code, ça pique moins les yeux en couleur Pour savoir comment on fait, édite le message pour voir les balises wink

Hors ligne

#8 10-12-2019 22:33:37

Aposkiasma
Membre
Inscription : 09-12-2019

Re : Base de données et phpmyadmin

J'ai écrit un autre code en utilisant PDO, le voici:
-----------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------


$conn = new PDO("mysql:host = localhost; dbname = telephonie", "root", "");

if (isset($_POST['ok'])){
  if(!empty( $_POST['nam'] AND $_POST['surname'] AND $_POST['address'] AND $_POST['tel'] AND $_FILES['imag']['name'])){        
    $extensionAut = strtoLower( strchr($_FILES['imag']['name'], "."));
    $extension = Array(".jpg", ".jpeg", ".png", ".gif");

    $destination = "/photos".basename($_FILES['imag']['name']);
    if (in_array($extensionAut, $extension) AND $_FILES['imag']['size']<= 1000000) {
      move_uploaded_file($_FILES['imag']['tmp_name'], $destination);
      echo "Bravo à vous madame";
    }else{
      echo "Seules les photos sont autorisées ";
    }
    $requete = $conn->prepare('INSERT INTO contact(name,surname,phone_number,adresse,photo)VALUES(?,?,?,?,?)');
   
    $reponse=$requete->execute(array($_POST['nam'],$_POST['surname'],$_POST['tel'],$_POST['address'],$_FILES['imag']['name']));

  }else{
    echo "Veuillez remplir les champs";
  }

}else{
    echo "Variable non défini"; 
}


----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
Mais il y'a un autre problème ici avec l'upload de mon fichier: ça renvoit "Permission refusé"

Hors ligne

#9 10-12-2019 22:34:14

Aposkiasma
Membre
Inscription : 09-12-2019

Re : Base de données et phpmyadmin

merci

Hors ligne

Pied de page des forums