Bonjour a tous

voila mon probleme est le suivant :
j ai fait mon portfolio en php entierement (il nest pas encore en ligne) et mon formulaire de contac ne marche pas

je procede ainsi,

>>> je cree mon formulaire.php ,

>>>je mets mes balise form en precisant dans l'action un autre fichier.php (qui informe ceci "message envoyé") et j'ajoute la methode POST !

Mais quand je le test y ceci qui apparait =>

"Warning: fopen(data.txt): failed to open stream: No such file or directory in /home/sites/site1091/web/mail.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /home/sites/site1091/web/mail.php:5) in /home/sites/site1091/web/mail.php on line 18"

Je ne c plus quoi faire Smiley bawling
Modifié par rod702 (05 Oct 2008 - 19:55)
voila a quoi ressement mon php du formulaire (contact.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="inc/css/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="global">
  <div class="cellule_header" id="header"><?php include('header.php'); ?>
  </div>
  <div id="body_contact">
  
  
  <!-- debut tableau du formulaire --> 
    <div id="mon_formulaire">
   
    <table cellspacing="0" cellpadding="0">
  <tr>
    <th width="660" height="90" valign="top" class="txt">consectetuer adipiscing elit non ante. Sed volutpat. Aenean a la cus ac dolor laoreet rutrum. Fusce leo massa, pellentesqu lorem ipsum</th>
  </tr>
  <tr>
    <th>
    
    <table width="660" cellpadding="0" cellspacing="0">
      <tr>
        <th colspan="3"></th>
      </tr>
      <tr>
        <th width="315" align="right"><table cellspacing="0" cellpadding="0">
            <tr>
              <th width="113" align="left" class="id_champs_formulaire">Nom et prénom :</th>
              <td><input name="nom" type="text" class="champs" id="nom" />
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="12"></td>
            </tr>
            <tr>
              <th align="left" class="id_champs_formulaire">Votre Email :</th>
              <td><input name="email" type="text" class="champs" id="email" />
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="12"></td>
            </tr>
            <tr>
              <th align="left" class="id_champs_formulaire">Sujet :</th>
              <td><input name="sujet" type="text" class="champs" id="sujet" />
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="12"></td>
            </tr>
            <tr>
              <th align="left" valign="top" class="id_champs_formulaire">Message :</th>
              <td><textarea name="message" cols="45" rows="5" class="champs_message" id="message">Tapez votre message</textarea>
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="10"></td>
            </tr>
            <tr>
              <th></th>
              <td class="btn_envoyer"><input type="submit" name="button3" id="button3" value="Envoyer" />
              </td>
            </tr>
        </table>
        </th>
        <th width="49"></th>
        <td width="294" align="left" class="fnd_form" style="font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:normal; color:#FFFFFF; padding-left:28px; padding-bottom:20px;">
        
        	<p><span class="txt_vert">DELL’OGLIO Roberto - ROD_702</span><br />
          	Webdesigner - infographiste<br />
          	Versailles 78000 - France</p>
          	<p><span class="txt_gris">Mobile :</span> 06 60 54 49 90 .<br />
              <span class="txt_gris">Contact email :</span> <a href="mailto:rod_702@hotmailcom" class="mon_email">rod_702@hotmail.com </a></p>
        </td>
      </tr>
    </table></th>
  </tr>
</table>
    </form>
  <!-- Fin tableau du formulaire -->     
    </div>
    
  </div>
</div>
</body>
</html>

Modifié par rod702 (04 Oct 2008 - 12:48)
et voila l'action post du fichier php::::


<?
$email = "rod_702@hotmail.com;roberto.dell_oglio@club-internet.fr";
$page = "http://www.rod702.com/merci.php";
$subject = "contact via mon site";
if($myFile=fopen("data.txt","r"))
{
while(!feof($myFile))
{
$myLine=fgets($myFile,255);
}
fclose($myFile);
}
while (list($key,$value) = each($HTTP_POST_VARS))
{
$message .="$key :  $value\n";
}
mail($email,$subject,$message,"from:demande $myLine");
header("Location:".$page);
?>

Modifié par rod702 (04 Oct 2008 - 12:46)
excusez moi voila la page php avec le formulaire
------------------------------------------------------------


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link href="inc/css/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="global">
  <div class="cellule_header" id="header"><?php include('header.php'); ?>
  </div>
  <div id="body_contact">
  
  
  <!-- debut tableau du formulaire --> 
    <div id="mon_formulaire">
   <form action="mail.php" method="post">
    <table cellspacing="0" cellpadding="0">
  <tr>
    <th width="660" height="90" valign="top" class="txt">consectetuer adipiscing elit non ante. Sed volutpat. Aenean a la cus ac dolor laoreet rutrum. Fusce leo massa, pellentesqu lorem ipsum</th>
  </tr>
  <tr>
    <th>
    
    <table width="660" cellpadding="0" cellspacing="0">
      <tr>
        <th colspan="3"></th>
      </tr>
      <tr>
        <th width="315" align="right"><table cellspacing="0" cellpadding="0">
            <tr>
              <th width="113" align="left" class="id_champs_formulaire">Nom et prénom :</th>
              <td><input name="nom" type="text" class="champs" id="nom" />
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="12"></td>
            </tr>
            <tr>
              <th align="left" class="id_champs_formulaire">Votre Email :</th>
              <td><input name="email" type="text" class="champs" id="email" />
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="12"></td>
            </tr>
            <tr>
              <th align="left" class="id_champs_formulaire">Sujet :</th>
              <td><input name="sujet" type="text" class="champs" id="sujet" />
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="12"></td>
            </tr>
            <tr>
              <th align="left" valign="top" class="id_champs_formulaire">Message :</th>
              <td><textarea name="message" cols="45" rows="5" class="champs_message" id="message">Tapez votre message</textarea>
              </td>
            </tr>
            <tr>
              <th></th>
              <td height="10"></td>
            </tr>
            <tr>
              <th></th>
              <td class="btn_envoyer"><input type="submit" name="button3" id="button3" value="Envoyer" />
              </td>
            </tr>
        </table>
        </th>
        <th width="49"></th>
        <td width="294" align="left" class="fnd_form" style="font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:normal; color:#FFFFFF; padding-left:28px; padding-bottom:20px;">
        
        	<p><span class="txt_vert">DELL’OGLIO Roberto - ROD_702</span><br />
          	Webdesigner - infographiste<br />
          	Versailles 78000 - France</p>
          	<p><span class="txt_gris">Mobile :</span> 06 60 54 49 90 .<br />
              <span class="txt_gris">Contact email :</span> <a href="mailto:rod_702@hotmailcom" class="mon_email">rod_702@hotmail.com </a></p>
        </td>
      </tr>
    </table></th>
  </tr>
</table>
    </form>
  <!-- Fin tableau du formulaire -->     
    </div>
    
  </div>
</div>
</body>
</html>

Modifié par rod702 (04 Oct 2008 - 12:46)
Bonjour,
Je sais déjà qu'en PHP si tu débutes ton code comme ceci "<?" cela provoque des erreurs. Donc mets plutôt "<?php". Smiley cligne
Gil88 a écrit :
Je sais déjà qu'en PHP si tu débutes ton code comme ceci "<?" cela provoque des erreurs.

Cela dépend de la configuration du serveur. Mais effectivement mieux vaut utiliser le tag <?php complet plutôt que le short tag <?.

Pour les erreurs rencontrées:
- l'une vient du fait que PHP ne peut pas accéder au fichier demandé, soit parce que le chemin vers le fichier est faux, soit parce que le fichier n'existe pas, soit parce la configuration du serveur impose des restrictions à la fonction fopen;
- l'autre vient du fait que tu veux générer un en-tête HTTP (fonction header) après avoir généré du contenu (ne serait-ce que des espaces), ce qui est impossible.
Modifié par Florent V. (03 Oct 2008 - 11:43)
merci pour vos réponses en effet je debute en php

Je vais d'abord revoir ma syntax en php ! Par contre mon serveur accepte le php enfin ce ce qui est dit chez mon hebergeur ! Smiley langue
rod702 a écrit :
Par contre mon serveur accepte le php enfin ce ce qui est dit chez mon hebergeur ! Smiley langue

C'est effectivement le cas puisque PHP te renvoie des erreurs. Si le PHP n'était pas exécuté, en chargeant tes pages tu pourrais voir le code PHP dans le code source, ce qui n'est pas le cas ici.

En passant, n'oublie pas de tenir compte du message d'Igor ci-dessus.
hello...

Je pense que la seconde erreur découle de la première. En effet, vu que PHP n'arrive pas a accéder au fichier demandé, il te le fait savoir en te l'écrivant et donc génère du contenu AVANT ta tentative de génération du header, ce qui créer une deuxième erreur.

Dons si tu résouts ta première erreur, la deuxième devrait disparaitre automatiquement...

a+
Modifié par MiCH0L (03 Oct 2008 - 15:45)
suite...

ton fichier data.txt sert a quoi au juste ? Quoi qu'il en soit, quelle que soit sa fonction, vu qu'il n'existe pas là ou tu tente d'y accéder (cad la racine de ton site) et que tu tente de l'ouvrir en "r"... ben ça marche pas.

PS : il te manque un point-virgule dans ta feuille de style, class .txt_email_ok, après font-size:
Merci pour les reponses!
Alors le fichier date ou txt je ne c pas et j'en suis moi meme etonné ! Smiley smile
Mais la je vais les tests et je vous dirais si ca marche ! Smiley lol
Heu... c'est moi ou on zappe les demandes des modérateurs dans ce sujet?

rod702, Igor t'a demandé de faire des corrections sur tes messages ci-dessus. Pourrais-tu prendre en compte ses remarques, s'il te plait? Merci d'avance.
Smiley eek
par contre j'ai oublié de vous expliquez que que j'ai un fichier header.php qui esi inclu dans des contenu different c'es t a dire

dans page index.php j'ai mi un include (header.php)
page2.php (include header)

Smiley ohwell je testerai cela merci et je vous tiendrais au courant !
Smiley sweatdrop et j'ai oublié de prcesier que dans ma page en PHP j'ai mis la balise <form> or est ce que ca pose probleme pour la suite ?



<form method="post" action="mail.php">
 
< ---mon formulaire---->

</form>
 
Ben euh pour l'instant c'est pas ton problème. Ton problème, c'est que tu envoies un en-tête HTTP (fonction header en PHP) après avoir généré des contenus. Et que tu utilises la fonction fopen pour accéder à un fichier qui n'existe pas. Donc corrige ça d'abord, et on verra après.
salut tout le monde !
Smiley lol bonne nouvelle Smiley lol
j'ai refait mon code php en fouinant sur le net j'ai retrouvé ce que je voulais par la suite j'ai comparé avec le code que j'avai et effectivement il y avait quelque codes inutiles ! Smiley langue

Bref ca marche je me suis fait plaisir en menvoyant des mails !plus de message d'erreur ! ma page se redirgebien sur la page de remerciement Smiley ravi
voia la code qui a changé ma vie !


<?php
$TO = "ICI MON EMAIL";

$h  = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);
header("Location: ICI TRES IMPORTANT LE LEIN POUR LE REMERCIEMENT");
?>


VOILA !! Smiley biggol ALORS merci a tout ceux qui mon aidés pour ce post vous etes super ! Smiley lol
Modifié par rod702 (05 Oct 2008 - 18:49)