Probleme fiche d'inscription PHP/Mysql

Résolu/Fermé
hellfirewar - 12 juil. 2011 à 15:03
 hellfirewar - 12 juil. 2011 à 17:20
Bonjour,
Voila j'essaye de créer une fiche d'inscription en PHP avec l'aide du site du zero mais j'aime pas faire comme les autres ! Donc j'ai créer une fiche en Html avec un bouton envoyer et une zone texte pour mettre son pseudo ( Un truc touts bête pour l'instant). Une fois que l'on clique sur envoyer l'action mène sur la même page mais vers le traitement ( Vous comprendrez plus bas) Mais gros problème rien ne s'enregistre rien ne s'affiche mais pourtant touts fonctionne...
Voici le code en entier que je vais modifier par la suite :
<body>
<?php
session_start();
header('Content-type: text/html; charset=utf-8');
include('config.php');

/********Actualisation de la session...**********/

include('fonctions.php');
connexionbdd();
actualiser_session();

/********Fin actualisation de session...**********/

if(isset($_SESSION['membre_id']))
{
header('Location: '.ROOTPATH.'/index.php');
exit();
}
?>
<form method="post" action="index.php">
<table width="300" border="0" align="center">
<tr>
<td colspan="2" class="menu">Inscription</td>
</tr>
<tr>
<td><label for="pseudo">Pseudo : </label></td>
<td><input type="text" name="pseudo" id="pseudo" /></td>
</tr>
<tr>
<td><label for="mdp">Mot de passe : </label></td>
<td><input type="password" name="mdp" id="mdp" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Envoyer" />
</td>
</tr>
</table>
</form>
<?php
function checkpseudo($pseudo)
{
if($pseudo == '') return 'empty';
else if(strlen($pseudo) < 3) return 'tooshort';
else if(strlen($pseudo) > 32) return 'toolong';

else
{
$result = sqlquery("SELECT COUNT(*) AS nbr FROM membres WHERE membre_pseudo = '".mysql_real_escape_string($pseudo)."'", 1);
global $queries;
$queries++;

if($result['nbr'] > 0) return 'exists';
else return 'ok';
}
}
?>
<?php

$_SESSION['erreurs'] = 0;

//Pseudo
if(isset($_POST['pseudo']))
{
$pseudo = trim($_POST['pseudo']);
$pseudo_result = checkpseudo($pseudo);
if($pseudo_result == 'tooshort')
{
$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est trop court, vous devez en choisir un plus long (minimum 3 caractères).</span><br/>';
$_SESSION['form_pseudo'] = '';
$_SESSION['erreurs']++;
}

else if($pseudo_result == 'toolong')
{
$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est trop long, vous devez en choisir un plus court (maximum 32 caractères).</span><br/>';
$_SESSION['form_pseudo'] = '';
$_SESSION['erreurs']++;
}

else if($pseudo_result == 'exists')
{
$_SESSION['pseudo_info'] = '<span class="erreur">Le pseudo '.htmlspecialchars($pseudo, ENT_QUOTES).' est déjà pris, choisissez-en un autre.</span><br/>';
$_SESSION['form_pseudo'] = '';
$_SESSION['erreurs']++;
}

else if($pseudo_result == 'ok')
{
$_SESSION['pseudo_info'] = 'ok';
$_SESSION['form_pseudo'] = $pseudo;
}

else if($pseudo_result == 'empty')
{
$_SESSION['pseudo_info'] = '<span class="erreur">Vous n\'avez pas entré de pseudo.</span><br/>';
$_SESSION['form_pseudo'] = '';
$_SESSION['erreurs']++;
}
}
if($_SESSION['erreurs'] == 0)
{
$insertion = "INSERT INTO membres VALUES($pseudo)";
}
if($_SESSION['erreurs'] > 0)
{
echo $_SESSION['pseudo_info'];
}
?>
</body>

C'est le meme code que le site du zero juste que j'aimerai l'écrire autrement pour avoir plus facile a comprendre !
J'aimerai savoir si quelqu'un voix une erreur ou pas ? J'ai fait tres simple me suis pas pris la tete je veux juste un résultat simple et efficace par la suite je vais le modifier pour le rendre plus ergonomique si je peux le dire comme ça !
Merci a vous, bonne journée a tous !



A voir également:

2 réponses

adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
12 juil. 2011 à 15:23
Bonjour,

ne manquerait-il pas l'exécution de la requête ?

if($_SESSION['erreurs'] == 0)
{
$insertion = "INSERT INTO membres VALUES($pseudo)";
}


Adns
0
Si désoler je viens de rajouter ceci :
Mais ca ne marche toujours pas... Il y a encore des erreurs dans mon code ? Je vais revoir le cours PHP/Mysql sur le site du zero pour me remettre un peu dans le bain en attendant des nouvells =)
Merci a toi adns !!!

if($_SESSION['erreurs'] == 0)
{
$query = ("insert into membres(membre_pseudo) values('$pseudo')");
if($connexion->exec($query)){
$success = true;
print 'Enregistrement effectué!';
}else{
die('Erreur');
}
}
0
C'est bon j'ai réussis =)
0