recherhce de script php : envoyer à un ami

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 : recherhce de script php : envoyer à un ami

par fersayn » 20 mai 2006, 21:22

merci a ganesha pour son aide utile....

par fersayn » 20 mai 2006, 20:22

oui, j'avais mis une nouvelle fonction:
$var01=$_SERVER["HTTP_REFERER"];
      $message="Bonjour $to,\n\n$from ($fromemail) souhaiterait vous recommander $TitreSite.\n\n$Description\n\nL'adresse : $URLSite\n\n$var01,\n\nLe Webmaster ";
mais il me donne l'adresse de la page du script d'envoi mais l'url de la d'ou est appelé le script???

comme dans ton exemple....

par Truc » 20 mai 2006, 20:10

les "\n\n" sont des sauts de lignes et considérés comme du caractère et non variable de meme pour les ( ) .
$message="Bonjour ". $to ."\n\n". $from ." (".$fromemail.") souhaiterait vous recommander " . $TitreSite ."\n\n".$Description."\n\nL'adresse :". $URLSite ."\n\nVotre ami vous recommande l'article suivant:". $_SERVER["HTTP_REFERER"] ."\n\nLe Webmaster ";

par fersayn » 20 mai 2006, 19:27

oui mais voici ce que j'ai essayé:
$message="Bonjour". $to .\n\n. $from .($fromemail)"souhaiterait vous recommander" . $TitreSite .\n\n.$Description.\n\n"L'adresse :". $URLSite .\n\n"Votre ami vous recommande l'article suivant:". $_SERVER["HTTP_REFERER"] .\n\n"Le Webmaster "; 
et voici ce qu'il me dit:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/data/lri/8/K/4/B/8K4B58RP/docs/recomail.php3 on line 18

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /var/www/data/lri/8/K/4/B/8K4B58RP/docs/recomail.php3 on line 18

Parse error: parse error, unexpected T_STRING in /var/www/data/lri/8/K/4/B/8K4B58RP/docs/recomail.php3 on line 18

par Truc » 20 mai 2006, 19:17

Tu as identifié la ligne maintenant il ne reste plus qu'à sortir les variables de la chaine pour qu'il n'y ait plus d'erreur.

Je t'ai montré comment faire des concaténation il faut en faire autant dans ces deux lignes de code.

par fersayn » 20 mai 2006, 18:39

J'ai essayé pas mal de truc mais ca ne marche pas...

comment faire???

je situe l'erreur à cet endroit:
$message="Bonjour $to,\n\n$from ($fromemail) souhaiterait vous recommander $TitreSite.\n\n$Description\n\nL'adresse : $URLSite\n\nVotre ami vous recommande l'article suivant: $_SERVER["HTTP_REFERER"]\n\nLe Webmaster ";
merci de votre aide

par Truc » 20 mai 2006, 17:08

avec la coloration syntaxique tu peux très facilement voir ton erreur.

de façon générale il faut éviter d'inclure les variables dans une chaine de caractères débutant par des guillemets et utiliser les concaténation à la place.
"chaine ". $de . " caractères ". $avec ." concaténations";
$_SERVER est une variable "tableau" il faut donc d'autant plus faire attention

par fersayn » 20 mai 2006, 16:40

Ok, j'ai trouvé la fonction: $_SERVER["HTTP_REFERER"]

la fonction marche mais je n'arrive pas à l'inclure dans l'envoi, il me dit:

Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/data/lri/8/K/4/B/8K4B58RP/docs/recomail.php3 on line 18

voici ce à quoi j'ai pensé:
<?php
include("config.inc.php3");
$Description=str_replace('"','',$Description);
?>
<HTML>
<HEAD>
<LINK REL="stylesheet" TYPE="text/css" HREF="/styles.css">
<?php
function EmailOK($email)
{
return ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',$email);
}

if($action == 'sent')
  {
   if(EmailOK($toemail) && EmailOK($fromemail) && !empty($from) && !empty($to))
     {
      $message="Bonjour $to,\n\n$from ($fromemail) souhaiterait vous recommander $TitreSite.\n\n$Description\n\nL'adresse : $URLSite\n\[b]nVotre ami vous recommande l'article suivant: $_SERVER["HTTP_REFERER"][/b]\n\nLe Webmaster ";
      if(eregi("^le ",$TitreSite))
        {
         $message.="du ";
         $TitreSiteTmp=substr($TitreSite,3);
        }
      elseif(eregi("^les ",$TitreSite))
        {
         $message.="des ";
         $TitreSiteTmp=substr($TitreSite,4);
        }
      elseif(eregi("^a",$TitreSite) || eregi("^e",$TitreSite) || eregi("^i",$TitreSite) || eregi("^o",$TitreSite) || eregi("^u",$TitreSite) || eregi("^y",$TitreSite))
        {
         $message.="d'";
         $TitreSiteTmp=$TitreSite;
        }
      else
        {
         $message.="de ";
         $TitreSiteTmp=$TitreSite;
        }
      $message.="$TitreSiteTmp\n$URLSite";
      $message=str_replace("\'","'",$message);
      mail("$toemail","$Sujet","$message","From: $email");
      $message="$from ($fromemail) a recommandé $TitreSite à $to ($toemail)";
      $message=str_replace("\'","'",$message);
      mail("$email","$TitreSite a été recommandé","$message","From: $email");
      echo "<TITLE>Message envoyé !</TITLE></HEAD><BODY><table align='center' border='0' width='100%' height='100%'><tr><td align='center' valign='middle'><font face='Verdana, Arial, Helvetica, sans-serif' size=2>Votre message a été envoyé à $to.<br><br>Vous pouvez fermer la fenêtre.</font></td></tr></table></BODY></HTML>";
      exit();
     }
   else echo "<TITLE>Erreur !</TITLE></HEAD><BODY><table align='center' border='0' width='100%' height='100%'><tr><td align='center' valign='middle'><font face='Verdana, Arial, Helvetica, sans-serif' size=2>Veuillez remplir tous les champs.<br><br><a href='javascript:history.go(-1);'><b>Retour</b></a></font></td></tr></table></BODY></HTML>";
  }
?>
<TITLE>Recommander <?php echo "$TitreSite"; ?></TITLE>
</head>
<BODY bgcolor="#FFFFFF" link="#4464CE" vlink="#4464CE" text="#4D4D4D">

<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<p align="center"><font size="3"><b><font face="Arial, Helvetica, sans-serif">Recommander</font> 
  <?php echo "$TitreSite"; ?>
  </b></font></p>

<form action="recomail.php3?action=sent" method="POST">
  <table bordercolor="#4389CC" align="center" border="1" cellpadding=3 cellspacing=0 width="250">
    <tr>
  <td>
        <table border=0>
          <input type="hidden" name="Description" value="<?php echo htmlentities($Description); ?>">
          <input type="hidden" name="Sujet" value="<?php echo htmlentities($TitreSite); ?>, un site à découvrir !">
          <tr> 
            <td align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
              <div><strong>Vous avez aimé ce site ?<br>
                Pourquoi ne pas le suggérer<br>
                à un(e) ami(e) ?</strong></div>
              </font> </td>
          </tr>
          <tr> 
            <td align="center"> 
              <input type="text" size="25" name="from" value="Votre nom" style="font-family:Verdana; font-style:normal; font-size:13; border-width:1; border-color:black; border-style:solid;">
            </td>
          </tr>
          <tr> 
            <td align="center"> 
              <input type="text" size="25" name="fromemail" value="Votre e-mail" style="font-family:Verdana; font-style:normal; font-size:13; border-width:1; border-color:black; border-style:solid;">
            </td>
          </tr>
          <tr> 
            <td align="center"> 
              <input type="text" size="25" name="to" value="Le nom de votre ami(e)" style="font-family:Verdana; font-style:normal; font-size:13; border-width:1; border-color:black; border-style:solid;">
            </td>
          </tr>
          <tr> 
            <td align="center"> 
              <input type="text" size="25" name="toemail" value="L'e-mail de votre ami(e)" style="font-family:Verdana; font-style:normal; font-size:13; border-width:1; border-color:black; border-style:solid;">
            </td>
          </tr>
          <tr> 
            <td align="center"> 
              <input type="submit" value="Envoyer" style="font-family:Verdana; font-style:normal; font-weight:bold; font-size:12; color:white; background-color:rgb(00,00,144); border-width:1; border-color:black;">
            </td>
          </tr>
        </table>
  </td>
</tr>
</table>
</form>

<p align="center"><a href="javascript:window.close();"><b>Fermer</b></a></p>
</font>
</BODY>
</HTML>

par Truc » 20 mai 2006, 15:47

Regarde du coté des variables $_SERVER:
$_SERVER['SCRIPT_NAME']

par fersayn » 20 mai 2006, 15:38

merci ganesha...

j'ai installer une page de recommandation qui fonctionne trés bien avec popup etc...

mais je cherche la fonction qui permet de mettre le lien dans le mail: c'a dire la fonction qui permet de connaitre l'adresse de la page qui va etre recommandée.

merci de ton aide....

Re: recherhce de script php : envoyer à un ami

par Truc » 20 mai 2006, 14:31

Salut,
Quelqu'un aurait un script à adapter??
<< :google: >> doit en avoir lui :wink:

recherhce de script php : envoyer à un ami

par fersayn » 19 mai 2006, 23:06

bonjour,

je mets des news en ligne et je cherche un script hp qui permet à l'internaute d'envoyer par la news à un ami contenant le titre de la page, le site etc .... pas forcement tout la news mais au moins le lien comme on voit en ce moment.

Quelqu'un aurait un script à adapter??