textaera: retourchariot = une entrée dans la base

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 : textaera: retourchariot = une entrée dans la base

par MarieTM » 25 févr. 2009, 16:12

mais comment t'es TROP FORT
tu es au php ce que les trous sont au gruyère

par @rthur » 25 févr. 2009, 16:04

Fais un trim($nomKey) avant de l'insérer dans ta bae et ça devrait le faire :)

par MarieTM » 25 févr. 2009, 15:57

merci :)
mais les formulaire ne seront pas disponibles sur internet (juste en interne). Donc pas de souci quant à ça.

le truc c'est que il y a un bug dans mon code.

j'insère bien mes entrées, mais à chaque retour chariot il m'en insère un aussi dans ma table, sauf pour la dernière occurence, qui n'a pas de retour chariot.

Je ne sais pas si c'est clair ^^

en gros quand je regarde ma variable dans ma table, il y a le nom de ma variable mais le curseur a fait un retour chariot.

mon code:

$tableauchamp = explode("\n", $nomKey);

par Aureusms » 25 févr. 2009, 15:49

Lol Arthur pas eu le temps de me corriger... :lol:

par @rthur » 25 févr. 2009, 15:47

Pour toutes les entrées vers base de données, n'oublies pas de te protéger des injections sql via addslashes() ou mysql_escape_string() (au choix).
Ou plutôt que de laisser le choix, mysql_real_escape_string() est en générale la meilleure solution et la plus sure sans avoir à se creuser la tête ;)

par Aureusms » 25 févr. 2009, 15:45

Pour toutes les entrées vers base de données, n'oublies pas de te protéger des injections sql via addslashes() ou mysql_escape_string() (au choix).

par MarieTM » 25 févr. 2009, 15:09

@@rthur pause dej finie, je m'y mets!
pour sur que je vais bloquer, je te remercie :)

Mais ça marche!!!! parfait merci à toi :)
Bouclé en 10 min. même pas

par @rthur » 25 févr. 2009, 14:12

@@rthur je vais faire des recherches la dessus merci :)
N'hésites pas à revenir poser une question si tu bloques quelque part. ;)

par MarieTM » 25 févr. 2009, 13:44

@@rthur je vais faire des recherches la dessus merci :)

par @rthur » 25 févr. 2009, 13:39

Bonjour,

Il te faudra faire un explode sur le caractère \n (le retour à la ligne) tu va alors obtenir un tableau avec un mot dans chaque "case"
Ensuite tu fais un foreach($ton_tableau as $mot) et dedans tu mets ton mysql_query en insérant $mot

textaera: retourchariot = une entrée dans la base

par MarieTM » 25 févr. 2009, 13:25

Bonjour,

J'ai réalisé un formulaire, comportant un textaera.

Il fonctionne: je rentre un mot, envoie, et mon mot est inséré dans la base de données, associé à sa catégorie sélectionnée dans un select. J'ai donc deux champs qui sont remplis, et une ligne.


Comme j'ai beaucoup de mots à remplir, je souhaiterais en rentrer plus d'un coup, par retour chariot. Ainsi je mettrais dans mon textaera un truc du style:

mot1
mot2
mot3
mot4

Puis "Envoyer", plutôt qu'envoyer après chaque mot.

Est-il possible de détecter chaque retour chariot, puis d'insérer ces mots dans différentes lignes, en conservant la catégorie associées bien sur.

Une partie de mon formulaire (sans le select):

<tr>
<td>
<textarea rows='3' name='champmot'></textarea>
</td>
</tr>
<br />
<tr>
<td colspan=2>
<input class='submit2' type='submit' value='ok' name='valider'/>
</td>
</tr>

ma requete:

$nomMot = $_POST['champmot'];
$ajoutmot = mysql_query("INSERT INTO keywords (nomMot ,catMot) VALUES ('$nomMot ','$catMot') ");

le catmot est la catégorie récupérée dans le select (pas envie de mettre trop de code superflu ^^ )

Merci pour votre aide :)