Prise en compte auto du code php se trouvant dans un fonction JS

atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 - 19 juin 2006 à 10:11
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013 - 20 juin 2006 à 11:22
Bonjour a tous

Voila mon probleme, j'ai dans une popup une liste deroulante, dans
laquelle lorsque je selectionne une certaine valeur j'envoie un mail.


ma liste deroulante est appelee par une fonction se trouvant dans un aute fichier.


popupincident.php

/////////////////////

require_once "fonctionslistes.php";

....

<td>Etat :</td>

affichelisteetat3($codeetat,'codeetat',0);

.....


jaffiche donc le contenu de ma liste deroulante et lorsque je
selectionne la valeur 3 j'appelle une fonction js envoiemail() qui se
trouve dans le meme  fichier.


fonctionslistes.php

/////////////////////

function affichelisteetat3($codeetat,$nom,$allowempty) {

$query="SELECT codeetat, nometat FROM etatsincident ORDER by nometat";

$req=mysql_query($query);

echo"<select name='$nom' onChange="if (this.value=='3'){ envoiemail() }">";

  

if($allowempty!=0)

  echo "<option value=""></option>";


while($line = mysql_fetch_array($req)) {

  $tmpcode=$line["codeetat"];

  $tmpnom=$line["nometat"];

  echo "<option";


  if($codeetat==$tmpcode) {

    echo " selected";

    }

  printf(" value ="%d">%s</option>\n",$tmpcode,$tmpnom);

  }

echo "</select>\n";

}


fonction js

//////////

<script>

function verif2()

{

    <?

    $query24 = "SELECT env_mail_cloture FROM incidents WHERE codeincident='$codeincident' LIMIT 1";

    $req24 = mysql_query($query24) or die ("La requete 1 a echoué".mysql_error());

    $line24 = mysql_fetch_array($req24);

    $env_mail_cloture = $line24['env_mail_cloture'];

   

    if ($env_mail_cloture=='non')

    {

    //on recupere que $codeincident doffice

    if( mail("AAA.BBB@XXX.fr", "$codeincident", "blablamessage", "AAA.BBB@XXX.fr"))

            {

            //UPDATE env_mail_cloture

            ?>

            alert("<? echo"$codeincident"; ?>");

            document.forms.formu.submit();

            <?

            }

            else

            {

            ?>

            alert("Problême lors de l'envoie du mail de déclaration à la liste de diffusion ...");

            <?

            }

    }

    else

    {

    ?>alert("<? echo"ouinon : $env_mail_cloture"; ?>");<?

    }

?>

}

</script>


Le probleme et que dans mon js il y a egalement du php.

Lors de chaque chargement de la page, le php est lu et donc le mail est
envoye automatiquement quelque soit la valeur de ma liste deroulante.


Comment faire pour qu'il me respecte les conditions ou bien comment
transformer le code php en js (du moins pour la fonction mail)....

si vous avez dautres idees moi je ne vois pas ....


Merci pour vos reponses
Atomik29

Atomik29

1 réponse

nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
20 juin 2006 à 11:22
A mon avis tu confonds client et serveur.
Si ton mail est envoyé par le serveur, alors c'est du coté serveur en PHP que doit se trouver ta fonction d'envoie.
Si c'est le client qui envoie le mail, alors la fonction doit être coté client en Javascript.

J'espère avoir été claire ;)

Nickadele
0
Rejoignez-nous