espace membre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : espace membre

Re: espace membre

par moogli » 26 août 2012, 23:22

salut,

connexion :

tu n'as pas de close where (prédicat) donc rapatrie toute la base => ça ne peux pas fonctionner revoie le fonctionnement des prédicats

création :
les marqueurs de requete doivent commencer par des :

revois tes requêtes et le fonctionnement de PDO

http://www.siteduzero.com/tutoriel-3-34 ... x-bdd.html


@+

espace membre

par pedro carlos » 26 août 2012, 17:16

Salut à tous,

Je suis un débutant en php, j'essaie de créer un espace membre, j'utilise comme base de données Mysql. J'ai deux problèmes:
- Mysql n'enregistre que la première inscription faite par l'utilisateur et après il n'enregistre aucune autre inscription.
- Deuxièmement, il y a un problème de connexion de l'utilisateur à l'espace membre.

Voila la code php de la page connexion:
<div id="login">
                <div>
                    <form action="index.php" method="post" >
                        <fieldset>
                            <legend><span>Se connecter</span></legend> 
                            <input type="text" name="pseudo" placeholder="Exemple: Mohammad"/>
                            <input type="password" name="pass" value="Pass" /> 
                            <input type="submit" value="envoyer"/>
                            
                       <br/>
                            	<strong><a href="enregistrement.php" class="enregistrement">S'enregistrer</a></strong>
                           
                        </fieldset>
                    </form>
                </div>
            </div>

<?php

/* Connexion à une base de MYSQL */
try
{ 
 $bdd= new PDO('mysql: host=localhost; dbname=test','root','');
}
catch( exception $e)
{
 die('Erreur:'.$e->getMessage());
}

// Hachage du mot de passe
$pass_hache = sha1($_POST['pass']);
$pseudo= $_POST['pseudo'];

// Vérification des identifiants
$req = $bdd->prepare('SELECT pseudo, pass FROM membres ');
$req->execute(array(
    'pseudo' => $pseudo,
    'pass' => $pass_hache));

	// Hachage du mot de passe
$pass_hache = sha1($_POST['pass']);
$pseudo= $_POST['pseudo'];

$resultat = $req->fetch();

if (!$resultat)
{
    echo 'Mauvais identifiant ou mot de passe !';
}
else
{
    session_start();
    $_SESSION['id'] = $resultat['id'];
    $_SESSION['pseudo'] = $pseudo;
    echo 'Vous êtes connecté !';
}
?>
[php][sql][/sql]
Et voila le code php la page inscritpion:

< form method='post' action='enregistrement.php'>
<label for='pseudo'>Pseudonyme</label>:<input type='text' name='pseudo'/><br/>
<label for='password'>Mot de passe</label>:<input type='password' name='pass'/><br/>
<label for='submit'>Envoyer</label>:<input type='submit' name='submit'/>
</form>

<?php

/* Connexion à une base de MYSQL */
try
{
$bdd= new PDO('mysql:host=localhost;dbname=test','root','');
}
catch(Exception $e)
{
die('Erreur:'.$e->getMessage());
}
/* Fin de connexion à la base*/

// Vérification de la validité des informations

// Hachage du mot de passe
$pass_hache = sha1($_POST['pass']);

// Insertion
$req = $bdd->prepare('INSERT INTO membres( pseudo, pass, date_inscription) VALUES(pseudo, pass, CURDATE())');
$req->execute(array(
'pseudo' => $_POST['pseudo'],
'pass' => $pass_hache));


$req->closeCursor();

?>[/php]

Merci de votre aide, j'ai vraiment besoin de votre aide pour avancer.