Utilisé correctement Isset() et $_GET et quetions SQL

Eléphant du PHP | 116 Messages

22 mars 2010, 17:53

Voilà, encore une question de noob.

J'aimerai faire un site en deux langues.

La langue choisi doit apparaitre dans l'url (sous la forme ?lang=VN par exemple)
La première fois qu'on arrive sur la page il n'y à pas de valeur pour $lang, donc j'obtiens une erreur.
J'ai essayé different script, pour dire que si $lang et null, alors $lang égale VN. Mais je n'ai pas encore trouvé celui qui fonctionne correctement.
$lang = isset($_GET['lang']) && !empty($_GET['lang']);
{
$lang == "VN";
}

// ou bien
if empty($_GET['lang']) { $lang == "VN" };

// ou bien
if ($_GET['lang'] == NULL) { $lang == "VN" };
Si quelqu'un peu me dire dans quel direction partir?

J'en profite plutot que recrée un post pour cette petite question aussi pour savoir, j'ai une erreur SQL qui m'est renvoyé à cette instruction :
"SELECT * FROM $table_meta WHERE lang=$lang";
//Reponse : 
Erreur SQL !
SELECT * FROM meta WHERE lang=EN
Unknown column 'EN' in 'where clause'
Voilà si la quelqu'un aurai l'oeil pour me dire pourquoi ma requête ne fonctionne pas :/

ViPHP
ViPHP | 5462 Messages

22 mars 2010, 17:59

normale faut mettre des quotes pour les chaines de caractères en SQL

Eléphant du PHP | 116 Messages

22 mars 2010, 18:14

J'avais également déjà essayé avec des guillemets, sans résultats, quoi que l'erreur n'est pas exactement la même
$sql = "SELECT * FROM \"$table_meta\" WHERE lang=\"$lang\"";

Erreur : 

Erreur SQL !
SELECT * FROM "meta" WHERE lang="EN"
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"meta" WHERE lang="EN"' at line 1
Enfin, stealth35 t'es tout seul à aidé les débutants sur ce forum? j'ai souvent affaire à toi. :D

Sinon si quelqu'un aurai aussi la réponse pour ce que j'essai de faire avec $_GET je suis preneur d'une solution

Mammouth du PHP | 985 Messages

22 mars 2010, 18:24

Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 116 Messages

22 mars 2010, 18:29

Merci pour les link dr@ke, je regarde ça tout de suite

ViPHP
ViPHP | 5462 Messages

22 mars 2010, 18:34

pour ton SQL c'est plus
SELECT * FROM $table_meta WHERE lang='$lang'
:wink:

Eléphant du PHP | 116 Messages

22 mars 2010, 18:49

merci stealth, la requete marche, manque plus que de faire fonctionné mes fonctions et ca fonctionnera impect, je lis les links que dr@ke ma passé et quand j'ai corrigé je post une version correct, pour les mecs comme moi qui chercherons leurs truc sur google :)

Eléphant du PHP | 116 Messages

22 mars 2010, 19:59

Merci dr@ke pour tes liens très utiles.
J'ai vu qu'il y avais d'autre article en fin de page, je les ai ajoutés en favoris et j'ai pus faire mon bout de code tout en apprenant.

Voici donc pour ceux qui désire faire comme moi :
if (empty($_GET['lang']) || $_GET['lang'] == "VN")
	{
$lang = "VN";
	}
elseif ($_GET['lang'] == "EN")
	{
$lang = "EN";
	}
On sais jamais même si finalement, c'était pas très compliqué ;)