Problème avec strlen et php !
Résolu/Fermé
holycasto31
Messages postés
9
Date d'inscription
samedi 31 décembre 2011
Statut
Membre
Dernière intervention
11 janvier 2012
-
1 janv. 2012 à 05:04
holycasto31 Messages postés 9 Date d'inscription samedi 31 décembre 2011 Statut Membre Dernière intervention 11 janvier 2012 - 3 janv. 2012 à 07:58
holycasto31 Messages postés 9 Date d'inscription samedi 31 décembre 2011 Statut Membre Dernière intervention 11 janvier 2012 - 3 janv. 2012 à 07:58
5 réponses
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
1 janv. 2012 à 09:31
1 janv. 2012 à 09:31
strlen est une fonction standard en PHP. Attention cependant avec les chaînes UTF8 avec lesquelles il vaut mieux utiliser les fonctions multibytes mb_*:
Regarde ici: https://www.php.net/manual/en/function.mb-strlen.php
johand@osiris: ~/tmp $ cat strlen.php <?php $words = array("Hello world", "éméché"); foreach ($words as $aword) { printf("Longueur de %s = %d\n", $aword, strlen($aword)); } foreach ($words as $aword) { printf("Longueur de %s = %d\n", $aword, mb_strlen($aword, "UTF8")); } ?> johand@osiris: ~/tmp $ php strlen.php Longueur de Hello world = 11 Longueur de éméché = 9 Longueur de Hello world = 11 Longueur de éméché = 6
Regarde ici: https://www.php.net/manual/en/function.mb-strlen.php
Bonjour
#include <string.h> est utilisé en langage C et n'a absolument aucun rapport avec le PHP. Si c'est encore dans ton script, retire-le.
Pourquoi dis-tu que strlen n'est pas reconnu ? strlen est toujours reconnu. As-tu un message d'erreur ? Si oui, recopie-le ici. Sinon, dis-nous quel est le comportement que tu attendais, et celui que tu observes.
Tu peux aussi faire echo $passwd; pour voir si $passwd est bien ce que tu crois.
#include <string.h> est utilisé en langage C et n'a absolument aucun rapport avec le PHP. Si c'est encore dans ton script, retire-le.
Pourquoi dis-tu que strlen n'est pas reconnu ? strlen est toujours reconnu. As-tu un message d'erreur ? Si oui, recopie-le ici. Sinon, dis-nous quel est le comportement que tu attendais, et celui que tu observes.
Tu peux aussi faire echo $passwd; pour voir si $passwd est bien ce que tu crois.
supupoff
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
2 janv. 2012 à 13:27
2 janv. 2012 à 13:27
inséré ceci au debut de code
et si tu as un message d'erreur recopie-le ici :!!!
<?php header("Content-type: text/html; charset=UTF-8"); ini_set('mbstring.internal_encoding', 'UTF-8'); ?>
et si tu as un message d'erreur recopie-le ici :!!!
holycasto31
Messages postés
9
Date d'inscription
samedi 31 décembre 2011
Statut
Membre
Dernière intervention
11 janvier 2012
1 janv. 2012 à 21:01
1 janv. 2012 à 21:01
Merci pour ta réponse,
Même en utilisant la fonction multibytes mb_strlen php ne le reconnait toujours pas...
D'autres idées ?
Même en utilisant la fonction multibytes mb_strlen php ne le reconnait toujours pas...
D'autres idées ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
holycasto31
Messages postés
9
Date d'inscription
samedi 31 décembre 2011
Statut
Membre
Dernière intervention
11 janvier 2012
Modifié par holycasto31 le 3/01/2012 à 08:07
Modifié par holycasto31 le 3/01/2012 à 08:07
Je viens de comprendre mon erreur ...
Je retournais la valeur du <input type="password"> dans la variable $passwd de cette manière : $passwd=md5($_POST['pass']); ce qui fait que lorsque j'invoquais : strlen($passwd) ... ça ne fonctionnait pas vu que c'est crypté en md5...
Il fallait plutôt aller chercher directement la valeur comme ceci :
strlen($_POST['pass']);
Merci le père ta question m'a mené dans la bonne direction !
Merci à tous : ) !
Je retournais la valeur du <input type="password"> dans la variable $passwd de cette manière : $passwd=md5($_POST['pass']); ce qui fait que lorsque j'invoquais : strlen($passwd) ... ça ne fonctionnait pas vu que c'est crypté en md5...
Il fallait plutôt aller chercher directement la valeur comme ceci :
strlen($_POST['pass']);
Merci le père ta question m'a mené dans la bonne direction !
Merci à tous : ) !