moogli

  • Signature
    Il en faut peu pour être heureux !!!!!
  • Site web
  • Nombre de sujets
    33
  • Nombre de messages
    1 802
  • Nombre de commentaires
    6
  • Nombre de news
    Aucune
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

moogli
le 11/02/2010 à 15:29
Supprimer les enregistrements via les checkbox
salut,

1/ if (!empty($_POST)) : ceci est inutile cart $_POST existe toujours.

2/dans requete sql tu met en condition : est ce que $msqg est dans la liste fournie par le tableau $_POST['msg']. cette condition est TOUJOURS vrai puisse que $sqm est un élément du tableau $_POST.
Par contre tu ne met null un condition en fonction du champ de la table sql.

ta requete devrait être :

<?php
if(!empty($_POST['msg']))
{
mysql_query('DELETE FROM message WHERE code IN('.implode(',',$_POST['msg']).')');
}
?>


@+
Il en faut peu pour être heureux !!!!!
moogli
le 11/02/2010 à 08:57
comment faite un espace membre
Salut

La page réponse n est ni plus moins que la page d'envoi du message avec le id destinataire pré remplis avec le id emetteur du message reçu. Tu peut aussi prendre le titre du message en mettant Re : le titre qui va bien.

Au niveau sql c est exactement la même requête que tu doit faire. Ce quie change (je le répète) c'est que tu ne laisse pas la possibilités de choisir le destinataire puisse que tu le connais déjà ;)

courage ce n'est pas compliqué ;)

@+
Il en faut peu pour être heureux !!!!!
moogli
le 02/02/2010 à 12:06
affichage des allertes utilisateur
le code qui fonctionne :)

@+
<?php
error_reporting(E_ALL);
/**
class SendMail {
var $destinataire;
var $objet;
var $texte;
var $from;
function envoyer() {
mail ($this->destinataire, $this->objet, $this->texte,$this->from);
}
}
**/
$hote = 'localhost';
$user = 'root';
$pass = '';
var_dump($_POST);
if (isset($_POST['inscription']) && $_POST['inscription'] == 'inscription') {

if ((isset($_POST['nom']) && !empty($_POST['nom']))
&& (isset($_POST['prenom']) && !empty($_POST['prenom']))
&& (isset($_POST['mail']) && !empty($_POST['mail']))
&& (isset($_POST['identifiant']) && !empty($_POST['identifiant']))
&& (isset($_POST['pass']) && !empty($_POST['pass']))
&& (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
&& (isset($_POST['departement']) && !empty($_POST['departement']))
&& (isset($_POST['statut']) && !empty($_POST['statut'])))
{

if($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.'; }


else {
$base = mysql_connect($hote,$user,$pass);
mysql_select_db('cedcyr',$base);
$mysql = 'SELECT count(id) as nombre FROM inscription WHERE login="'.mysql_escape_string($_POST['identifiant']).'"';
$req = mysql_query($mysql) or die('Erreur SQL !<br />'.$mysql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);



if ($data[0] == 0){
echo 'dans le if';
$mysql = 'INSERT INTO inscription VALUES("",
"'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['mail']).'",
"'.mysql_escape_string($_POST['identifiant']).'",
"'.mysql_escape_string(md5($_POST['pass'])).'",
"'.mysql_escape_string($_POST['departement']).'",
"'.mysql_escape_string($_POST['statut']).'")';
echo '<pre>',$mysql,'</pre>';
$ret = mysql_query ($mysql);
if ( $ret === false) {
mysql_error();
}
else {
echo 'requete OK';
}



/**
$message = new SendMail ();
$message->from = "FROM:inscription@attelage-astuce.com";
$message->destinataire = $_POST['mail'];
$message->objet = "votre inscription sur attelage-astuce.com";
$message->texte = "bonjour";
$message->texte = "bienvenu sur http://www.attelage-astuce.com \nvous pouvez maintenant acceder aux notices de montage
\n \n votre identifiant est : ".$_POST['identifiant']." \n et votre mot de passe est : ".$_POST['pass']."
\n merci de ne pas repondre a ce mail, celui-ci vous a ete adresse automatiquement\n\n cordialement le webmaster.";
$message->envoyer();

$message = new SendMail ();
$message->from = "FROM:".$_POST['mail']."";
$message->destinataire = "webmaster@attelage-astuce.com";
$message->objet = "nouvelle inscription attelage-astuce.com";
$message->texte = "adresse mail : ".$_POST['mail']." \n\n identifiant : ".$_POST['identifiant']."
\n\n mot de passe : ".$_POST['pass'].".";
$message->envoyer();
**/
session_start();
$_SESSION['login'] = $_POST['identifiant'];
//header('Location: http://www.attelage-astuce.com');
exit();

}
else {
echo 'identifiant déja utillisé, veulliez en changer.'; }
}
}

else {
$erreur = 'merci de remplire le formulaire correctement!';
}
}
?>

<html>
<head>
<title>Ma page de test</title>
</head>
<body >
<form action="cedcyr.php" method="post" name="form1">
<h4>Votre nom : <input type = "text" name = "nom" size ="30"value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>"/><br/>
<br/>
Votre prenon : <input type = "text" name = "prenom" size ="30"value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>"/><br/>
<br/>
Votre adresse mail : <input type = "text" name = "mail" size ="30"value="<?php if (isset($_POST['mail'])) echo htmlentities(trim($_POST['mail'])); ?>"/> <br/>
<br/>
Votre identifiant : <input type = "text" name = "identifiant"size ="30" value="<?php if (isset($_POST['identifiant'])) echo htmlentities(trim($_POST['identifiant'])); ?>"/> <br/>
<br/>
Votre mot de passe : <input type = "password" name = "pass" size ="30"/> <br/>
<br/>
Confirmer votre mot de passe : <input type="password" name="pass_confirm" /> <br/>
<br/>
Votre departement : <input type = "text" name = "departement" size ="30"value="<?php if (isset($_POST['departement'])) echo htmlentities(trim($_POST['departement'])); ?>"/> <br/>
<br/>
Votre statut : <select name="statut" id="statut"><option selected="selected"></option>
<option value="particulier">Particulier</option>
<option value="professionel">Professionel</option></select> <br /></h4>
<br/>
<input type = "submit" name="inscription" value = "inscription"/> ;
<input type= "reset" value ="effacer" /><br/>
<br/>
<br/>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
Il en faut peu pour être heureux !!!!!
moogli
le 02/02/2010 à 10:49
affichage des allertes utilisateur
raaaaaaaa j'suis mirro :/

tu a mis = au lieu de == dans e if $data[0]=0, la tu fait une affectation pas une comparaison c'est pour cela que la condition est toujours vrai et que donc l'insertion se fait :)

tu devrais ajouter une clause dans ta table : unique sur la ligne identifiant ;)

@+
Il en faut peu pour être heureux !!!!!
moogli
le 02/02/2010 à 10:17
Formulaire inscritption
salut,

malheureusement le bouton inscription mèen vers creer_compte_utilisateur.php !

à priori le formulaire de cette page à l'air correct.

je tes conseil d'oublier dreamweaver et d'utiliser un editeure de texte type notepadd++, context netbeans etc.
(par exemple dans la page du formulaire tu à un <div id="Emp_entete"> avant le doctype ....).

je ne vois pas ou est le problème, mon nous ton code sur le wall => http://www.lephpfacile.com/wall/ afin que l'on puisse voir où est le problème.

@+
Il en faut peu pour être heureux !!!!!
moogli
le 02/02/2010 à 10:10
comment faite un espace membre
salut,

pour commencer t'a requete
<?php $sql = 'SELECT titre, date, membre.login as expediteur, messages.id as id_message FROM messages, membre WHERE " AND id_expediteur=membre.id ORDER BY id_destinataire="'.$_SESSION['id'].'date DESC';php ?>


n'est pa celle de l'espace membre
<?php $sql = 'SELECT titre, date, membre.login as expediteur, messages.id as id_message FROM messages, membre WHERE " AND id_expediteur=membre.id ORDER BY id_destinataire="'.$_SESSION['id'].'date DESC';php ?>


celle ci ne peut donc fonctionner.

Pour essayer de répondre à ta question.

quandune membre est connecté, onpeut le reconnaitre à tous moment par sont id qui est stocké en session => $_SESSION['id].
A partir de la on peut récupérer dans la table tous les messages ayant pour destinataire l'id correspondant à notre utilisateur connecté
select taitre, date, id from messages where id_destinataire=$_SESSION['id]
la je récupère tous les messages qui sont destiné à la personne connecté.

La requete proposé par la globule est un poil plus complexe car elle intégre la récupération du nom de l'expéditeur du message.
pour cela il fait une requete sur deux table (FROM messages,membres, et utilise des condition dans le where pour faire la jointure entre les deux (WHERE id_destinataire=$_SESSION['id'] AND id_expediteur=membres.id).

si tu prend la bonne requete dans l'ordre tu comprend la plus facilement.

cette requete récupère donc la liste des messages qui me sont destiné (à moi membre connecté, reconnu par mon id). Cette liste de messages contient le nom de l'expéditeur du message ainsi que la date. Ces messages sont classé du plus récent au plus vieux.

@+
Il en faut peu pour être heureux !!!!!
moogli
le 31/01/2010 à 21:28
affichage des allertes utilisateur
salut,

$_POST['login'] existe pas ! (pas dans le formulaire) doit y avoir une erreur qui n'est pas affichée dans lors de son utilisation dans la rêquete SQL.
Donc $data[0] doit contenir false ce qui veut dire 0 .... donc c'est valide :) (je pense que c'est ce qui se passe car $data[0] ne peut exister).

Pour t'en convaincre il faut paramétrer correctement le error_reporting() pour le développement de ton site (seulement pour le dev). => error_reporting(E_ALL); en haut de chaque script tu y verras le erreur.

Pendant que j'y suis, bannis l'étoile des requetes SQL, tu veut avoir le nombre de ligne avec l'identifiant entré dans le formulaire : select count(id) as nombre from table where truc=machin.
Pourquoi ? parce que la tu sais ce que tu compte, (j'ai pris id en exemple car c'est un nom souvent utilisé pour les clef primaire des table).
avec le as nombre, la "case" du tableau associatif est nommé tu a donc $data['nombre'].

autre conseil, indente mieux ton code, la c'est des gros pâtés on s'y perd.

Pour le coup de la page blanche c'est normal en cas d'erreur tu n'a pas de header tu reste donc sur test2.php.

@+

il faut afficher toute les erreurs,

error_reporting(E_ALL); en début de script !
Il en faut peu pour être heureux !!!!!
moogli
le 30/01/2010 à 20:03
Mettre les liens sur chaque élément du tableau
salut,

par exemple <a href="affichage.php?id=12" />laphoto 12</a>

dans affichage.php tu récupère $_GET['id'] qui te permet d'afficher la bonne photo

@+
Il en faut peu pour être heureux !!!!!
moogli
le 30/01/2010 à 14:08
comment faire un script de news avec image
Comme la dit la globule, ilfaut savoir ce que tu veut mettre l'image sur le disque dur (garder un fichier sur le disque) ou la mettre dans la table (ton champs image dans la tabale news le permet).

Dans le 1er cas il te faut sauvegarder le nom du fichier dans la base et quand tu affiche la news tu ajoute une balise <img /> dans laquelle tu indique le nom du fichier récupéré dans la requete avec les infos de la news.

Dans le 2nd cas il te faut mettre dans la balise img un lien vers un fichier php au quel tu passe l'id de la news par l'url (par exemple (<img src="afficheimage.php?id=28" /> l'id tu le récupère avec les autres infos de la news (un simple select).
Dans le fichier afficheimage.php il te faut récupérer le contenu de l'image que tu a mis dans la table et l'afficher. Pour cela le cours sur la librairie GD va t'aider.

Avant de faire autre chose il te faut choisir la méthode que tu va utiliser, y réfléchir et ensuite modifier ton code source en conséquence.

Formalise ce que tu veut, supprime le $_POST['image'] de ton 1er if.

essai et post nous ce que tu a fait si cela ne fonctionne pas.

@+
Il en faut peu pour être heureux !!!!!
moogli
le 29/01/2010 à 16:52
Liste de sélection - Liste déroulante
vous pouvez répéter la question ?

Stéphanie de monaco ;)

Sérieusement, j'ai pas bien compris ce que tu voulais mais a priori ta constrution est bonne, ne pas mettre la race dans chaque colonne de tes tables :)

@+
Il en faut peu pour être heureux !!!!!
LoadingChargement en cours