Fusionner le post d'une news et un upload en PHP
Résolu
Coukies94
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
Coukies94 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Coukies94 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Fusionner le post d'une news et un upload en PHP
- Comment fusionner des pdf sans logiciel - Guide
- Youtube upload - Télécharger - Diffusion
- Fusionner deux cellules excel en gardant le contenu - Guide
- Easy php - Télécharger - Divers Web & Internet
- Fusionner mp3 - Télécharger - Audio & Musique
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je pense qu'une bonne partie du travail sera de modifier le javascript, pas le PHP.
es-tu d'accord de transférer le sujet vers le forum javascript?
es-tu d'accord de transférer le sujet vers le forum javascript?
Bonjour,
Aucun rapport avec le JS visiblement....
La première chose à faire, donc, est de n'avoir qu'un seule formulaire.
Et donc... UNE SEULE balise FORM
Balise form qui devra disposer d'un ENCTYPE
Donc place le enctype dans ton premier FORM
Ensuite, prend le code qui se situe dans ton fichier
Et place le dans ton autre fichier PHP (celui qui te sert à gérer tes news)
Une fois que cela sera fait... il faudra peut-être ajuster un peu ton code....
Si tu ne trouves pas... reviens nous voir avec ton code modifié.
NB : Applique ceci dans la rédaction de tes codes :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Aucun rapport avec le JS visiblement....
La première chose à faire, donc, est de n'avoir qu'un seule formulaire.
Et donc... UNE SEULE balise FORM
Balise form qui devra disposer d'un ENCTYPE
Donc place le enctype dans ton premier FORM
enctype="multipart/form-data">
Ensuite, prend le code qui se situe dans ton fichier
http://coukies.zapto.org:8005/FichiersUploader/upload.php
Et place le dans ton autre fichier PHP (celui qui te sert à gérer tes news)
Une fois que cela sera fait... il faudra peut-être ajuster un peu ton code....
Si tu ne trouves pas... reviens nous voir avec ton code modifié.
NB : Applique ceci dans la rédaction de tes codes :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Bonjour Jordane,
J'avais essayé de rassembler le fichier mais l'upload etait toujours en echec, sauf quand je clique sur le bouton "envoyer le fichier" et non celui que je souhaites "envoyer"
=> voici le code de mon code modifié "post.php" qui génére ma news et maintenant mon upload egallement :
J'ai tenté de mettre ça dans le "post.php" mais j'obtiens un message "Cette page ne fonctionne pas" :
J'avais essayé de rassembler le fichier mais l'upload etait toujours en echec, sauf quand je clique sur le bouton "envoyer le fichier" et non celui que je souhaites "envoyer"
=> voici le code de mon code modifié "post.php" qui génére ma news et maintenant mon upload egallement :
<?php $dossier = 'upload/'; $fichier = basename($_FILES['avatar']['name']); $taille_maxi = 10000000; $taille = filesize($_FILES['avatar']['tmp_name']); $extension = strrchr($_FILES['avatar']['name'], '.'); //Début des vérifications de sécurité... if($taille>$taille_maxi) { $erreur = 'Le fichier est trop gros...'; } if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload { //On formate le nom du fichier ici... $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... { echo 'le fichier à bien été envoyé au support informatique, merci !'; echo '<br />'; echo '<a href="http://coukies.zapto.org:8005">Retour</a>'; } else //Sinon (la fonction renvoie FALSE). { echo 'Echec de l\'upload !'; } } else { echo $erreur; } ?> <? touch("news.bdd"); // on cree le fichier si il existe pas if(ereg("^(.+)@(.+)\\.(.+)$", $_POST["mail_news"])) { $_POST["post_news"] = "<a href='mailto:".$_POST["mail_news"]."'>".$_POST["post_news"]."</a>"; } $_POST["mess_news"] = ereg_replace("\n", "<br>", $_POST["mess_news"]); $News = "<br>=====================================<br> <b>Créé par :</b> ".$_POST["post_news"]."<br>". "<b>Résumé :</b> ".$_POST["titre_news"]. "<br><b>Priorité :</b> ".$_POST["titre_prio"]. "<br><b>Date :</b> ".date("d-m-Y H:i:s"). "<br><b>Description :</b><br> ".$_POST["mess_news"] ; $Fichier = 'news.bdd' ; //on regarde si le fichier existe //on charge le contenue actuel $Fichier_r = fopen($Fichier,"r+"); $contenue = fread($Fichier_r , filesize($Fichier)); fclose($Fichier_r); //on ecrit la nouvelle news puis l'ancien contenue $Fichier_w = fopen($Fichier,"w+"); // on ouvre le fichier fwrite($Fichier_w,stripslashes($News. "<!-- *********** -->". $contenue)); // on ecrit dans le fichier; fclose($Fichier_w); // on referme le fichier; ?> Ticket créé pour voir les tickets actuellement ouverts <a href="voire.php">cliquez ici</a> <br> Sinon pour revenir sur le dashboard <a href="../index.php">cliquez ici</a>
J'ai tenté de mettre ça dans le "post.php" mais j'obtiens un message "Cette page ne fonctionne pas" :
enctype="multipart/form-data">
Bon bah je dois avouer que je n'arrive pas à modifier correctement mon formupost.php en ne laissant qu'une balise "FORM" la communauté CCM pourrait m'aider à modifier mon formulaire ? =)
J'ai essayé grace à ton commentaire de suivre les infos ici :
mais meme avec ça je n'y arrive pas.
https://www.la-grange.net/w3c/html4.01/interact/forms.html
Voici mon code actuel :
J'ai essayé grace à ton commentaire de suivre les infos ici :
mais meme avec ça je n'y arrive pas.
https://www.la-grange.net/w3c/html4.01/interact/forms.html
Voici mon code actuel :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Créer un ticket</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <script language="javascript" type="text/javascript"> function ajoutbalise(balise) { if (balise == '<img src=\'URL\'>') {var url = prompt("URL de l'image :",""); balise = '<img src=\'' + url +'\'>' ; } else if ( balise == '<a href=\'URL\'>Lien</a>') {var url = prompt("URL du lien :","http://"); var lien = prompt("Nom du lien :",""); balise = '<a href=\'' + url +'\'>' + lien +'</a>'; } var txtarea = document.formulaire.mess_news; text = ' ' + balise + ''; if (txtarea.createTextRange && txtarea.caretPos) { var caretPos = txtarea.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; txtarea.focus(); } else { txtarea.value += text; txtarea.focus(); } } </script> <div align="center"><u><h1>Créer un ticket :</h1></u></div> <form action="post.php" method="post" name="formulaire"> <br> <br> <div align="center"> <table width="454" border="0"> <div align="right"> <tr> <td width="448"><p align="center">Votre nom (ou nom du demandeur) : <br> <form action="/action_page.php" method="get"> <input list="browsers" name="post_news" type="text" required size="50"> <datalist id="browsers"> <option value="Billy 0836656565"> <option value="Julien 0836656565"> <option value="Philippe 0836656565"> <option value="Commercial1 0836656565"> <option value="Commercial2 0836656565"> </datalist> </form> <p align="center">Priorité (urgence du ticket) : <br> <SELECT name="titre_prio" size="1" type="option" required > <OPTION> <OPTION>3 (basse) <OPTION>2 (haute) <OPTION>1 (très haute) </SELECT> </p> <p align="center">Résumé du ticket : <br><input name="titre_news" type="text" required size="50"> </p> <br> </td> </tr> </div> </table> <table width="100" border="0" bordercolor="#FFFFFF"> <tr> <td><div align="center"> <p><img src="../img/IMG-URL-BR-B-I.jpg" width="149" height="26" border="0" usemap="#MapMap"> <img src="../img/Text_Color.jpg" width="64" height="66" border="0" usemap="#Map2"> <map name="MapMap"> <area shape="rect" coords="0,1,33,25" href="javascript:ajoutbalise('<img src=\'URL\'>')"> <area shape="rect" coords="32,1,73,25" href="javascript:ajoutbalise('<a href=\'URL\'>Lien</a>')"> <area shape="rect" coords="72,1,99,25" href="javascript:ajoutbalise('<BR> \n')"> <area shape="rect" coords="99,2,122,26" href="javascript:ajoutbalise('<b></b>')"> <area shape="rect" coords="122,1,149,25" href="javascript:ajoutbalise('<i></i>')"> </map> </p> </div></td> </tr> </table> <map name="Map"> <area shape="rect" coords="0,1,33,25" href="javascript:ajoutbalise('<img src=\'URL\'>')"> <area shape="rect" coords="32,1,73,25" href="javascript:ajoutbalise('<a href=\'URL\'>Lien</a>')"> <area shape="rect" coords="72,1,99,25" href="javascript:ajoutbalise('<BR> \n')"> <area shape="rect" coords="99,2,122,26" href="javascript:ajoutbalise('<b></b>')"> <area shape="rect" coords="122,1,149,25" href="javascript:ajoutbalise('<i></i>')"> </map> <p> <p><u>Description du ticket :</u></p> <textarea name="mess_news" cols="50" rows="10" required></textarea> </p> <p> <!-- transfert fichier --> <form method="POST" action="http://coukies.zapto.org:8005/FichiersUploader/upload.php" enctype="multipart/form-data"> <!-- On limite le fichier à 10000Ko --> <input type="hidden" value="10000000"> <input type="file" name="avatar"> <input type="submit" name="envoyer" value="Envoyer le fichier"> </form> <!-- fin transfert fichier --> <input type="submit" name="Submit" value="Envoyer"> </p> </div> </form> <map name="Map2"> <area shape="rect" coords="3,17,21,31" href="javascript:ajoutbalise('<font color=\'#FF0000\'></font>')"> <area shape="rect" coords="3,33,21,47" href="javascript:ajoutbalise('<font color=\'#1800FF\'></font>')"> <area shape="rect" coords="22,17,41,31" href="javascript:ajoutbalise('<font color=\'#FF9900\'></font>')"> <area shape="rect" coords="23,33,41,47" href="javascript:ajoutbalise('<font color=\'#FF00DE\'></font>')"> <area shape="rect" coords="3,49,21,63" href="javascript:ajoutbalise('<font color=\'#000000\'></font>')"> <area shape="rect" coords="23,49,41,63" href="javascript:ajoutbalise('<font color=\'#999999\'></font>')"> <area shape="rect" coords="42,17,61,31" href="javascript:ajoutbalise('<font color=\'#FFFF00\'></font>')"> <area shape="rect" coords="43,33,61,47" href="javascript:ajoutbalise('<font color=\'#00FF06\'></font>')"> <area shape="rect" coords="43,49,61,63" href="javascript:ajoutbalise('<font color=\'#FFFFFF\'></font>')"> </map> </body> </html>
Dans le code que tu nous montres...
Il y a encore DEUX FORM
et
Ah NON ... rectification ... tu as TROIS FORM...
Il y a aussi celui la :
Qu'est-ce que tu n'as pas compris lorsque je t'ai indiqué de n'en mettre qu' UN SEUL ?
Ce n'est pourtant pas sorcier....
Pour être plus clair...
Tu prends TOUT le code HTML de ton formulaire (y compris la gestion des fichiers...) ( mais SANS LES BALISES FORM bien entendu... )
et tu le place entre la balise form
Et dans ton fichier "traitement.php" tu places TOUT le code PHP qui correspond au traitement de tes formulaires.
Il y a encore DEUX FORM
<form action="post.php" method="post" name="formulaire">
et
<form action="/action_page.php" method="get">
Ah NON ... rectification ... tu as TROIS FORM...
Il y a aussi celui la :
<form method="POST" action="http://coukies.zapto.org:8005/FichiersUploader/upload.php" enctype="multipart/form-data">
Qu'est-ce que tu n'as pas compris lorsque je t'ai indiqué de n'en mettre qu' UN SEUL ?
Ce n'est pourtant pas sorcier....
Pour être plus clair...
Tu prends TOUT le code HTML de ton formulaire (y compris la gestion des fichiers...) ( mais SANS LES BALISES FORM bien entendu... )
et tu le place entre la balise form
<form method="POST" action="traitement.php" enctype="multipart/form-data"> <!-- ICI TU PLACE TON CODE HTML DE TON FORMULAIRE ! --> <input type="submit" name="Submit" value="Envoyer"> </form>
Et dans ton fichier "traitement.php" tu places TOUT le code PHP qui correspond au traitement de tes formulaires.