bonjour à tous

j'ai besoin de vos lumières car je souhaiterai envoyer des mails juste en cliquant sur un bouton.

je developpe un peu

j'ai une page en php qui se connecte à une base mysql, qui créé un tableau, et qui en fonction de certaine condition fait appraitre un bouton qui enverra un mail automatique.

donc voici le ode:

<?php
    session_start();
    require("auth.php");
if(Auth::isLogged()){
    }
else{
    header('Location:index.php');
    }
?>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    </head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>page privee</title>

    <body>
        <body bgcolor=#ACACAC>
    </body>
    page privee

<?php
$paspres;
$temppresdep;
$inacticomp;
$compdom;

// information pour la connection à la DB
$host = ' ****';
$user = ' ****';
$pass = ' ****';
$db = ' ****';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = $select = 'SELECT phpbb_users.user_id, username,user_inactive_reason,user_email , user_lastvisit, user_lastpost_time, user_lastpage, user_posts, user_regdate , phpbb_user_group.user_id, phpbb_user_group.group_id, phpbb_groups.group_name,phpbb_profile_fields_data.user_id,phpbb_profile_fields_data.pf_code_trackeur,phpbb_profile_fields_data.pf_id_fsx
            FROM phpbb_users
            LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
            LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
            LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
            ORDER BY phpbb_users.user_id ASC ';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

// si on a récupéré un résultat on l'affiche.
if($total) {
    // debut du tableau
        echo '<table bgcolor="#616161">'."\n";
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Mail à contacter pour une attente de présentation</u></b></td>';
        echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while(($row = mysql_fetch_array($result))) {
        if(($row"user_id"])&&($userid!=$row"user_id"]))
        {if ((($row"user_lastpost_time"])==0)&&($row"user_inactive_reason"]!=1)&&(($row"user_regdate"])>(time()-(3600*24*7)))) 
            {
            $userid=$row"user_id"];
            echo '<tr>';

            echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';">'.$row"user_email"].'</p></td>';
        //  echo mail('admin@fsfrancesimulateur2.fr', 'test', 'test'); 
            //echo <form method="post" action="contact.php">;
            echo '<td><input type="submit" value="prévenir '.$row"username"].' pour sa présentation " /></td>';
            echo '</tr>'."\n";
            }
        }
        else{
        }

    }
    echo '</table>'."\n";

    // fin du tableau.
  // echo ".$row"user_email"].";

}

else {echo 'Pas d\'enregistrements dans cette table...';}
// on libère le résultat
//mysql_free_result($result);

?>  

    <a href="logout.php">Se déconnecter</a> <a href="pageprivee.php">Trier par message</a> <a href="pageprivee2.php">Trier par groupe</a>
    </body>
</html>

Donc vers la ligne 74 il y a ceci:
//echo <form method="post" action="contact.php">;
echo '<td><input type="submit" value="prévenir '.$row"username"].' pour sa présentation " /></td>';
en donc en cliquant sur ce bouton prévenir j'aimerai envoyé des variables à contact.php et lancer le script.
mais là je calle un peu.

Pourriez vous m'aider, merci d'avance flo.

5 réponses


flo3376
Auteur
Réponse acceptée

je n'ai aucune notion d'ajax, mais j'ai pu trouver un autre myen qui lui marche je poste le code

<?php
    session_start();
    require("auth.php");
if(Auth::isLogged()){
    }
else{
    header('Location:index.php');
    }
?>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    </head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>page privee</title>

    <body>
        <body bgcolor=#ACACAC>
    </body>
    page privee
<?php
$paspres;
$temppresdep;
$inacticomp;
$compdom;

$host = ' **********';
$user = ' **********';
$pass = ' **********';
$db = ' **********';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$select = $select = 'SELECT phpbb_users.user_id, username,user_inactive_reason,user_email , user_lastvisit, user_lastpost_time, user_lastpage, user_posts, user_regdate , phpbb_user_group.user_id, phpbb_user_group.group_id, phpbb_groups.group_name,phpbb_profile_fields_data.user_id,phpbb_profile_fields_data.pf_code_trackeur,phpbb_profile_fields_data.pf_id_fsx
            FROM phpbb_users
            LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
            LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
            LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
            ORDER BY phpbb_users.user_id ASC ';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

if($total) {
    // debut du tableau
        echo '<table bgcolor="#616161">'."\n";
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Mail à contacter pour une attente de présentation</u></b></td>';
        echo '</tr>'."\n";
    while(($row = mysql_fetch_array($result))) {
        if(($row"user_id"])&&($userid!=$row"user_id"]))
        {if ((($row"user_lastpost_time"])==0)&&($row"user_inactive_reason"]!=1)&&(($row"user_regdate"])>(time()-(3600*24*7)))) 
            {
            $useridc=$useridc+1;
            $usernamec=$usernamec+1;
            $usermailc=$usermailc+1;

            ${'userid'.$useridc}=$row"user_id"];
            ${'username'.$usernamec}=$row"username"];
            ${'user_email'.$user_emailc}=$row"user_email"];
if(($row"user_id"])&&($userid!=$row"user_id"]))
        {$userid=$row"user_id"];
            echo '<tr>';
echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';">'.$row"user_email"].'</p></td>';
echo'<td><a href="contact.php?nom='.${'username'.$usernamec}.'&email='.${'user_email'.$user_emailc}.'"> <img src="http://profile.ak.fbcdn.net/hprofile-ak-ash2/50311_137937042897206_1164765562_q.jpg" /> </a></td>';

}
else {}
            ?>
<form method="post" action="contact.php">
            <?php*/
            echo '</tr>'."\n";
            }
        }
        else{
        }

    }
    echo '</table>'."\n";

}

else {echo 'Pas d\'enregistrements dans cette table...';}
?>  

    <a href="logout.php">Se déconnecter</a> <a href="pageprivee.php">Trier par message</a> <a href="pageprivee2.php">Trier par groupe</a>
    </body>
</html>

Pour chaque contact tu fais un formulaire. Ton <input type='submit' /> tu l'entoure de <form> ou ton <td> .

flo3376
Auteur

re,

bien que tes explications été un peu flou, j'ai commencé à me démerdé avec et j'ai essayé ça

echo '<td><form method="post" action="contact.php"></td>';
            echo '<td><input type="hidden" name="nom" value='.$row"username"].' /></td>';
            echo '<td><input type="hidden" name="email" value='.$row"user_email"].'/></td>';
            echo '<td><input type="hidden" name="message" value='.$row"user_email"].'/></td>';
            echo '<td><input type="submit" value="prévenir '.$row"username"].' pour sa présentation " /></td>';

mais vue que ça fonctionne en tableau mon truc tous le tableau envoie au même endroits pas cool

j'ai essayé ça

$useridc=+1;
            $usernamec=+1;
            $usermailc=+1;

            ${'userid'.$useridc}=$row"user_id"];
            ${'username'.$usernamec}=$row"username"];
            ${'user_email'.$user_emailc}=$row"user_email"];

            echo '<tr>';
            echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';">'.$row"user_email"].'</p></td>';
            echo '<td><form method="post" action="contact.php"></td>';
            echo '<td><input type="hidden" name="nom" value='${'username'.$usernamec}' /></td>';
            echo '<td><input type="hidden" name="email" value='${'user_email'.$user_emailc}'/></td>';
            echo '<td><input type="hidden" name="message" value="'${'user_email'.$user_emailc}' n\'as pas fait sa pr\ésentation."/></td>';
            echo '<td><input type="submit" value="prévenir '.$row"username"].' pour sa présentation " /></td>';

mais il me retourne gentiment cette erreur

Parse error: syntax error, unexpected '$', expecting ',' or ';' in

pour la ligne 13

une idée??

flo3376
Auteur

j'ai trouvé pourquoi il y avait une erreur,

$useridc=$useridc+1;
            $usernamec=$usernamec+1;
            $usermailc=$usermailc+1;

            ${'userid'.$useridc}=$row"user_id"];
            ${'username'.$usernamec}=$row"username"];
            ${'user_email'.$user_emailc}=$row"user_email"];

            echo '<tr>';
            //echo '<td><input type="hidden" name="nom" /></td>';
        //  echo '<td><input type="hidden" name="nom" /></td>';

            echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';">'.$row"user_email"].'</p></td>';
            echo '<td><form method="post" action="contact.php"></td>';
            echo '<td><input type="hidden" name="nom" value="'.${'username'.$usernamec}.'" /></td>';
            echo '<td><input type="hidden" name="email" value="'.${'user_email'.$user_emailc}.'"/></td>';
            echo '<td><input type="hidden" name="message" value="'.${'user_email'.$user_emailc}.'" n\'as pas fait sa pr\ésentation."/></td>';
            echo '<td><input type="submit" value="prévenir '.$row"username"].' pour sa présentation " /></td>';

mais ce code est inefficace aussi.

Quelqu'un aurais une idée de comment approcher la chose?

Sinon tu peux faire de l'ajax.