Caractère mininum pour un formulaire.

Fermé
colten11100 Messages postés 94 Date d'inscription vendredi 23 janvier 2015 Statut Membre Dernière intervention 12 décembre 2018 - 8 janv. 2016 à 16:13
jordane45 Messages postés 38326 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 décembre 2024 - 8 janv. 2016 à 16:17
Bonjour,
sur mon code inscription.php j'ai des soucie pour le nombre de caractère minimum que je veux pour valider le questionnaire, je vous passe le code:
<?php

// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
	// on teste l'existence de nos variables. On teste Ègalement si elles ne sont pas vides
	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
	// on teste les deux mots de passe
	if ($_POST['pass'] != $_POST['pass_confirm']) {
		$erreur = '<h2>Les 2 mots de passe sont diffÈrents.</h2>';
	}
	if ($_POST['pass'] && $_POST['pass_confirm'] >=6) {
		$erreur = '<h2>Le mot de passe et tros court.</h2>';
	}
	if ($_POST['login'] >=6) {
		$erreur = '<h2>Le speudo et tros court.</h2>';
	}
	else {
		// Connexion a la base de donnÈe
		require_once "cnxBdd.php";

		// on recherche si ce login est dÈj‡ utilisÈ par un autre membre
		$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
		$data = mysql_fetch_array($req);
		$_POST['token'] = 0;
		if ($data[0] == 0) {
		$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['token']).'")';
		mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
		$_POST['token'] = 0;
		session_start();
		$_SESSION['login'] = $_POST['login'];
		$_SESSION['token'] = $_POST['token'];
		header('Location: index.php');
		exit();
		}
		else {
		$erreur = '<h2>Un membre possËde dÈj‡ ce login.</h2>';
		}
	}
	}
	else {
	$erreur = '<h2>Au moins un des champs est vide.</h2>';
	}
}
?>

Merci de votre aide ;-)

A voir également:

1 réponse

jordane45 Messages postés 38326 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 décembre 2024 4 712
8 janv. 2016 à 16:14
Bonjour,

Commence par corriger le code en tenant compte de mes remarques précédentes (dans ta précédente question) concernant la récupération des variables.
Après... on pourra se pencher sur ton souci.

Merci.
0
jordane45 Messages postés 38326 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 décembre 2024 4 712
8 janv. 2016 à 16:17
Sachant que pour compter le nombre de charactères dans ton LOGIN ....
if ($_POST['login'] >=6) {

Ne fera jamais ça .... là ... tu lui demande si la valeur de la variable login est supérieur à 6 .... (mais.. heu.. c'est du texte et non un nombre que tu lui mets.....!!! )

Pour faire cela....
Il faut utiliser la fonction : https://www.php.net/manual/fr/function.strlen.php
0