problème utilisateur

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 : problème utilisateur

Re: problème utilisateur

par romuald » 12 janv. 2012, 14:53

t'es un dieu toi merci beaucoup

Re: problème utilisateur

par Shenryu » 12 janv. 2012, 14:43

Tu peux mettre ça pour la colonne avatard
`avatard` text NULL default NULL,
Par défaut le champ sera null et non vide ;)

Re: problème utilisateur

par romuald » 12 janv. 2012, 14:24

voilà le résultat

#1101 - BLOB/TEXT column 'avatard' can't have a default value

Re: problème utilisateur

par Shenryu » 12 janv. 2012, 14:14

En fait, tous tes champs qui n'ont pas de valeurs par défaut et que tu n'insères pas dans ta requête vont de renvoyer cette erreur.
Pour corriger cela, tu dois définir des valeurs par défaut pour tous les champs comme à cette ligne :
`pseudo` varchar(25) NOT NULL default '',

Re: problème utilisateur

par romuald » 12 janv. 2012, 14:10

Bein en faite là je comprend plus car a chaque fois y'à un souci sur une ligne, voici ma table:
CREATE TABLE IF NOT EXISTS `membres` (
`id` int(11) NOT NULL auto_increment,
`date` int(11) NOT NULL default '0',
`pseudo` varchar(25) NOT NULL default '',
`password` varchar(40) NOT NULL,
`email` varchar(50) NOT NULL,
`lvl` int(1) NOT NULL default '1',
`activer` int(1) NOT NULL default '0',
`avatard` text NOT NULL,
`nom` varchar(60) NOT NULL,
`prenom` varchar(60) NOT NULL,
`sex` varchar(60) NOT NULL,
`age` varchar(60) NOT NULL,
`country` varchar(60) NOT NULL,
`town` varchar(60) NOT NULL,
`web_site` varchar(100) NOT NULL,
`win_version` varchar(60) NOT NULL,
`win_sensitivity` varchar(60) NOT NULL,
`win_resolution` varchar(60) NOT NULL,
`connexion` varchar(60) NOT NULL,
`provider_connection` varchar(60) NOT NULL,
`direct_x` varchar(60) NOT NULL,
`CPU` varchar(60) NOT NULL,
`carte_graphique` varchar(60) NOT NULL,
`carte_son` varchar(60) NOT NULL,
`carte_mere` varchar(60) NOT NULL,
`disque_dur` varchar(60) NOT NULL,
`memoire` varchar(60) NOT NULL,
`moniteur` varchar(60) NOT NULL,
`sourie` varchar(60) NOT NULL,
`mouse_pad` varchar(60) NOT NULL,
`clavier` varchar(60) NOT NULL,
`team` varchar(60) NOT NULL,
`team_site` varchar(100) NOT NULL,
`team_canal` varchar(100) NOT NULL,
`game_resolution` varchar(60) NOT NULL,
`game_sensitivity` varchar(60) NOT NULL,
`map_prefere` varchar(60) NOT NULL,
`arme_prefere` varchar(60) NOT NULL,
`jeu_prefere` varchar(60) NOT NULL,
`msn` varchar(50) NOT NULL,
`aim` varchar(50) NOT NULL,
`icq` varchar(50) NOT NULL,
`irc` varchar(50) NOT NULL,
`pays` varchar(25) NOT NULL default 'France',
`description` text NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=34 ;

Re: problème utilisateur

par Shenryu » 12 janv. 2012, 13:33

Donc dans ta table "membres", tu dois avoir un champ avatard qui ne possède pas de valeur par défaut.
Du coup, quand tu veux insérer une ligne et que tu ne donnes aucune valeur à ce champ, une erreur se produit.

Pour régler ce problème, tu peux aller dans phpmyadmin pour définir une valeur par défaut à ton champ.

Re: problème utilisateur

par romuald » 12 janv. 2012, 13:30

xD oki ça me donner
" Field 'avatard' doesn't have a default value "

Re: problème utilisateur

par Shenryu » 12 janv. 2012, 13:11

\o/

En fait les 3 petits points que j'ai mis dans le mysql_query doivent être remplacés par ta requête SQL.
C'était pour te signaler que tu pouvais le faire lors de chaque appel à mysql_query afin que l'on sache quelle requête peut poser problème.

En gros :
$requete = mysql_query('SELECT * FROM membres WHERE pseudo="'.$pseudo.'"') or die(mysql_error());

$requete = mysql_query('SELECT * FROM membres WHERE email="'.$email.'"') or die(mysql_error());

$requete = mysql_query('SELECT * FROM membres WHERE password="'.$password.'"') or die(mysql_error());

mysql_query('INSERT INTO membres
(date, pseudo, password, email, activer, sex) VALUES
("'.$date.'", "'.$pseudo.'", "'.$password_tiers.'", "'.$email.'", "1", "'.$sexe.'")') or die(mysql_error());

Re: problème utilisateur

par romuald » 12 janv. 2012, 13:01

voilà ce que j'ai
" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '...' at line 1 "

Re: problème utilisateur

par Shenryu » 12 janv. 2012, 11:41

C'est quelle variable qui te renvoie ce message ?

Pour le mysql_error(), il faut que tu le fasses de cette manière :
mysql_query('...') or die(mysql_error());

Re: problème utilisateur

par romuald » 12 janv. 2012, 10:52

c'est toujours pareille il me dit Mauvais pseudo ou mot de passe et dans ma base de donner rien ne s'inscrit :/

Par contre j'ai du mal copier coller mais le " et bon et le error n'affiche rien :/ revoilà le script

<?php
error_reporting(E_ALL);
function InscriptionIndex() {
global $_color;

echo''
.'<form method="post" action="index.php?page=Members&page_name=inscription&action=sauvegarder">'
.'<div style="text-align:center;"><big><b>'.INS_CHAMPS.'</b><br />'.INS_CONDITIONS.'</big><br /><br /></div>'
.'<table cellspacing="0" cellpadding="0" style="width:100%" align="center">'
.'<tr>'
.'<td colspan="3" style="text-align:center;'.STYLE_TITRE.'paddin-top:2px;padding-bottom:2px;"><b>'.INS_INFOS_COMPTE.'</b></td>'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;"><b>'.VOTRE.' '.PSEUDO.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;"><input type="text" name="pseudo" onkeyup="verifierPseudo(this.value)"/></td>'
.'<td style="width:20px;padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;"><div id="statue_pseudo"></div></td>'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;"><b>'.VOTRE.' '.MAIL.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;"><input type="text" name="email" onkeyup="verifierMail(this.value)"/></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;"><div id="statue_mail"></div></td>'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;"><b>'.VOTRE.' '.PASSWORD.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;"><input type="password" name="password" onkeyup="verificationSecuriteeMotDePasse(this.value)"/></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;"></td>'
.'</tr>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;"><b>'.FIABILITY.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;"><div id="sm"><ul><li id="weak" class="nrm">'.FAIBLE.'</li><li id="medium" class="nrm">'.MOYEN.'</li><li id="strong" class="nrm">'.FORT.'</li></ul></div></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;"></td>'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;"><b>'.VOTRE.' '.PASSWORD.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;"><input type="password" name="password_bis" onkeyup="verifierMotDePasse(this.value)"/></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;"><div id="statue_mot_de_passe"></div></td>'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;"><b>'.VOTRE.' '.SEXE.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;"><input type="radio" name="sexe" value="male" checked="checked" /> <img src="images/homme.gif" alt="" /> '.MASCULIN.' <input type="radio" name="sexe" value="female" /> <img src="images/femme.gif" alt="" /> '.FEMININ.'</td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;"></td>'
.'</tr>'
.'<tr>'
.'<td colspan="3" style="padding-left:4px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;text-align:center;padding:2px;"><input type="submit" value="'.VALIDER.'"/></td>'
.'</tr>'
.'</table>'
.'</form>'
;
}

function InscriptionSauvegarder() {

$date = time();
$pseudo = htmlentities(addslashes($_POST['pseudo']));
$email = htmlentities(addslashes($_POST['email']));
$password = htmlentities(addslashes($_POST['password']));
$password_bis = htmlentities(addslashes($_POST['password_bis']));
$password_tiers = md5($password);
$sexe = htmlentities(addslashes($_POST['sexe']));

$requete = mysql_query('SELECT * FROM membres WHERE pseudo="'.$pseudo.'"');
$nb_pseudo = mysql_num_rows($requete);

$requete = mysql_query('SELECT * FROM membres WHERE email="'.$email.'"');
$nb_email = mysql_num_rows($requete);

$requete = mysql_query('SELECT * FROM membres WHERE password="'.$password.'"');
$nb_password = mysql_num_rows($requete);

if($nb_pseudo >= 1)
echo '<div style="text-align:center;"><b>'.INS_PSEUDO_PRIS.'</b></div>';
elseif($nb_email['COUNT(*)'] >= 1)
echo '<div style="text-align:center;"><b>'.INS_MAIL_PRIS.'</b></div>';
elseif( empty($pseudo) || empty($password) || empty($password_bis) || empty($email))
echo '<div style="text-align:center;"><b>'.ERREUR_200.'</b></div>';
elseif( $password != $password_bis)
echo'<div style="text-align:center;"><b>'.INS_MDP_PAS_SAME.'</b></div>';
else
{
mysql_query('INSERT INTO membres
(date, pseudo, password, email, activer, sex) VALUES
("'.$date.'", "'.$pseudo.'", "'.$password_tiers.'", "'.$email.'", "1", "'.$sexe.'")');

echo'<div style="text-align:center;"><b>'.INS_FINI.'</b></div>';
}

Redirection(3000, 'index.php');
}

if(isset($_GET['action']))
{
switch($_GET['action'])
{
case 'sauvegarder':
InscriptionSauvegarder();
break;
default:
InscriptionIndex();
break;
}
}
else
InscriptionIndex();
?>

Re: problème utilisateur

par Shenryu » 12 janv. 2012, 10:20

Salut,

Tu as une erreur de syntaxe au niveau de ton formulaire :

Remplace ce bout de code :
padding:2px;">.VALIDER.'" /></td>'
Par celui-ci :
padding:2px;">'.VALIDER.' /></td>'

Tu peux ajouter la ligne suivante au début de ton script également :
error_reporting(E_ALL);

Re: problème utilisateur

par romuald » 12 janv. 2012, 09:23

je sais pas si je mes mal mysql_error car je vois pas d'erreur

Re: problème utilisateur

par xTG » 11 janv. 2012, 22:38

Regardes ce que retourne mysql_error().

problème utilisateur

par romuald » 11 janv. 2012, 22:09

Bonsoir, j'ai un souci avec mon script, lorsque je veut m'inscrire rien ne s'enregistre dans la base de donner merci de m'aider ...
<?php
function InscriptionIndex() {
global $_color;

echo''
.'<form method="post" action="index.php?page=Members&page_name=inscription&action=sauvegarder">'
.'<div style="text-align:center;"><big><b>'.INS_CHAMPS.'</b><br />'.INS_CONDITIONS.'</big><br /><br /></div>'
.'<table cellspacing="0" cellpadding="0" style="width:100%" align="center">'
.'<tr>'
.'<td colspan="3" style="text-align:center;'.STYLE_TITRE.'paddin-top:2px;padding-bottom:2px;"><b>'.INS_INFOS_COMPTE.'</b></td>'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;">'.VOTRE.' '.PSEUDO.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;">'
.'<td style="width:20px;padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;">
'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;">'.VOTRE.' '.MAIL.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;">'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;">
'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;">'.VOTRE.' '.PASSWORD.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;">'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;">'
.'</tr>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;">'.FIABILITY.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;">
'
.FAIBLE.'</li><li id="medium" class="nrm">'.MOYEN.'</li><li id="strong" class="nrm">'.FORT.'</li></ul></div></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;">'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;">'.VOTRE.' '.PASSWORD.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;">'
.'<td style="padding-left:2px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-left:none;">
'
.'</tr>'
.'<tr>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-right:none;padding:3px;">'.VOTRE.' '.SEXE.'</b></td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;border-right:none;"> '.MASCULIN.' <input type="radio" name="sexe" value="female" /> <img src="images/femme.gif" alt="" /> '.FEMININ.'</td>'
.'<td style="padding-left:2px;background-color:'.$_color[4].';border:1px solid '.$_color[2].';border-top:none;border-left:none;">'
.'</tr>'
.'<tr>'
.'<td colspan="3" style="padding-left:4px;background-color:'.$_color[3].';border:1px solid '.$_color[2].';border-top:none;border-right:none;text-align:center;padding:2px;">.VALIDER.'" /></td>'
.'</tr>'
.'</table>'
.'</form>'
;
}

function InscriptionSauvegarder() {

$date = time();
$pseudo = htmlentities(addslashes($_POST['pseudo']));
$email = htmlentities(addslashes($_POST['email']));
$password = htmlentities(addslashes($_POST['password']));
$password_bis = htmlentities(addslashes($_POST['password_bis']));
$password_tiers = md5($password);
$sexe = htmlentities(addslashes($_POST['sexe']));

$requete = mysql_query('SELECT * FROM membres WHERE pseudo="'.$pseudo.'"');
$nb_pseudo = mysql_num_rows($requete);

$requete = mysql_query('SELECT * FROM membres WHERE email="'.$email.'"');
$nb_email = mysql_num_rows($requete);

if($nb_pseudo >= 1)
echo '<div style="text-align:center;"><b>'.INS_PSEUDO_PRIS.'</b></div>';
elseif($nb_email['COUNT(*)'] >= 1)
echo '<div style="text-align:center;"><b>'.INS_MAIL_PRIS.'</b></div>';
elseif( empty($pseudo) || empty($password) || empty($password_bis) || empty($email))
echo '<div style="text-align:center;"><b>'.ERREUR_200.'</b></div>';
elseif( $password != $password_bis)
echo'<div style="text-align:center;"><b>'.INS_MDP_PAS_SAME.'</b></div>';
else
{
mysql_query('INSERT INTO membres
(date, pseudo, password, email, activer, sex) VALUES
("'.$date.'", "'.$pseudo.'", "'.$password_tiers.'", "'.$email.'", "1", "'.$sexe.'")');

echo'<div style="text-align:center;"><b>'.INS_FINI.'</b></div>';
}

Redirection(3000, 'index.php');
}

if(isset($_GET['action']))
{
switch($_GET['action'])
{
case 'sauvegarder':
InscriptionSauvegarder();
break;
default:
InscriptionIndex();
break;
}
}
else
InscriptionIndex();
?>