Problème avec des conditions en PHP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par gcvoiron, 30 Juin 2006.

  1. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Bonjour,

    Sur mon site, les membres peuvent enregistrer 10 sites, pour les faire connaître aux autres membres.
    J'ai une page avec le récapitulatif des sites, si le membre a enregistré 10 sites, un message "Vous ne pouvez plus mettre de site." apparait, et si il a mit moins de dix sites, un champ pour ajouter un site ainsi qu'un bouton "Ajouter le site" apparait. Ce bouton redirige le membre sur la page ajouter-site.php qui comporte le code suivant :

    Code:
    <?php 
    require('../prepend.inc.php');
    $a = $_SERVER['HTTP_REFERER'];
    $nnbsite = $_POST['nbsite'] + 1;
    if ($nnbsite = 1) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 2) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url1='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 3) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url2='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 4) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url3='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 5) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url4='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 6) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url5='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 7) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url6='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 8) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url7='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 9) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url8='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    if ($nnbsite = 10) {
       $sql =mysql_query("UPDATE demo_a_accounts SET url9='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }
    $sdm =mysql_query("UPDATE demo_a_accounts SET nbsite='$nnbsite' WHERE id='".$_POST['idmembre']."'");
    header("Location: $a");
    ?> 
    Où :
    $a représente la page récapitulatif des sites
    $nbsite représente le nombre de site qu'a le membre
    $nnbsite représente le numéro du site à ajouter. Par exemple, si le membre a 5 sites, $nnbsite sera égal à 6.
    idmembre est le numéro du membre
    site est le site à ajouter

    Donc je voudrai que si le membre a :

    0 site, il ajoute donc le 1ier site, dans url
    1 site, il ajoute donc le 2ème site dans url1 et ainsi de suite.

    La requête $sdm sert à mettre dans la base de donnée le nombre de sites du membre.

    J'ai 2 problème :
    -Le site s'enregistre toujours dans "url"
    -Dès que j'ajoute un site, $nbsite passe tout de suite à 10...

    Pourriez-vous m'aider?
    Merci.
     
  2. radiotrance
    radiotrance WRInaute discret
    Inscrit:
    10 Juillet 2005
    Messages:
    124
    J'aime reçus:
    0
    déjà pour des conditions il faut des "==", le "=" sert pour l'affectation d'une valeur.

    en gros quand tu fais ca:
    Code:
    if ($nnbsite = 1)
    $nnbsite prend la valeur 1.
     
  3. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Ok, merci pour cettre précision.
     
  4. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Et ben c'est bon, sa marche parfaitement!
    Merci radiotrance!
     
  5. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 207
    J'aime reçus:
    365
    tu as la fonction "switch()" pour ce genre de "if" imbriqués
    -http://be.php.net/switch
     
  6. radiotrance
    radiotrance WRInaute discret
    Inscrit:
    10 Juillet 2005
    Messages:
    124
    J'aime reçus:
    0
    +1 ca sera beaucoup mieux :)
     
  7. FlorentP
    FlorentP WRInaute discret
    Inscrit:
    25 Juin 2005
    Messages:
    131
    J'aime reçus:
    0
    Ou même, plus facila à relire :

    $nnbsite= intval($nnbsite);
    if ($nnbsite >= 1 && $nnbsite <= 10) {
    $sql =mysql_query("UPDATE demo_a_accounts SET url$nnbsite='".$_POST['site']."' WHERE id='".$_POST['idmembre']."'");
    }

    plutot que 10 copier coller de presque la même requête...
     
  8. karak
    karak WRInaute occasionnel
    Inscrit:
    7 Août 2005
    Messages:
    315
    J'aime reçus:
    0
    Je te conseille egalement la proposition de FlorentP.

    C'est plus court et plus pratique qu'un switch ou que des if.

    En plus si tu dois changer le code, cela sera encore plus rapide.
     
  9. radiotrance
    radiotrance WRInaute discret
    Inscrit:
    10 Juillet 2005
    Messages:
    124
    J'aime reçus:
    0
    +1 j'avais pas regardé son code en details, c'est clair que ca serai beaucoup mieux.
     
Chargement...
Similar Threads - Problème conditions PHP Forum Date
Problème de conditions en PHP avec mysql_result Développement d'un site Web ou d'une appli mobile 5 Janvier 2006
Problème url-rewriting multi-conditions URL Rewriting et .htaccess 20 Juin 2012
Problème url-rewriting multi-conditions Développement d'un site Web ou d'une appli mobile 5 Octobre 2011
Problèmes Données structurées Crawl et indexation Google, sitemaps Aujourd'hui à 09:07
problème avec mon site Demandes d'avis et de conseils sur vos sites Lundi à 15:35
Probleme tag sur Google tag manager Demandes d'avis et de conseils sur vos sites 24 Novembre 2022
Probleme Tag sur Google Tag Manager Google Analytics 18 Novembre 2022
Gros problème sur la profondeur de mes pages Problèmes de référencement spécifiques à vos sites 30 Septembre 2022
Problème de htaccess chez Ionos URL Rewriting et .htaccess 12 Septembre 2022
Problème sur jquery avec fonction asynchrone Développement d'un site Web ou d'une appli mobile 6 Septembre 2022
Problème de crawl et d'indexation Crawl et indexation Google, sitemaps 1 Septembre 2022
WordPress Problème affichage style avec Elementor (titre, bordures, separateur) Administration d'un site Web 8 Août 2022
Problème d'indexation de backlinks Débuter en référencement 24 Juillet 2022
Problème d'indexation de backlinks Problèmes de référencement spécifiques à vos sites 21 Juillet 2022
Probleme de visibilité de ma page Facebook Facebook 5 Juillet 2022
problème avec le développeur Droit du web (juridique, fiscalité...) 22 Juin 2022
Problème désindexation des pages de Google Débuter en référencement 21 Juin 2022
Problème d'indexation de pages sur Google Problèmes de référencement spécifiques à vos sites 31 Mai 2022
problème de redirection non souhaitée Administration d'un site Web 28 Avril 2022
Problème d'indexation Produits Prestashop Crawl et indexation Google, sitemaps 28 Avril 2022