Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Conseil en PHP .. =)

Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 29 Mai 2006, 17:23
Coucou, bah voilà je tente un petit truc (car j'avais jamais essayer auparavant) et j'aurais voulu savoir si c'est correct de mettre deux IF.

Comme exemple :

if ($membre['membre_login'])
if ($config['XXXXXX'])
{


C'est pour par exemple quand le membre est connecté et quand quelque chose d'autres ..

:O Merci de votre aide ! :)

EDIT: Titre modifié car si d'autres personnes ou moi on des questions sur le php (ou autre) peuvent en profiter de poster ici !


We Will Not Forget
9/11
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5458
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Mai 2006, 17:24
tu peux en imbriquer autant que tu veux , cepednant si tu ne met pas d'accolade c'est le block qui est juste après qui sera dans le if...

donc ce que tu amrque est juste


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 29 Mai 2006, 17:28
Merci grummfy pour cette réponse rapide ! (en voulant voir ta réponse, j'ai creer un nouveau sujet ! C'est parce que j'ai fais précédent : :$)


We Will Not Forget
9/11
 
Volcan
Avatar de T@ncredo
  • Messages : 1177
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Mai 2006, 18:07
Sauf que le plus souvent on fait :

[php]if ($membre['membre_login'] && $config['XXXXXX'])[/php]

:D


Enigma, site d'énigmes

http://www.elevage-enchante.com/bouton_88.gifJeu d'élevage virtuel de lapins
 
Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 29 Mai 2006, 19:12
Mais si je met quelque chose après le : $config['XXXXXX'], je doit prendre la formule 1 ?

Ma feuille est devenue un brouillon, en plus, je ne suis pas sûr que $membre['membre_login'] soit la variable d'un membre connecté ! :lol:
C'est sympa l'entraide que y a ici ! :) Ca fait plaisir!


We Will Not Forget
9/11
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14507
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Mai 2006, 19:17
La syntaxe est assez simple et récurente à la plupart des languages (c, c++, php, perl, java, etc ...) :
[php]if ( condition )
{
// Code appelée si la condition renvoie TRUE (1)
}
else
{
// Code appelé si la condition vaut FALSE (0)
}[/php]

Donc après ta condition a toi de la construire. Par exemple :
[php]$variable = 2;
if ($variable == 2)
{
// Code
}[/php]

tu peux mettre des AND (&&) et OU (||) logique, par exemple :
[php]$variable = 2;
if ($variable > 0 && $variable < 10)
{
// Code appelé si $variable est supérieur à 0 ET si $variable est inférieur a 10
}

$variable = 2;
if ($variable < 0 || $variable > 10)
{
// Code appelé si $variable est inférieur à 0 OU si $variable est supérieur a 10
}[/php]


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 29 Mai 2006, 19:21
Wahou, c'est vraiment très sympa ses réponses rapides ! :)

L'avantage c'est que Fsb est en français et je trouve ça beaucoup plus clair pour s'y retrouver !

Puis pour revenir :

[php]if ( condition 1 )
{
// Code appelée si la condition renvoie TRUE (1)
}
else ( condition )
{
// Code appelé si la condition vaut FALSE (0)
}[/php]


A else cela peut-être une autre condition que la condition 1 ?

Merci pour vos éclaircicements !


We Will Not Forget
9/11
 
Equipe des MODS
Avatar de Grummfy
  • Age : 23 ans
  • Messages : 5458
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Mai 2006, 19:35
[php]if ( condition 1 )
{
// Code appelée si la condition 1 renvoie TRUE (1)
}
elseif ( condition 2 )
{
// Code appelé si la condition 2 vaut true
}
else
{
si aucun des deux cas précédent est bon
}[/php]


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
http://www.grummfy.com/download/crea/smileys/fsb2.gif Mods fsb1 - Mods fsb2 - Mon forum - Grummfy's project
 
Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 29 Mai 2006, 19:42
Ok, je viens d'apprendre le elseif !
Moi qui faisait un :
[php]else{
if{
}
}[/php]

Merci, bon et bien pour le moment j'ai plus d'autres questions ! Mais cela ne saurait tarder .. :lol:

:kiss:


We Will Not Forget
9/11
 
Volcan
Avatar de Mido
  • Age : 32 ans
  • Messages : 1836
  • Inscrit : 28 Janvier 2005
  Lien vers ce message 29 Mai 2006, 19:52
Si tu as plus que 2 if à suivre, essaye le switch
switch (calcul ou variable) {
  case ("valeur1"): ordres; break;
  case ("valeur2"): ordres; break;
  case ("valeur3"): ordres; break;
  case ("valeur4"): ordres; break;
  ...
  default: ordres; break;
}

Exemple:
switch ($_SESSION['langue']) {
  case "FR": echo "Français"; break;
  case "DE": echo "Allemand"; break;
  case "EN": echo "Anglais"; break;
  default: echo "Langue non définie"; break;
}

Midori ^^;;


http://www.loutan.net/ub/encyclo.gif
http://www.loutan.net/ub/ludivers.gif
http://www.loutan.net/ub/yves.gif
 
Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 29 Mai 2006, 20:01
Coucou Midori, merci pour cette petite information !

Sauriez-vous me dire quelle syntaxe utilisée pour un membre non loggué ?
['membre_no_login'] ?

Merci bien ! :lol:


We Will Not Forget
9/11
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14507
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Mai 2006, 20:17
[php]if ($membre['membre_id'] == 0)
{

}[/php]


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 29 Mai 2006, 20:36
Trop cool, j'ai réussi ! :lol:
Oui, j'ai réussi à modifier un MOD pour faire un petit gadget en plus ... après m'être battu contre les " unexpected T_VARIABLE " etc ...

Bon je sais, pour vous cela vous aurez pris 2 minutes à faire 3 lignes, mais moi qui commence juste à utiliser vraiment le php.

Bon il est pas au point (je ne sais pourquoi) alors avant de vous donner mon oeuvre d'art pas trop utile, je vais essayer de le corriger, mais je crois que je vais devoir faire mes devoirs avant.. :8:

@+ et encore merci, ça fait plaisir de voir qu'on peut arriver à quelque chose, surtout lorsque l'on est aider par des gens comme vous !


We Will Not Forget
9/11
 
Equipe traduction
Avatar de Pitou43
  • Age : 17 ans
  • Messages : 143
  • Inscrit : 29 Mai 2006
  Lien vers ce message 30 Mai 2006, 16:02
Bon alors voilà, j'ai fais un truc qui permet d'afficher un message à l'index du forum visible uniquement par les membres qui sont connectés. J'ai fais ça parce que je trouver dommage que le MOD Bienvenue de mini-mouse soit aussi afficher aux membres !

Donc j'ai repris un peu ses codes pour creer le fichier d'install ^^" :O

/*******************************************************************************
*     MOD Message à l'index visible par les membres :: version 1
*
*   ---------- Auteur --------------------------------------------------------
*   Auteur ::				Pitou43
*   Email ::				pitou43
*   Site Web ::				///
*
*   ---------- Mod -----------------------------------------------------------
*   Nom ::					Message visible par les membres
*   Version ::				1
*   Compatible ::			FSB 1.0.3b
*
*   Description ::			Ce MOD permet d'afficher un message sur
*					l'index du forum visible uniquement par les membres de votre forum, ce message est modifiable par l'admin.
*
*   Temps d'installation ::	~5 minutes
*   Requete ::				Non
*   Cache ::				Oui
*   Fichiers joins ::		0
*   Fichiers à modifier ::	5
*
*   ---------- Note ----------------------------------------------------------
*	

	Je me suis servi de la base du MOD Message d'Acceuil de Mini-Mouse !
	De plus merci à Grummfy, T@ncredo, Genova, Mido, Yoursef et SquallX pour leur aide précieuse ! ;-D

*
*   ---------- Historique ----------------------------------------------------
*   Commencé ::               Le 30 / 05 / 2006
*   
*******************************************************************************/
#
# [1] ---------- requete cache --------------------------------------------------
#

INSERT config FIELDS name value VALUES 'msglog_activ' '0';
INSERT config FIELDS name value VALUES 'msglog' 'Tapez ici votre message visible par les membres';

#
# [2] ---------- ouvrir ---------------------------------------------------------
#

index.php

#
# [3] ---------- chercher -------------------------------------------------------
# /!\ Si vous utilisez le MOD BIENVENUE de Mini-Mouse /!\ Si non, voir plus bas! 

//MOD Message d'acceuil par Mini-Mouse
if ($config['msg_activ'])
{
   $tpl-> assign_block_vars('msg', array(
   	  'MSG' => stripslashes($config['msg']),
   ));
}

#
# [4] ---------- remplacer par -------------------------------------------------
#
// Mod message sur l'index visible seulement pour les membres
if ($membre['membre_id'] != INVITE && $config['msglog_activ'])
{
   $tpl-> assign_block_vars('msglog', array(
        'MSGLOG' => stripslashes($config['msglog']),
   ));
}
// Mod Message d'acceuil par Mini-Mouse
elseif ($config['msg_activ'])
{
   $tpl-> assign_block_vars('msg', array(
        'MSG' => stripslashes($config['msg']),
   ));
}
#
# [5] ---------- chercher -------------------------------------------------
# /!\ Si vous n'utilisez pas le MOD BIENVENUE de Mini-Mouse /!\

$tpl->assign_vars( array(
	'L_MARQUER_LU' =>	$langue['marquer_lu'],
	'U_MARQUER_LU' => ajout_sid('index.php?marquer=true')
));

#
# [6] ---------- apres, ajouter ---------------------------------------------------------
#

// Mod message sur l'index visible seulement pour les membres
if ($membre['membre_id'] != INVITE && $config['msglog_activ'])
{
   $tpl-> assign_block_vars('msglog', array(
        'MSGLOG' => stripslashes($config['msglog']),
   ));
}


#
# [7] ---------- ouvrir ---------------------------------------------------------
#

langue/fr/langue_module.php

#
# [8] ---------- chercher -------------------------------------------------------
#

?>

#
# [9] ---------- avant, ajouter -------------------------------------------------
#

//Message visible par les membres
$langue['msglog_admin'] = 'Configuration du message visible visible par les membres';
$langue['msglog'] = 'Message visible par les membres:';
$langue['msglog_activ'] = 'Activer le MOD message visible par les membres :';

#
# [10] ---------- ouvrir ---------------------------------------------------------
#

admin/admin_index_config.php

#
# [11] ---------- chercher -------------------------------------------------------
#
	'L_OUI' =>				$langue['oui'],
	'L_NON' =>				$langue['non'],

#
# [12] ---------- apres, ajouter -------------------------------------------------
#

	'L_MSGLOG' =>                 $langue['msglog'],
	'L_MSGLOG_ADMIN' =>	   $langue['msglog_admin'],
	'L_MSGLOG_ACTIV' =>           $langue['msglog_activ'],

#
# [13] ---------- chercher -------------------------------------------------------
#
        'V_UPLOAD_AVATAR_OUI' =>	( $config['upload_avatar'] ) ? 'checked="checked"' : '',
	'V_UPLOAD_AVATAR_NON' =>	( ! $config['upload_avatar'] ) ? 'checked="checked"' : '',

#
# [14] ---------- apres, ajouter -------------------------------------------------
#
	'V_MSGLOG_ACTIV_OUI' =>      ( $config['msglog_activ'] ) ? 'checked="checked"' : '',
	'V_MSGLOG_ACTIV_NON' =>      ( ! $config['msglog_activ'] ) ? 'checked="checked"' : '',
	'V_MSGLOG' =>         ($config['msglog']),

	
#
# [15] ---------- ouvrir ---------------------------------------------------------
#

themes/votre_theme/index_corps.tpl

#
# [6] ---------- chercher -------------------------------------------------------
#

<!-- BEGIN cat -->

#
# [7] ---------- avant, ajouter -------------------------------------------------
#

		<!-- BEGIN msglog -->
	<table align="center" width="100%" class="tableau" cellpadding="2" cellspacing="0">
		<tr>
			<td class="td_titre" width="100%" align="center">{NOM_SITE}</td>      
		</tr>
		<tr>
			<td class="td_stats" width="100%" align="center">{msglog.MSGLOG}</td>
		</tr>
	</table>
	<!-- END msglog -->
<br />

#
# [16] ---------- ouvrir ---------------------------------------------------------
#
themes/votre_themes/admin/admin_configuration.tpl

#
# [17] ---------- chercher -------------------------------------------------------
#
	<tr>
		<td class="td_admin4">{L_COOKIE_NOM}:<br />{L_COOKIE_CHEMIN}:<br />{L_COOKIE_DOMMAINE}:<br />{L_COOKIE_SECURITE}:</td>
		<td class="td_admin2" width="350">
			<input type="text" name="cookie_nom" value="{V_COOKIE_NOM}"  size="25" /><br />
			<input type="text" name="cookie_chemin" value="{V_COOKIE_CHEMIN}"  size="25" /><br />
			<input type="text" name="cookie_dommaine" value="{V_COOKIE_DOMMAINE}"  size="25" /><br />
			<input type="radio" name="cookie_securite" value="1" {V_COOKIE_SECURITE_OUI} /> {L_OUI}&nbsp;&nbsp; 
			<input type="radio" name="cookie_securite" value="0" {V_COOKIE_SECURITE_NON} /> {L_NON}
		</td>
	</tr>

#
# [18] ---------- apres, ajouter -------------------------------------------------
#
	<tr>
		<td class="td_admin_titre2" align="center" colspan="2">{L_MSGLOG_ADMIN}</td>
	</tr>
	<tr>
     	<td class="td_admin4" valign="top">{L_MSGLOG_ACTIV}</td>
	    <td class="td_admin2" width="350">
      		<input type="radio" name="msglog_activ" value="1" {V_MSGLOG_ACTIV_OUI} /> {L_OUI}  
        	<input type="radio" name="msglog_activ" value="0" {V_MSGLOG_ACTIV_NON} /> {L_NON}</td>
		</tr>
	<tr>
		<td class="td_admin4" valign="top">{L_MSGLOG}</td>
		<td class="td_admin4">
			<textarea rows="4" name="msglog" cols="40">{V_MSGLOG}</textarea>
		</td>
	</tr>


Là je suis en train d'essayer de creer un champs qui va permettre de changer le titre du message (qui est à la base le nom de notre forum). Dois-je demander la permission à Styx pour avoir repris son mod ? :8:

Voilà, j'ai une autre idée tout bête dans la tête aussi ... (parce que je peux pas encore faire de grand trucs comme vous, mais j'aime bien aussi les petites modifications pour forums ... x) )


We Will Not Forget
9/11
 
Equipe de support
Avatar de B.Moncef
  • Age : 17 ans
  • Messages : 1926
  • Inscrit : 10 Septembre 2005
Message édité 1 fois, dernière édition par B.Moncef, 01 Septembre 2008, 4:52     Lien vers ce message 30 Mai 2006, 17:35
tu pourrais modifier ce code
if ($membre['membre_id'] == 1)
if ($config['msglog_activ'])
{
   $tpl-> assign_block_vars('msglog', array(
        'MSGLOG' => stripslashes($config['msglog']),
   ));
}
// Mod Message d'acceuil par Mini-Mouse
if ($membre['membre_id'] == 0)

if ($config['msg_activ'])
{
   $tpl-> assign_block_vars('msg', array(
        'MSG' => stripslashes($config['msg']),
   ));
}


par ceci

if ($membre['membre_id'] == 1 && $config['msglog_activ'])
{
   $tpl-> assign_block_vars('msglog', array(
        'MSGLOG' => stripslashes($config['msglog']),
   ));
}
// Mod Message d'acceuil par Mini-Mouse
elseif ($config['msg_activ'])
{
   $tpl-> assign_block_vars('msg', array(
        'MSG' => stripslashes($config['msg']),
   ));
}
 
Répondre


.