Récupérer valeur textarea
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- Récupérer valeur textarea
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
4 réponses
Bonjour,
Tu parles de TEXTAREA dans ton titre... hors je ne vois qu'un INPUT...
Par contre, il est préférable de placer les scripts Javascript dans des fonctions.. plutôt que d'essayer de tout coder directement dans le onclick
remplaces également le SUBMIT par BUTTON .. vu que de toutes façons tu fais la redirection de ta page via le javascript....
ce qui devrait donner :
Si ça ne fonctionne toujours pas, utilises tes outils de debogage de ton navigateur internet ( moi je prend le plugin Firebug pour firefox) et regarde si dans la console tu n'as pas des erreurs de scripts....
Tu parles de TEXTAREA dans ton titre... hors je ne vois qu'un INPUT...
Par contre, il est préférable de placer les scripts Javascript dans des fonctions.. plutôt que d'essayer de tout coder directement dans le onclick
remplaces également le SUBMIT par BUTTON .. vu que de toutes façons tu fais la redirection de ta page via le javascript....
ce qui devrait donner :
<input type="text" name="Newsletter" id="Newsletter" value="<?php echo $Newsletter; ?>bonjour@sivop.com" style="width:300px" /> <br /> <br /> <input type="button" name="Envoyer" class="Btn BtnRouge" value="Désinscription à la lettre d'information" onclick="confirmSuppr('<?php echo $Newsletter; ?>');" /> <script type="text/javascript"> function confirmSuppr(newsletter){ if(confirm('Êtes-vous sûr de vouloir supprimer « ' + newsletter + ' » ?')) { document.location='delete.php?action=delete&email='+newsletter; } } </script>
Si ça ne fonctionne toujours pas, utilises tes outils de debogage de ton navigateur internet ( moi je prend le plugin Firebug pour firefox) et regarde si dans la console tu n'as pas des erreurs de scripts....
Merci Jordane,
J'ai changé le script pour avoir une seule page (sans redirection) et tout en php.
Voici le message d'erreur que je reçois, je sais que je suis sur la bonne voie, mais je suis un peux callé...
J'ai changé le script pour avoir une seule page (sans redirection) et tout en php.
<form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="FormDelete"> <input type="text" name="f_Newsletter" style="width:300px; <?php if($errf_Newsletter==1){print($StyleErreur);} ?>" value="<?php echo stripslashes($f_Newsletter); ?>"> <br /><br /> <input type="submit" name="Envoyer" class="Btn BtnRouge" value="Désinscription à la lettre d'information"> <?php if(isset($_POST['Envoyer'])){$erreur=""; while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);} else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}} $f_Newsletter = trim(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Newsletter)); if(strlen($f_Newsletter)<2) {$erreur.="Le champ « adresse électronique » est vide !"; $errf_Newsletter=1; } else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Newsletter)) {$erreur.="La syntaxe de l'adresse électronique est incorrecte !"; $errf_Newsletter=1;}} if($erreur==""){ $dbz = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_BASE,$dbz); $sql = "DELETE FROM tb_newsletter_adresses WHERE Newsletter='".$f_Newsletter."'"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $valide.="La désinscription de l'adresse électronique <strong>".$f_Newsletter."</strong> a été prise en compte.";}} ?> <?php if($valide){ ?> <?php echo "<div class='Message_Info'>".$valide."</div>" ?> <?php } ?> <?php if($erreur){ ?> <?php echo "<div class='Erreur_Info'>".$erreur."</div>" ?> <?php } ?> </form>
Voici le message d'erreur que je reçois, je sais que je suis sur la bonne voie, mais je suis un peux callé...
Erreur SQL !DELETE FROM tb_newsletter_adresses WHERE Newsletter=bonjour@sivop.com 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 '@sivop.com' at line 1
ça n'a plus de rapport avec ta question initiale....mais bon....
Visiblement la requête générée est la suivante :
C'est étonnant qu'il manque les quotes autour de bonjour@sivop.com ....
Normalement tu devrais avoir :
Prends donc cette requête .. et testes là en direct dans ta BDD.... et regarde ce qu'il te dit...
Perso j'utilise HeidiSql ( https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql ) mais tu peux passer par PhpMyadmin si toi tu préfères....
Visiblement la requête générée est la suivante :
DELETE FROM tb_newsletter_adresses WHERE Newsletter=bonjour@sivop.com
C'est étonnant qu'il manque les quotes autour de bonjour@sivop.com ....
Normalement tu devrais avoir :
DELETE FROM tb_newsletter_adresses WHERE Newsletter='bonjour@sivop.com'
Prends donc cette requête .. et testes là en direct dans ta BDD.... et regarde ce qu'il te dit...
Perso j'utilise HeidiSql ( https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql ) mais tu peux passer par PhpMyadmin si toi tu préfères....
la requête
Je ne comprends pas pourquoi il fait ça !
DELETE FROM tb_newsletter_adresses WHERE Newsletter='bonjour@sivop.com'a effectivement supprimée l'enregistrement...
Je ne comprends pas pourquoi il fait ça !
Recréé ta ligne dans ta BDD puis retestes ceci :
Essayes ça et dis nous ce que ça t'affiche !
Au passage.. la suite de ton code... evites de Fermer/ouvrir des Balises PHP pour rien..
Peut s'écrire plus proprement :
Cordialement,
Jordane
if($erreur==""){ //********************************************************// // déjà...cette partie là de ton code devrait se trouver dans un fichier à part // que tu aurais juste à inclure en début de ta page... $dbz = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_BASE,$dbz); //********************************************************// $sql = "DELETE FROM tb_newsletter_adresses WHERE Newsletter='".$f_Newsletter."'"; //----------------------------------------------------------------- // Le temps des tests : //----------------------------------------------------------------- echo "<pre> f_Newsletter = ".$f_Newsletter."</pre>"; echo "<pre> La requête => <br> ".$sql."</pre>"; //----------------------------------------------------------------- mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error()); $valide.="La désinscription de l'adresse électronique <strong>".$f_Newsletter."</strong> a été prise en compte."; } } ?>
Essayes ça et dis nous ce que ça t'affiche !
Au passage.. la suite de ton code... evites de Fermer/ouvrir des Balises PHP pour rien..
<?php if($valide){ ?> <?php echo "<div class='Message_Info'>".$valide."</div>" ?> <?php } ?> <?php if($erreur){ ?> <?php echo "<div class='Erreur_Info'>".$erreur."</div>" ?> <?php } ?>
Peut s'écrire plus proprement :
if($valide){ echo "<div class='Message_Info'>".$valide."</div>" } if($erreur){ echo "<div class='Erreur_Info'>".$erreur."</div>" } ?>
Cordialement,
Jordane