|
westrems 42
| Posté : 30-01-2005 16:23
Bonjour,
Voila je fais remplir dans le formulaire d'inscription, les champs $C1(age) $C2 (sexe) $C3 (couleur des cheveux) à $C8, $M1(voulez vous voir apparaitre ces infos lors de votre connection? tapez oui), $M2, $T1 et $T2, informations relative à l'état de la personne qui s'inscrit.
Dans le header, j'aimerais faire ressortir l'information sous cette forme : salut "uname", tu es une fille"$C2", tu as 27 ans"$C1" et les cheveux blonds"$C3"...
Cependant le terme une fille (féminin) ne peux s'afficher que si le champs $C2 (sexe) est renseigné en f, sinon en cas de h (homme) les phrases seront en masculin...
Ces infos sortirons seulement si le champs $M1 a été renseigné en "oui"... sinon il y aura une image à la place... if $M1="oui" echo phrase ci-dessus else print photo ?
Je serais très très reconnaissant pour votre aide
Franchement je suis très mauvais en php / sql, cela fais 3 jours que j'essaye de rapatrier ces informations mais sans succès...
Quelqu'un peux t il m'aider?
Merci d'avance
|  Profil
|
|
hexagone 188
| Posté : 03-02-2005 23:42
salut,
ca devrait ptetre marcher...
essaie ca:
<?php
//fonction a mettre dans header.php, afficher le resultat par:
//echo info_extend_user(); // a l'endroit ou on veut afficher la phrase
//la fonction peut etre largement ameliorée...
//1)en evitant de passer par une fonction
//2)gestion multilangue
function info_extend_user()
{
//recupere la variable globale user
global $user;
$message = "";
//si user est definie, autrmeent& nbsp;dit, si l'utilisateur est connecté
if (isset($user))
{
//recupere les info utilisateur par le cookie
cookiedecode($user);
$userid = $cookie< font color="#007700">[0];
$username = $cookie[1];
//on n'est pas oblig é de passer par le cookie, on peut auss i
//recuperer les info  ;de base de l'utilisateur directement par la  ;variable $user (cryptée)
/*
$userdata = explode (":", base_64_decode($user));
$userid = $userdata [0];
$username = $userda ta[1];
*/
//on n'est pas oblig é d'indiquer exactement les noms des champs,
//on aurait pu utili ser un * pour tout recuperer,
//mais on ne sait&nb sp;jamais quelle taille va faire le champ B1 (blob) inutilisé ici,
//alors inutile de l e recuperer
//@ devant mysql_query&nb sp;evite d'afficher une erreur au cas ou la& nbsp;requete merdouille
//j'en ai mis, mais& nbsp;en cas de programation propre, @ est inutile, puisque qu'on a prevu tous&nb sp;les cas
if ($result=@mysql_query("SELECT C1,C2,C3,C4,C5,C6,C7,C8,M1,M2,T1,T2 FROM users_extend WHERE uid = '$userid'"))
{
//ver ifie qu'il y a au moins une reponse
if&nb sp;($temp = @mysql_fetch_array($result))
//je& nbsp;prefere utiliser un fetch_array, ce nest pas plus lent,
//et& nbsp;cest bien plus pratique en cas de modif ication de la table
{
  ; //afficher les info
  ; if ($temp[M1]=="1") // on peut ommettre =="1" pour tester une valeur differente&nbs p;de vide
  ; {
  ;
  ; $message = "Salut $username,";
  ; //on teste le sexe
  ; //fille
  ; if ($temp[C2]=="f") $message .= "tu est une fille"; // $message .=&n bsp;"truc" est equivalent a $message = $mes sage."truc"
  ; //garcon
  ; else $message .= "tu est un garçon";
  ; $message .= ", tu as ".$temp[C1]." ans et les cheveux ".$temp[C3]." ... ";
  ; }
  ; else
  ; //afficher une image
  ; {
  ; $message = "<img src.................>";
  ; }
}
//lib ere la memoire occupée par la requete
@mysq l_free_result($result);
}
}
//la fonction renvoie le resultat
return($message);
}
?>
|  Profil www
|
|
westrems 42
| Posté : 04-02-2005 17:51
Bonjour Hexagone,
J'ai pris le temps d'intégrer ton code dans le header.php de \themes\themes-dynamic. c'est bien celui ci ou le header.php de \themes\Permanent-Double-Side-Dynamic.
Les messages d'erreurs m'indiquaient pour ces differentes lignes (Que j'ai isolé par // ) :
//si user est definie, autrmeent& nbsp;dit, si l'utilisateur est connecté
if (isset($user))
{
//recupere les info utilisateur par le cookie
cookiedecode($user);
$userid = $cookie< font color="#007700">[0];
$username = $cookie[1];
//on n'est pas oblig é de passer par le cookie, on peut auss i
//recuperer les info ;de base de l'utilisateur directement par la ;variable $user (cryptée)
$userdata = explode (":", base_64_decode($user));
$userid = $userdata [0];
$username = $userda ta[1];
A présent il n'y a plus d'erreur (mais je comprend pas pourkoi les cookies et l'utilisateur ne sera plus reconnu ?)
De plus je sais pas du tout ou integrer : echo info_extend_user(); dans une page php ? le header peux etre ?
Merci d'avance car la je nage... |  Profil
|
|
hexagone 188
| Posté : 08-02-2005 11:38
peux tu m'envoyer ton fichier header.php?
on gagnera du temps je pense..
=> ici: hexagone_mj_at_yahoo.fr (remplacer _at_ par @ )
|  Profil www
|
|
westrems 42
| Posté : 08-02-2005 15:57
Je viens de t'envoyer le fichier en question |  Profil
|
|
hexagone 188
| Posté : 11-02-2005 17:46
ok, jy jete un coup d'oeil des que je peux..:)
|  Profil www
|
|
westrems 42
| Posté : 13-02-2005 21:02
Je retente à nouveau :
Parse error: parse error, unexpected T_ELSE in /home/antinico/www/themes/Permanent-Double-Side-Dynamic/header.php on line 91
ligne 91 --> ; else $message .= "tu es un garçon";
pas de chance sur le truc |  Profil
|
|
zyegfryed 2308
| Posté : 17-02-2005 22:59
Le point virgule en début de ligne est de trop. A mon avis, tu devrais soit le supprimer, soit le changer par une accolade fermante. Si on avait une dizaine de lignes de script je pourrais t'en dire plus, mais là...
|  Profil
|
|
hexagone 188
| Posté : 02-03-2005 11:22
salut,
dsl pour le temps de reponse, mais je voulais tester (cette fois) avant d'envoyer.
on va arreter de perdre notre temps pour rien, on va passer par les metatags.
donc webstrems, efface les modifs précedentes (dsl )
et fait ca:
copie ca dans le fichier modules/meta-lang/extend-meta-lang.php (juste avant le ?> de la fin)
#autodoc !extend_westrems! : metamot pour westrems
$meta_mot='!extend_westrems!';
global $cookie, $anonymous;
$userid = $cookie[0];
$username = $cookie[1];
$chaine_rep = '';
if ($username!=$anonymous && $username!='')
{
if ($result=mysql_query('SELECT C1,C2,C3,C4,C5,C6,C7,C8,M1,M2,T1,T2 FROM users_extend WHERE uid = \''.$userid.'\''))
{
  ; if ($temp = mysql_fetch_assoc($result))
  ; {
  ; if ($temp[M1]=='1')
  ; {
  ; $chaine_rep = 'Salut '.$username.',';
  ; //on teste le sexe
  ; //fille
  ; if ($temp[C2]=='f') $chaine_rep .= 'tu est une fille';
  ; //garcon
  ; else $chaine_rep .= 'tu est un garçon';
  ; $chaine_rep .= ', tu as '.$temp[C1].' ans et les cheveux '.$temp[C3].' ... ';
  ; }
  ; else
  ; //afficher une image
  ; {
  ; $chaine_rep = '<img src=\"img.jpg\">';
  ; }
  ; }
  ; //libere la memoire occupée par la requete
  ; mysql_free_result($result);
}
}
$Xcontent=extend_meta_mot($Xcontent,$meta_mot,$chaine_rep);
puis ouvre ton fichier themes/Permanent-Double-Side-Dynamic/html/header.html
et ajoute derriere !whoim!
ca: <br />!extend_westrems!
la ca devrait marcher..
je t'envoie une verison par mail ce soir, vu qu'il y a des caracteres qui s'ajoutent ici...
+
Message édité par : hexagone |  Profil www
|
|