Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/04/2007, à 15:03

daroth

Problèmes fonctions php (isset() et empty())

Bonjour,
je viens viens d'installer un serveur LAMP sur mon ubuntu histoire de pouvoir continuer le développement de mon site sans avoir à rebooter tout le temps.

Et je continue le codage de mon code, et là j'ai un problème avec une condition d'existence d'une variable de type GET.

Voila l'url :
http://127.0.0.1/cc/listeSociete.php?id=34 (donc normalement $_GET['id'] = 34)

Et la partie de mon code qui pose problème :

<?php
    if((isset($_POST['id'])) && (!empty($_POST['id']))) {

        $rq = "SELECT * FROM souspartie WHERE id='".$_GET['id']."'";

	$result = mysql_query($rq);

	$data = mysql_fetch_array($result);

	$titredelapage = $data['titre'];
    }
    else { $titredelapage = 'Cette page n\' existe pas'; }

?>

Avant d'avoir rajouté les condition id/else le code marchais très biens tant que l'on mettais un get non vide.
Mais depuis que j'ai modifié le code, $titredelapage contient tout le temps le texte 'Cette page n\' existe pas', quelque soit la valeur du $_GET[id'].

Donc j'ai deux hypothèses :
- soit les fonction isset() et empty() ne marchent pas. (et donc comment les faire marché???)
- soit mon code ne marche pas,mais je n'arrive pas à voir où je me suis trompé.

Merci d'avance.


MIMAO : Musique + Informatique  = MAO (Musique Assisté par Ordinateur)

Hors ligne

#2 Le 30/04/2007, à 15:06

Desintegr

Re : Problèmes fonctions php (isset() et empty())

Tu utilises des POST et des GET en même temps ? Bizarre. smile


Hoc Volo, Sic Jubeo !
Mon wiki : http://desintegr.free.fr

Hors ligne

#3 Le 30/04/2007, à 15:08

inazo

Re : Problèmes fonctions php (isset() et empty())

Salut à toi,

déjà ceci ne sert à rien :

 if((isset($_POST['id'])) && (!empty($_POST['id']))) {

Remplace par ceci :

 if(!empty($_GET['id'])) {

Car empty vérifie si la variable existe, donc isset, et si elle est vide.

Et oui c'est un GET pas un POST.

De plus c'est un beau trou de sécurité tout de même... Rajoute un test dans ton if pour savoir si $_GET['id'] est bien un nombre.

Cordialement Inazo.

Dernière modification par inazo (Le 30/04/2007, à 15:09)


Processeur : AMD 64 3500+ / Carte Graphique : ATI X800Pro AGP(8x) / Carte mère : Asus A8V Deluxe / HDD : Hitachi Deskstars 750 160Go / Accélération 3D : Online / GuildWars : On / Compiz : Plantage fréquent ...

Hors ligne

#4 Le 30/04/2007, à 15:12

daroth

Re : Problèmes fonctions php (isset() et empty())

Comment fait-on pour tester si le contenu de la variable est bien un chiffre? (sans utiliser de méthodes lourdes comme les regex...)

Merci d'avance.


MIMAO : Musique + Informatique  = MAO (Musique Assisté par Ordinateur)

Hors ligne

#5 Le 30/04/2007, à 15:13

inazo

Re : Problèmes fonctions php (isset() et empty())

avec la fonction is_numeric()

Voir la documentation php pour son fonctionnement et aussi les fonctions similaire.

Cordialement Inazo.


Processeur : AMD 64 3500+ / Carte Graphique : ATI X800Pro AGP(8x) / Carte mère : Asus A8V Deluxe / HDD : Hitachi Deskstars 750 160Go / Accélération 3D : Online / GuildWars : On / Compiz : Plantage fréquent ...

Hors ligne

#6 Le 30/04/2007, à 17:01

daroth

Re : Problèmes fonctions php (isset() et empty())

Merci beaucoup à tous, ça marche parfaitement maintenant!

@++


MIMAO : Musique + Informatique  = MAO (Musique Assisté par Ordinateur)

Hors ligne