silver

  • Nombre de sujets
    13
  • Nombre de messages
    47
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

silver
le 13/01/2005 à 14:20
vairable formulaire
ok j'ai trouver ma varible grace à une requete correspondant au destinataire c'est $id_message, donc maintenant je peux l'enlever du formulaire et allé le mettrer directement dans le code tout en au de la page pour l'envoi
ce qui va donner :
// on teste si le formulaire a bien été soumis
if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') {
if (empty($_POST['titre']) || empty($_POST['message'])) {
$erreur = 'Vous devez entrer un texte pour pouvoir envoyer le message';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace_membre', $base);

// si tout a été bien rempli, on insère le message dans notre table SQL
mysql_query('INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.$_POST['titre'].'", "'.addslashes($_POST['message']).'","")');
mysql_query('INSERT INTO messages_env VALUES("", "'.$_SESSION['id'].'", "$id_message", "'.date("Y-m-d H:i:s").'", "'.addslashes($_POST['titre']).'", "'.addslashes($_POST['message']).'","")');

//mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
mysql_close();

mais ca marche ca je remplace $_poste['destinataire] par -> $id_message
silver
le 13/01/2005 à 14:01
vairable formulaire
ok oui ca je m'en douté mais je n'y arrive pas j'ai vraiment tout essayé mais la je bloque, pourtant j'ai déjà fait pas aml de tru cen php.. mais la je sèche ca arrive o nva dire mais bon.
Voici le code complet de la page repondre_message.php pourrais-tu regarder et voir comment je pourrais faire merci :

<?php
session_start();

// on teste si le formulaire a bien été soumis
if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') {
if (empty($_POST['destinataire']) || empty($_POST['titre']) || empty($_POST['message'])) {
$erreur = 'Vous devez entrer un texte pour pouvoir envoyer le message';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace_membre', $base);

// si tout a été bien rempli, on insère le message dans notre table SQL
mysql_query('INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.$_POST['titre'].'", "'.addslashes($_POST['message']).'","")');
mysql_query('INSERT INTO messages_env VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.addslashes($_POST['titre']).'", "'.addslashes($_POST['message']).'","")');

//mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
mysql_close();

header('Location: espace_membre.php?page=8');
//exit();
}
}
?>

<html>
<head>
<title>Espace membre</title>
</head>

<body>
<a href="espace_membre.php?page=8">Retour à l'accueil</a>
Envoyer un message :


<?php
include('includes/functions.inc.php');

// on teste si notre id correspond bien à l'id du message que l'on va lire pour empecher que une autre personne vienne lire ce message
// en effet il faut que ce soit notre id qui est égale à id_message d'éclaré dans la page méssagerie.

//Fonction présente dans la page functions.inc.php pour ce connecter à la base de donné et la table
connecter();

// on prépare une requete SQL selectionnant la date, le titre et l'expediteur du message que l'on souhaite lire, tout en prenant soin de vérifier que le message appartient bien au membre connecté
$sql = 'SELECT id, titre, date, message, membres.pseudo as expediteur FROM messages, membres WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membres.id_membre AND messages.id="'.$_GET['id_message'].'"';

// on lance cette requete SQL à MySQL
$id_message=$_GET['id_message']; // permet de stocker la varialbe id_message lorsque l'on clique sur le lien pour le traitement plus bas de la varialbe lu, afin de bien spécifier que le message à était consulté
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$nb = mysql_num_rows($req); //Variable comportent la requête mysql_num_rows qui permet de contabiliser le nombre de données dans la table (tuples)

//instruction "si" pour déterminer si il y a un message dans la table
if ($nb == 0) {
echo 'Aucun message reconnu.'; //si elle est à 0 on affiche alors qu'il n'y a pas de message dans la table
}
else { // sinon on les affiches

//permet de passer la valeur lu=0 à 1 dans la table lorsque la personne à lu le message grace à la valeur stocker précédement
$messagerie=mysql_query("SELECT * FROM messages WHERE id='$id_message'") or die (mysql_error()); // on fait une requête sur la table qui va sélectionner que les message correspondant l'id du lecteur du message
mysql_query("UPDATE messages SET lu='1' WHERE id='$id_message'") or die (mysql_error()); // et on modifie la varible lu à 1

//traitement pour l'affichage du message recu

//ici on travail la chaîne de caractère afin de mettre la date dans le bonne ordre jours/mois/années
$data = mysql_fetch_array($req);
$annee = substr($data['date'],0,4);
$mois = substr($data['date'],5,2);
$jours = substr($data['date'],8,2);
$date_mess1 = "$jours/$mois/$annee";
$date_mess2 = substr($data['date'],11);
$date = stripslashes(htmlentities(trim("$date_mess1 à $date_mess2")));

//Ensuite on gère le sujet du message, l'expéditeur et le message en lui même
$sujet = stripslashes(htmlentities(trim($data['titre'])));
$expediteur = stripslashes(htmlentities(trim($data['expediteur'])));
$message = nl2br(stripslashes(htmlentities(trim($data['message']))));

// puis on vient travailler l'affichage par des tableau ect....
echo"<table width='60%' border align='center' cellpadding='0' cellspacing='0' bordercolor='#000000'><tr>
<td width='20%'>
Message de : $expediteur<br><br>$date</td>
<td width='30%'>Sujet du message : $sujet <br><br>$message</td>
</tr></table>";

}

mysql_free_result($req); // on efface de la mémoire la requête
mysql_close(); // on ferme la connexion à la base de donner le script de cette page est terminer

?>

<?php

$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace_membre', $base);


// on prépare une requete SQL selectionnant tous les login des membres du site en prenant soin de ne pas selectionner notre propre login, le tout, servant à alimenter le menu déroulant spécifiant le destinataire du message
$sql = 'SELECT membres.pseudo as nom_destinataire, membres.id_membre as id_destinataire FROM membres WHERE id_membre <> "'.$_SESSION['id'].'" ORDER BY pseudo ASC';
// on lance notre requete SQL
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$nb = mysql_num_rows ($req);

if ($nb == 0) {
// si aucun membre n'a été trouvé, on affiche tout simplement aucun formulaire
echo 'Vous êtes le seul membre inscrit.';
}
else {
// si au moins un membre qui n'est pas nous même a été trouvé, on affiche le formulaire d'envoie de message
?>

<form action="repondre_mess.php?id_message=<?php echo"$id_message";?>" method="post">
<div align="center">
<table>
<tr>
<td>Pour :</td>
<td> <select name="destinataire">
<?php
// on alimente le menu déroulant avec les login des différents membres du site
while ($data = mysql_fetch_array($req)) {
echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>';
}
?>
</select></td>
</tr>
<tr>
<td> Titre : </td>
<td> <input type="text" name="titre" value="Re :<?php echo stripslashes(htmlentities(trim($sujet))); ?>">
</td>
</tr>
<tr>
<td> Message : </td>
<td> <textarea name="message" rows="10" cols="40"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea>
</td>
</tr>
<tr>
<td colspan="2"> <div align="center">
<input type="submit" name="go" value="Envoyer"></div>
</td>
</tr>
</table>
</div>
</form>
<?php
}
mysql_free_result($req);
mysql_close();
?>
</select>

<?php
// si une erreur est survenue lors de la soumission du formulaire, on l'affiche
if (isset($erreur)) echo '',$erreur;
?>
</body>
</html>
silver
le 12/01/2005 à 22:58
vairable formulaire
je suis vraiment dsl mais c'était le destinataire que je voulais pas à avoire le saisir smiley
Enfaite j'ai réusit à faire la zone input ect je vois bien le pseudo du detinataire mais quand je l'envoi il s'envoi pas alors que si c le menu déroulant il s'envoi correctement pkoi ?
silver
le 12/01/2005 à 22:46
vairable formulaire
oui je veux remplacer le menu déroulant par un champ text et que le nom de l'expediteur soit mis dans ce champ texte pour pouvoir etre envoyer.
Comme ca dans la reponse pas besoin de saisir le menre et le titre juste a ecrire le texte et l'envoyer pour répondre au message.
Comme la le script à pour but de repondre à un message recu, donc je veux pas que la personne entre un titre et l'expediteur sa doit se faire directement ca.
silver
le 12/01/2005 à 22:13
vairable formulaire
Merci pour la réponse ca marche c'est sympa !
Mais j'ai une autre question voilà je voudrais dans le formulaire mettre à la place du menu déroulant afficher le non de l'exediteur directement grace à la variable $expediteur comme ca pas besoin de le reselectionné il se mais comme pour la varialbe$sujet. Mais le probleme c'est que lorsque je fais ca j'enleve le selec et remplace par un input ca va pas il fait comme ci il l'envoyé mais rien s'envoi :

<select name="destinataire">
<?php
// on alimente le menu déroulant avec les login des différents membres du site
while ($data = mysql_fetch_array($req)) {
echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>';
}
?>
</select>

à la place de select je veux mettre un input et la variable $expediteur qui affichera l'expediteur et sera envoer a lui
Ca pourrait provenir de quoi ?
silver
le 12/01/2005 à 20:42
vairable formulaire
Bonjours a tous et felicitation pour ce site.
Voilà je voudrais savoir comment fait-on pour extraire des varaibles d'un formulaire.
regarder le code ca sera plus parlent :

<?php
if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') {
if (empty($_POST['destinataire']) || empty($_POST['$sujet']) || empty($_POST['message'])) {
$erreur = 'Au moins un des champs est vide.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace_membre', $base);

// si tout a été bien rempli, on insère le message dans notre table SQL
mysql_query('INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.$_POST['$sujet'].'", "'.addslashes($_POST['message']).'","")');
mysql_query('INSERT INTO messages_env VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.addslashes($_POST['titre']).'", "'.addslashes($_POST['message']).'","")');

//mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
?>


et le formulaire :
</select></td>
</tr>
<tr>
<td> Titre : </td>
<td> <input type="text" name="titre" value="<?php echo"$sujet"; ?>" disabled>
</td>
</tr>
<tr>

donc je voudrais récuperer la valeur $sujet et l'envoyer dans la tabvle ou trouvez-vous que ca cloche
LoadingChargement en cours