probleme de longueur de texte

Répondre
milsodor
le 30/12/2007 à 09:54
milsodor
Bonjour ,j'en profite d'abord pour vous présenter à tous mes meilleurs voeux 2008 .

Je reviens avec mon problème de livre d'or et le fait que parfois les gens n'arrive pas à poster le message.

J'ai remarquer que si le message est court y'a aucun probleme ,mais si il est long (~50 caracteres) ca passe pas..de meme si ya que des chiffres ca s'enregistre quelquesoit la longueur.
Le champ message dans ma BDD est de type longtext ,le moteur est Mylsam,et le champ dans ma page est comme ca :
<?php <td height="40" colspan="2"><center>

<textarea name="news" class="formulaire" rows="5" cols="40" ></textarea>


<input name="submit" type="submit" value="Envoyer"/>?>

Si quelqu'un avais une idée du pourquoi du problème...,j'ai essayé en changeant le type de champ dans ma bdd,(text,varchar etc..)mais rien n'y fait..
encore merci par avance

ps je suis avec la version 4.1.20 de mysql et 2.8 de phpmyadmin
seul les bons professeurs forment les bons autodidactes
moogli
le 30/12/2007 à 11:09
moogli
salut,
bonne année àtoi z'aussi ;)

les balises php dans le code ci dessus, c'est une boulette ou il manque quelque chose ?

peut tu nous montrer ton code de traitement du formulaire (wall stp;) )

merci

@+
Il en faut peu pour être heureux !!!!!
moogli
le 30/12/2007 à 13:03
moogli
j'ai essayé tu verra que > à5 0 caractères ça fonctione un peu ;)

désolé, j'ai un peu spammer tonlivre d'or ;)

ligne 71 supprime le die et remplace leur par un : echo '<p>Erreur SQL : '.mysql_error().'</p>';

tu aura un beau message d'erreur qui devrait t'indiquer le pb ;)

si t'a l'occassion passe sur le chan irc ça peut être plus simple ;)

pour ce qui est de ton code :

globalementne pas utiliser le die et mettre un beau message d'erreur et un lieu pour changer de page (retour précédente etc)

tu utilise des variables auto déclaré c'est pas génial, c'est un coup à avoir un p'tit probème ensuite ;)
- toujours utliser les valeurs dans $_POST / $_GET
- toujours vérifier si elle existe avant de les utiliser
- et surtout ne jamais les utiliser directement pour insertion dans ladb => mysql_real_escape_string



@+
Il en faut peu pour être heureux !!!!!
milsodor
le 30/12/2007 à 14:54
milsodor
merci moogli ,je t'en veut d'avoir spammer.. lol!!
donc si j'ai bien compris il faiut que je fasse une
verif des valeurs si elles existe avec if (isset) je suppose?

pour ce qui est de mysql_real_escape_string j'ai vu que c'etait pour une question de sécurité ,non?

mais en ce qui concerne le champ irc??? c'est quoi?
encore merci
@+
seul les bons professeurs forment les bons autodidactes
milsodor
le 30/12/2007 à 15:04
milsodor
je rajoute que l'envoie de mail de confirmation d'un ajout de message fonctionne..j'ai reçu tes messages sur ma boite moogli ;-)
seul les bons professeurs forment les bons autodidactes
moogli
le 30/12/2007 à 17:05
moogli
:)

CHAN : http://www.lephpfacile.com/irc/ le canal irc du site, c'est plus facile pour discuter :)

effectivement mysql_real_escape_string, permet d'éviter quelques soucis de sécurité (comme par exemple l'injection sql en mettant juste une ' dans la chaine etc.

Comme tu à pu le constater j'ai pu poster plus 50 caractères ;).
ce qu'il faudrait maintenant c'est message d'erreur retourné par mysql (avec ce que j'ai mis au dessus) et pourquoi pas la structure de la table ;)

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours