afficher le logo selon la langue

Mammouth du PHP | 1356 Messages

23 sept. 2015, 17:16

mon conseil, avant de vouloir faire des choses compliquées, suivre un tutorial pour débutant en php et programmation, pour apprendre les choses petit à petit. quand les bases seront assimilées, alors il sera tant de se replonger dans cet objectif.

Eléphant du PHP | 63 Messages

23 sept. 2015, 17:50

En faite je crois savoir pourquoi cela ne fonctionne pas, en local a l endroit ou il y a l erreur et non pas l image qui s affiche
j ai fais inspecter l element et je vois que il y a les balises pour desactiver le php pourtant j ai pas mis <!--

enfait il ce desactive tous seul il doit pas etre accepter a cette endroit et mis par defaut en <!-- code -->


Or tu as raison mais quand j aurais fini d apprendre , mon site sera obselete, et comme disant mon arriere grand mere, quand veut apprendre a nager, il faut ce jeter a l'eau. :lol:

Eléphanteau du PHP | 17 Messages

23 sept. 2015, 19:19

Lors de la connexion du membre, est ce que tu enregistre bien les infos du membres dans $_SESSION ?
Ou alors tu passes peut être par des $_GET['id'] dans l'url ?

Eléphanteau du PHP | 17 Messages

23 sept. 2015, 19:34

Alors essaye avec ça :

Page connexion.php

Code : Tout sélectionner

<!-- Traitement --> <?php if(session_status() == PHP_SESSION_NONE) { session_start(); } //on vérifie que la session est lancée $pdo = new PDO('mysql:host=localhost;dbname=NOM', 'LOGIN', ''); //connexion à la bdd if(!empty($_POST) && !empty($_POST['email']) && !empty($_POST['password'])) { //s'il y a des données dans le formulaire $req = $pdo->prepare('SELECT * FROM users WHERE email = :email'); // Tout est dis, on recherche si un utilisateur correspond à l'email $req->execute(['email' => $_POST['email']]); $user = $req->fetch(); // on le classe dans un tableau if($_POST['password'] == $user['password']) { // on vérifie si le mot de passe est correct (a voir si tu utilise un password_encrypt $_SESSION ['auth'] = $user; // si les mots de passe correspondent, on enregistre la session header('location: moncompte.php'); // on le redirige sur la page mon compte exit(); // on arrete le script la. } else { $_SESSION['flash']['danger'] = "L'adresse email et le mot de passe ne correspondent pas !"; // sinon on affche un message d'erreur header('location: connexion.php'); // on le redirige sur la page de connexion exit(); } } ?> <!-- Formulaire --> <form method="POST" action=""> <p>Adresse Mail <input type="email" name="email" placeholder="Adresse Mail" required/></p> <p>Mot de Passe <input type="password" name="password" placeholder="Mot de passe" required/></p> <input type="submit" value="Envoyer" /> </form>
Et la page moncompte.php

Code : Tout sélectionner

<?php if(session_status() == PHP_SESSION_NONE) { session_start(); } //on vérifie que la session est lancée if(isset($_SESSION['auth']['user_lang'])) { //Si il y a une entrée dans user_lang echo"<img src=".$_SESSION['auth']['user_lang'].">"; } else { echo"Pas d'entrée correcte (Langue non paramétrée)"; //Affichage d'erreur } ?>
Evidemment dans la base de donnée, il faut qu'il est marqué EN TEXTE : logofr.png /logoen.png / logode.png ou logoit.png

Eléphant du PHP | 63 Messages

23 sept. 2015, 20:03

salut hyflender

en fait j utilise un forum phpbb 3.1.6 avec un themes. l 'enregistrement des users ce fait comme sur tout les forums phpbb il s enregistre dans la base de donnees
y compris la langue choisi car j avais rajouter des packs langues d origine En apres j ai mis fr, it et de pour allemand
la je n ai rien changer cote fonctionnement phpbb dans la base , quand je creer un compte je vois dans la base user_lang il y a bien les valeurs soit fr ou en it ou de
je vais tester tes modifications je te tiens informer et merci encore.

Eléphanteau du PHP | 17 Messages

23 sept. 2015, 20:29

Ok, je sais pas comment fonctionne phpbb au niveau des $_session (regarde quels paramètres il utilise) et après suffit juste de faire une condition de type :

Code : Tout sélectionner

<?php if($_SESSION['user_lang'] == "fr"): ?> <img src="logofr.png"> <?php if($_SESSION['user_lang'] == "en"): ?> <img src="logoen.png"> <?php if($_SESSION['user_lang'] == "de"): ?> <img src="logode.png"> <?php if($_SESSION['user_lang'] == "it"): ?> <img src="logoit.png"> <?php endif; ?>

Eléphant du PHP | 63 Messages

23 sept. 2015, 20:44

pour repondre a ta question dans url,
les urls de phpbb quand tu es connecte c est ce genre d url

http://nomdedomain.com/forum/index.php?sid= avec plein de chiffre

j ai regarder quand on est dans compte ou creation de compte. pour les langues c est ecris comme cela
<dl>
			<dt><label for="lang">My language:</label></dt>
			<dd><select name="lang" id="lang"><option value="en" selected="selected">British English</option><option value="fr">Français</option><option value="de">Deutsch (Du)</option><option value="it">Italiano</option></select></dd>
		</dl>

Eléphant du PHP | 63 Messages

25 sept. 2015, 16:00

je pense pour que ca puisse fonctionner il faut peut de php dans la page principal , est il possible de faire comme une fonctionlangue. php extern
ou un deterninelangue.js ? et juste mettre un petit code sur le html qui appel excecute la requet et affiche le logo.

Eléphanteau du PHP | 17 Messages

25 sept. 2015, 19:35

et avec :

Code : Tout sélectionner

<?php if($_GET['id']['user_lang'] == "fr"): ?> <img src="logofr.png"> <?php if($_GET['id']['user_lang'] == "en"): ?> <img src="logoen.png"> <?php if($_GET['id']['user_lang'] == "de"): ?> <img src="logode.png"> <?php if($_GET['id']['user_lang'] == "it"): ?> <img src="logoit.png"> <?php endif; ?>

Eléphant du PHP | 63 Messages

28 sept. 2015, 17:52

je vais tester je te tiens au courant merci

Eléphant du PHP | 63 Messages

01 oct. 2015, 10:12

en faite la page index.html me desactive automatiquement le php du coup une seule banniere a ce partager
merci

Mammouth du PHP | 737 Messages

01 oct. 2015, 10:21

Salut,

L'url est réécrite ? Autrement renommes ta page en index.php et ton code sera interprété.

Mega
;)
Dyslexics are teople poo

Eléphant du PHP | 63 Messages

01 oct. 2015, 19:31

bonsoir Mega

c'est sur le meme type de forum ici le logo est sur le fichier > html navbar_header.html
si je le rename en php , je vais avoir un gros bandeau rouge WArning.
il n y a que dans cette page que j arrive a afficher le logo j ai essayer directement dans index.php du forum mais pas de pot il se sert de navbar_header.html
exactement comme le forum phpfrance.

et quand je mets le code php dans navbar_header.html quand je charge la page index du forum le code est desactiver.

j essai de faire mes sites avec tu responsives je vois que c'est galere pour intergret du php quand on debut.
car le responsive ca chercher des styles des scripts.js c est un peu le bazard hehe.
du coup j ai laisser tomber apres plusieurs heures de tentatives.

[eu etre que si je peux le php sur une fichier extern separer un peu comme une fonction
et que je mets que une ligne juste pour afficher le logo genre
<php>  Echo ($logo); ?>
ca pourrait marche , mais je n'ai pas encore mis les pieds dans les fonctions.

merci de m'avoir repondu.

Mammouth du PHP | 737 Messages

02 oct. 2015, 10:43

Derrière si c'est un thème wordpress il y a forcément des fichiers, fonctions php etc...
Je suis vraiment sceptique au vue de la problématique simple du début.
Si c'est juste afficher un logo selon la langue...
Tu peux créer une fonction toute simple que tu appelles dans ton template.
Il y a pas moyen d'avoir le code de la page en entier ?

Mega
;)
Dyslexics are teople poo

Mammouth du PHP | 737 Messages

02 oct. 2015, 11:14

Si tu passes par les url utilises une fonction sinon utilise ce plugin :
https://wpml.org/fr/
Dyslexics are teople poo