Aller au contenu

Problème avec un formulaire


Sujets conseillés

Posté

Mon message ayant été supprimé par erreur, je le remets... Je n'ai pas vu les réponses après que j'ai mis ce qu'il y avait dans le fichier error_log donc si vous pouviez les remettre (s'il y en a eu)

Bonjour,

je ne suis pas une webmaster pro. J'ai appris le HTML par Internet et j'apprends doucement le CSS de la même façon.

J'ai un site internet qui tourne sur le web depuis 2005. Au début, exclusivement en HTML, j'y ai rajouté, avec l'aide de connaissances et de forums, des éléments en PHP et CSS (un menu déroulant et un formulaire).

Le formulaire a été mis en place par un forum d'aide (que je ne retrouve plus) et fonctionnait très bien jusque ya quelques mois. Pourtant, je n'ai rien changé, ni sur le formulaire, ni sur le fichier cible, ni sur l'hébergeur. Donc je ne comprends pas trop d'où vient le soucis.

Lorsque mes membres tentent de m'envoyer un mail via le formulaire, ils tombent ensuite sur une page d'erreur

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster_AT_lesbiennes-stories.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Normalement, le formulaire est programmé pour que je reçoive les réponses au formulaire par mail et le fichier joint directement sur mon serveur. Là, je ne reçois rien du tout, même pas le fichier en pièce jointe.

Voici le lien vers la page où il y a le formulaire sur le site :
/>http://www.lesbiennes-stories.net/textes-envoyes/formulaireLS.html

Voici les codes pour la page HTML avec le formulaire :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

&quot;http://www.w3.org/TR/html4/loose.dtd">

<HTML>

<HEAD>

<form action="cible_envoi.php" method="post" enctype="multipart/form-data">

<body bgcolor="#CC99FF">

<h1><b><center>Pour envoyer votre histoire, rien de plus simple. Remplissez ce formulaire !</center></b></h1>

<br><br>

<h1><blink>ATTENTION :</blink></h1><br>

<h2><b>Il y a un soucis avec le formulaire. Je dois contacter la personne qui m'a aidé à le faire car je ne sais pas d'où ça peut venir.<br>

En attendant, vous pouvez m'envoyer vos histoires par mail (yulvolk_AT_scarlet.be) en prenant soin de bien copier dans votre mail, le questionnaire

ci-dessous et de le remplir entièrement. S'il n'est pas complet, l'histoire ne sera pas mise sur le site. MERCI.</b></h2>

<br><br>

<font color="red">

<b>ATTENTION :</b> votre histoire doit obligatoirement parler d'un couple lesbien, principal ou secondaire.<br></font>

Votre histoire doit être envoyée <b>COMPLETE</b> et tenir sur un seul fichier.<br>

La pièce-jointe sera envoyée avec votre formulaire UNIQUEMENT si votre fichier est au format DOC, DOCX, TXT ou ODT. Les autres formats ne sont pas compatibles.

<br><br><h2><center><b><u>Merci de bien remplir tous les champs du formulaire.</u></b></center></h2><br><br>

REMARQUE : Merci de relire votre histoire avant de nous l'envoyer. Même si vous n'êtes pas douée en orthographe, parfois, on reçoit des textes où il manque des mots

ou des phrases qui ne veulent strictement rien dire. Je rappelle également que vous avez une aide orthographique sur le site (menu déroulant dans Infos puis Aide).<br>

Un autre petit point pour le bien des lecteurs mais aussi de ceux qui mettent en ligne : il vaut parfois mieux faire 3 bons gros chapitres de 10 pages chacun que 30

chapitres de 10 lignes chacun. Essayez de mieux découper votre histoire. MERCI !

<br><br>

<TABLE BORDER=0>

<br>

<TR>

<TD>Pseudo de l'auteur</TD>

<TD>

<INPUT type=text name="Pseudo_auteur">

</TD>

</TR>

<TR>

<TD>Titre de l'histoire</TD>

<TD>

<INPUT type=text name="Titre_histoire">

</TD>

</TR>

<TR>

<TD>Nombre de chapitres</TD>

<TD>

<INPUT type=text name="Nombre_chapitres">

</TD>

</TR>

<TR>

<TD>Votre histoire est une :</TD>

<TD><input type="checkbox" name="quel[]" value="Fiction"> Fiction

<input type="checkbox" name="quel[]" value="Fanfiction"> Fanfiction</TD>

</TR>

<TR>

<TD>Si fanfiction, tatu, buffy, xena ... ?</TD>

<TD>

<INPUT type=text name="type_fanfic">

</TD>

</TR>

<TR>

<TD>Si fanfiction, le nom du couple principal</TD>

<TD>

<INPUT type=text name="couple_fanfic">

</TD>

</TR>

<TR>

<TD>Rating</TD>

<TD>

<SELECT name="Rating">

<OPTION VALUE="G">Général</OPTION>

<OPTION VALUE="PG">Parental Guidance</OPTION>

<OPTION VALUE="PG13">PG 13</OPTION>

<OPTION VALUE="R">Restricted</OPTION>

<OPTION VALUE="NC17">NC 17</OPTION>

<OPTION VALUE="NC21">NC 21</OPTION>

</SELECT>

</TD>

</TR>

<TR>

<TD>Genre(s) (CTRL = choix multiples)</TD>

<TD>

<SELECT name="Genre[]" multiple>

<OPTION VALUE="Action">Action</OPTION>

<OPTION VALUE="Angst">Angst</OPTION>

<OPTION VALUE="Aventure">Aventure</OPTION>

<OPTION VALUE="Drame">Drame</OPTION>

<OPTION VALUE="Erotique">Erotique</OPTION>

<OPTION VALUE="Fantastique">Fantastique</OPTION>

<OPTION VALUE="Guerre">Guerre</OPTION>

<OPTION VALUE="Horreur">Horreur</OPTION>

<OPTION VALUE="Humour">Humour</OPTION>

<OPTION VALUE="Mystère">Mystère</OPTION>

<OPTION VALUE="Porno">Porno</OPTION>

<OPTION VALUE="Romance">Romance</OPTION>

<OPTION VALUE="Science-fiction">Science-fiction</OPTION>

<OPTION VALUE="Suspens">Suspens</OPTION>

<OPTION VALUE="Violence">Violence</OPTION>

<OPTION VALUE="Autre">Autre</OPTION>

</SELECT>

</TD>

</TR>

<TR>

<TD>Adresse mail de l'auteur</TD>

<TD>

<INPUT type=text name="mail_auteur">

</TD>

</TR>

<TR>

<TD>Résumé de l'histoire</TD>

<TD>

<TEXTAREA rows="5" cols="50" name="Resume_histoire">

Tapez ici votre résumé</TEXTAREA>

</TD>

</TR>

<TR>

<TD>Remarques diverses</TD>

<TD>

<TEXTAREA rows="2" cols="50" name="Remarques">

Si vous avez des remarques à faire c'est ici</TEXTAREA>

</TD>

</TR>

<TR>

<TD>Votre histoire</TD>

<TD>

<input type="hidden" name="MAX_FILE_SIZE" value="5242880" />

<INPUT type="file" name="monfichier">

</TD>

</TR>

<TR>

<TD COLSPAN=2>

<INPUT type="submit" value="Envoyer">

</TD>

</TR>

</TABLE>

</body>

</FORM>

</HEAD>

</HTML>

Voici les codes de la page cible_envoi.php

<?php

$headers ='From: "monsite"<yulvolk_AT_lesbiennes-stories.net>'."\r\n";

$headers .='Reply-To: yulvolk_AT_lesbiennes-stories.net'."\r\n";

$headers .='MIME-Version: 1.0'."\r\n";

$headers .='Content-Type: text/html; charset="iso-8859-1"'."\r\n";

$headers .='Content-Transfer-Encoding: 8bit';

$pseudo = htmlentities($_POST['Pseudo_auteur']);

$titre = htmlentities($_POST['Titre_histoire']);

$chapitre = htmlentities($_POST['Nombre_chapitres']);

$type = $_POST['type_fanfic'];

$couple = $_POST['couple_fanfic'];

$rating = $_POST['Rating'];

$email = htmlentities($_POST['mail_auteur']);

$resume = htmlentities($_POST['Resume_histoire']);

$remarques = htmlentities($_POST['Remarques']);

// Pour récupérer les choix multiples de Genre

foreach ($_POST['Genre'] as $genre) {

$choix = $choix." ".$genre;

}

// Pour récupérer les checkbox Fiction et Fanfiction

if (isset($_POST['quel'])) {

foreach ($_POST['quel'] as $fic) {

$fiction = $fiction." ".$fic;

}

} else {

$fiction ="ni Fiction, ni Fanfiction";

}

// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur

if ((isset($_FILES['monfichier'])) AND ($_FILES['monfichier']['error'] == 0))

{

// Testons si le fichier n'est pas trop gros

if ($_FILES['monfichier']['size'] <= 5242880) // multiple de 1024

{

// Testons si l'extension est autorisée

$infosfichier = pathinfo($_FILES['monfichier']['name']);

$extension_upload = $infosfichier['extension'];

$extensions_autorisees = array('doc','docx','odt','txt');

if (in_array($extension_upload, $extensions_autorisees))

{

// On peut valider le fichier et le stocker définitivement

$fic = basename($_FILES['monfichier']['name']);

move_uploaded_file($_FILES['monfichier']['tmp_name'], 'formulaires/'.$fic);

$msgOK = "L'envoi a bien été effectué !";

}

}

}

$HTML = <<< EOFhtml

PSEUDO : $pseudo <br/>

TITRE : $titre <br/>

Nb CHAP : $chapitre <br/>

Fic ou fanfic : $fiction <br/>

TYPE de fanfic : $type <br/>

Couple : $couple <br/>

Rating : $rating <br/>

Genre : $choix <br/>

EMAIL : $email <br/>

Resume : $resume <br/>

Remarques : $remarques <br/>

FICHIER: <a href="formulaires/$fic">$fic</a><br/>

<b><center>$msgOK</center></b>

EOFhtml;

mail('yulvolk_AT_scarlet.be',$titre, $HTML, $headers);

?>

<body background=&quot;http://img397.imageshack.us/img397/890/violet045.jpg">

<p><b><center><FONT size="20pt">Merci d'avoir choisi L.S.</FONT></center></b></p>

<br><br>

<u>Notre fonctionnement :</u><br><br>

Dès réception de votre fichier, votre histoire va être analysée. Il y a plusieurs cas :<br>

- votre histoire est un <b>chapitre unique</b> : il sera mis entièrement sur le site à la prochaine mise à jour

ou la suivante (selon la date où vous l'envoyez). Toutefois, si votre chapitre unique fait moins de 2 pages,

il sera refusé sur le site mais vous pourrez le mettre sur notre forum, section "L'open Bar"<br>

- votre histoire comprend des <b>chapitres de plus de 10 pages</b> : il y aura un chapitre mis en ligne à chaque

mise à jour (nous ne mettons pas toute l'histoire d'un coup pour diverses raisons)<br>

- votre histoire comprend des <b>chapitres de moins de 10 pages</b> : plusieurs chapitres seront mis en ligne à

chaque mise à jour, à raison de 10 pages environ.

<br><br>

Dans tous les cas, après le découpage, votre histoire sera relue par deux correctrices différentes afin

d'éliminer le plus de fautes possibles.

Au niveau de l'hébergement, les 2 fichiers sont dans "www" dans un dossier nommé "textes-envoyes", là où les fichiers joints sont mis automatiquement quand envoyés par formulaire. Dans le doute, les 2 fichiers sont également avec les autres pages du site simplement dans "www"

Et voici ce qu'il y a sur le fichier error_log qu'on m'a demandé :

[19-Jan-2010 21:19:08] PHP Warning: Invalid argument supplied for foreach() in /home/yulvolk/public_html/textes-envoyes/cible_envoi.php on line 17

[21-Jan-2010 04:23:05] PHP Warning: Invalid argument supplied for foreach() in /home/yulvolk/public_html/textes-envoyes/cible_envoi.php on line 17

[04-Feb-2010 01:11:20] PHP Warning: Invalid argument supplied for foreach() in /home/yulvolk/public_html/textes-envoyes/cible_envoi.php on line 17

[05-Feb-2010 21:58:15] PHP Warning: Invalid argument supplied for foreach() in /home/yulvolk/public_html/textes-envoyes/cible_envoi.php on line 17

Mais comme je disais, les dates ne correspondent pas...

Posté

Et oui, comme je t'ai signalé par MP, j'ai supprimé ton message par erreur suite à un post de spammeur en réponse à celui-ci.

J'ai eu "la main trop lourde" au lieu de supprimer cette seule réponse smile.gif

Je te répondais donc que ces "Warnings" ne peuvent pas générer une erreur serveur.

C'est simplement parce que dans le "foreach" du fichier /home/yulvolk/public_html/textes-envoyes/cible_envoi.php à la ligne 17, tu utilises une variable qui n'est pas positionnée.

L'erreur pour corriger ce "warning" doit venir d'une des lignes qui précèdent le "foreach". Vraisemblablement celle où tu positionnes cette variable.

Tu devrais trouver dans les logs Apache la raison de l'erreur serveur que tu mentionnes. En recherchant dans ceux-ci la chaîne "500" tu devrais trouver ce qui coince.

Dan

Posté (modifié)

Les erreurs, ça arrive, t'inquiète. Heureusement j'avais fait un copié collé de ma demande.

moi pas avoir tout compris...

Où est-ce que je peux trouver les logs Apache ?

Et comment est-ce que l'erreur a pu venir comme ça d'un coup alors que je n'y ai rien touché ? A moins d'avoir effacé quelque chose par erreur, je ne vois pas...

En tout cas merci de m'aider

Modifié par YulVolk
Posté

Où est-ce que je peux trouver les logs Apache ?

Tout dépend de ton hébergement...

Et comme ton site est manifestement hébergé chez www.o2switch.fr sur une offre mutualisée à 6€/mois (c'est leur seule offre) ... pour accéder aux logs Apache il faudra leur demander si ces logs sont accessibles.

Posté

ok oui je les contacterai alors parce que c'est plus compliqué que ça.

En fait, à la base, je suis hébergée chez llord.com qui a été racheté par o2switch.fr mais j'ai gardé le type d'hébergement que j'avais sur llord (ils ne m'ont pas obligé à prendre leur offre de 6E/mois qui me reviendrait plus chère que l'offre contractée sur llord).

J'espère pouvoir, sinon peux faire quoi ? Refaire un autre formulaire de A à Z pour contrer l'erreur ? Tout repasser en revu pour voir s'il ny a pas un truc qui a été effacé ?

Je sais ce que c'est, j'ai souvent ce soucis, il suffit de 2 lettres inversées ou une balise non fermée pour tout rater lol.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...