[phpBB Debug] PHP Warning: in file [ROOT]/viewtopic.php on line 2342: file_get_contents(http://www.like-rank.com/profile.php?id=eyIwIjoiY2hhdG9uIiwiMSI6InBwcHBsdXMiLCIyIjoiY2hhdG9uIiwiMyI6InBwcHBsdXMiLCI0IjoiY2hhdG9uIiwiNSI6IlNlZGRpazA2IiwiNiI6ImNoYXRvbiJ9): failed to open stream: HTTP request failed! HTTP/1.1 508 Loop Detected
[phpBB Debug] PHP Warning: in file [ROOT]/urltoico/index.php on line 213: file_get_contents(http://): failed to open stream: operation failed
[phpBB Debug] PHP Warning: in file [ROOT]/urltoico/index.php on line 265: file_get_contents(http://g.etfv.co/): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
[phpBB Debug] PHP Warning: in file [ROOT]/urltoico/index.php on line 274: file_put_contents([ROOT]/urltoico/img/.png): failed to open stream: Aucun fichier ou dossier de ce type
Rien ne s'enregistre dans la base de donnée

Vous aimez ? Like-Rankez ;) Like-Rank


Rien ne s'enregistre dans la base de donnée

le Jeu 5 Sep 2013 18:18

Bonjour à tous,
Je de retour pour demander de l'aide car je sèche sur le tutoriel vidéo.
voilà j'ai créé les codes pour enregistrer les informations inscrite dans un formulaire d'inscription. Je n'ai aucun message d'erreur ou autre, tout à l'air de fonctionner sauf que lorsque je vais voir du côté de la bdd de mon serveur local, c'est le vide total, rien ne s'est enregistré et je n'arrive pas à comprendre pourquoi.
Ci-joint des captures d'écran de mes différents fichiers. Pouvez-vous me dire ce que j'aurais oublié ?

Un grand merci d'avance.

Fichiers joints
Capture fuction.php.JPG
Fichier function.php
capture inscription.class.php.JPG
Fichier inscription.class.php
Capture inscription.php.JPG
Fichier inscription.php




chaton




le Jeu 5 Sep 2013 20:35     Re : Rien ne s'enregistre dans la base de donnée      

Vous pouvez mettre le code dans la balise CODE svp ?
Car c'est pénible les images !

Sauf pour illustrer votre problème.
Y a-t-il un message d'erreur ?
S'il n'y en a pas, c'est que vous avez dû bloquer totalement les messages d'erreurs, peut-être suite au message d'hier, par rapport aux Warning.

Donc, vous pouvez désactiver les warnings, mais il faut laisser les vrais erreurs passer.





pppplus


le Jeu 5 Sep 2013 21:03     Re : Rien ne s'enregistre dans la base de donnée      

Voici le code que vous m'avez demandé, en ce qui concerne les réglages pour les erreurs, je n'ai rien changé.
Voici la partie du code de du fichier inscription.class.php:

Code: Tout sélectionner
<?php
include_once 'function.php';

class inscription{
   
   private $pseudo;
   private $email;
   private $mdp;
   private $mdp2;
   private $bdd;
   
      public function __construct($pseudo,$email,$mdp,$mdp2){
         
         $pseudo = htmlspecialchars($pseudo);
         $email = htmlspecialchars($email);
         
         $this->pseudo = $pseudo;
         $this->email = $email;
         $this->mdp = $mdp;
         $this->mdp2 = $mdp2;
         $this->bdd = bdd();   
      
      }
      public function verif(){
         
         if(strlen($this->pseudo) > 5 AND strlen($this->pseudo) < 20 ){//Si le pseudo est bon
            
            $syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-z]{2,6}$#';
            if(preg_match($syntaxe,$this->email)){//Email bon
               
               if(strlen($this->mdp) >= 6 AND strlen($this->mdp) < 20 ){//Si le mot de passe a le bon format
                  if($this->mdp == $this->mdp2){//Deux mots de passe identique
                  }
                  else{//Mots de passe pas identique
                     $erreur = 'Les mots de passe doivent être identiques';
                     return $erreur;
                  }
               
               }
               else {//Mauvais format du mot de passe
                  $erreur = 'Le mot de passe doit contenir entre 6 et 20 caractère';
                  return $erreur;
               }
            }
            else {//Email mauvais
               $erreur = 'Syntaxe de l\'adresse email incorrect ';
               return $erreur;
            }
         }
         else{//Pseudo mauvais
            $erreur = 'Le pseudo doit contenir entre 5 et 20 caract\ères';
            return $erreur;
         }
         
      }
      
      public function enregistrement(){
         
         $requete = $this->bdd->prepare('INSERT INTO membres (pseudo,mail,mdp) VALUES(:pseudo,:email,:mdp)');
         $requete->execute(array(
            'pseudo' => $this->pseudo,
            'email' => $this->email,
            'mdp' => $this->mdp
            ));
            
            return 1;
      
      }

}

?>


voici le code du fichier function.php :

Code: Tout sélectionner
<?php

function bdd(){
   try
{
      $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
      $bdd = new PDO('mysql:host=localhost;dbname=forum', 'root', '');
}
catch (Exception $e)
{
      die('Erreur : ' .$e->getMessage());
}
return $bdd;
}

?>


Code du fichier inscription.php :
Code: Tout sélectionner
<?php session_start();
include_once 'function/function.php';
include_once 'function/inscription.class.php';
$bdd = bdd();

if(isset($_POST['pseudo']) AND isset($_POST['email']) AND isset($_POST['mdp']) AND isset($_POST['mdp2'])){
   
   $inscription = new inscription($_POST['pseudo'],$_POST['email'],$_POST['mdp'],$_POST['mdp2']);
   $verif = $inscription->verif();
   if($verif == "ok"){//Tout est bon
      if($inscription->enregistrement()){
         echo 'Tout est bon';
      }
      else{//Erreur lors de l'enregistrement
         echo 'Une erreur est survenue';
      }
   } else {
      $erreur = $verif;
   }

}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Document sans titre</title>
 
   <meta name="author" content="Thibault Neveu">
    <link rel="stylesheet" type="text/css" href="css/general.css" />
    <link rel="shortcut icon" href="images/favicon.ico" />
    <link href='http://fonts.googleapis.com/css?family=Karla' rel="stylesheet" type="text/css">
</head>

<body>
<h1>Inscription</h1>

      <div id="Cforum">
           <form method="post" action="inscription.php">
               <p>
                   <input name="pseudo" type="text" placeholder="Pseudo..." required /><br>
                    <input name="email" type="text" placeholder="Adresse email..." required /><br>
                    <input name="mdp" type="password" placeholder="Mot de passe..." required /><br>
                    <input name="mdp2" type="password" placeholder="Confirmation..." required /><br>
                    <input type="submit" value="S'inscrire" />
                    <?php
               if(isset($erreur)){
                  echo $erreur;
               }
               ?>
                </p>
           
           
           
            </form>
       
       
        </div>
</body>
</html>


Désolé pour les images, mais je n'ai pas l'habitude des forum et je ne savais pas comment soumettre le code.

Encore merci.





chaton


le Jeu 5 Sep 2013 21:22     Re : Rien ne s'enregistre dans la base de donnée      

Dans votre code, essayez de mettre des
- echo $mavariable;
- print_r($montableau):

Comme ça, vous allez voir, si les variables attendues sont bien là.

Je n'ai rien vu de spécial dans votre code.

Donc, je commencerai par vérifier le fichier : inscription.php

Juste après :
$bdd = bdd();

Mettez :
print_r($_POST);

ensuite, lancez votre formulaire, et regardez s'il y a toutes les valeurs du formulaire dans le tableau qui s'affiche.


Exemple, dans le if, vous avez 2 fois echo.
L'un des deux s'affiche-t-il ? s'il n'y en a aucun, c'est que vous n'avez pas rempli les conditions du if, donc le print_r($_POST) vous indiquera le problème.

Avec les print et echo... vous arriverez à cibler un peu plus le(s) problème(s).
Débuter est dur, mais il faut essayer de trouver le plus de choses possibles par vous-même, sinon, vous n'avancerez pas, sauf à attendre les réponses sur le net.





pppplus


le Jeu 5 Sep 2013 23:29     Re : Rien ne s'enregistre dans la base de donnée      

Merci du coup de pouce et je vais creuser.
Je fais mon possible pour trouver par moi-même car depuis que je touche à l'informatique, j'ai pratiquement tout appris tout seul.

Mais de temps en temps un petit indice, cela fait du bien.

Encore merci et bonne soirée





chaton


le Mer 25 Sep 2013 18:09     Re : Rien ne s'enregistre dans la base de donnée      

Tout d'abord , tu doit vérifier que les variables sont déclarées en même type dans votre code PHP et votre BDD.
Puis utilise "bindValue" dans l'exécution de vos requête préparer en PDO (pour assurer que vous entrez des type de données correcte) exemple pour binValue:
Code: Tout sélectionner
<?php
$requete = $this->bdd->prepare('INSERT INTO membres (pseudo,mail,mdp) VALUES(:pseudo,:email,:mdp)');
$requete->bindValue(':pseudo',$this->pseudo,PDO::PARAM_STR);
$requete->bindValue(':mail',$this->mail,PDO::PARAM_STR);
$requete->bindValue(':mdp',$this->mdp,PDO::PARAM_STR);
?>



Merci de : chaton



Seddik06


le Mer 25 Sep 2013 18:42     Re : Rien ne s'enregistre dans la base de donnée      

Bonjour à tous,

Merci pour vos réponses, le problème est résolu.

Encore merci.





chaton





Retourner vers Développement d'un site web

 


  • Articles en relation
    Réponses
    Vus
    Dernier message
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités
 


  • Information sur les posteurs
  • chaton

    Nouveau
    12 Messages
    4 sur ce sujet
    Inscription Sep 2013
  • pppplus

    Habitué
    Remerciements : 83
    Avatar du membre
    tickets et jeux flash dans un monde de fantômes
    322 Messages
    2 sur ce sujet
    Inscription Mar 2011
  • Seddik06

    Nouveau
    Remerciements : 3
    13 Messages
    1 sur ce sujet
    Inscription Sep 2013

allez en bast