IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Vérifier qu'une lien contient un nombre


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Vérifier qu'une lien contient un nombre
    Salut à tous,
    je me prends un peux la tête sur cette histoire de lien contenant un nombre.
    j'ai des lien du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sommaire_site_0.html sommaire_site_1.html .... sommaire_site_99.html
    comment je peut faire pour remplacer le nombre par une variable
    genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sommaire_site_<?php echo $variable;?>.html sommaire_site_<?php echo $variable;?>.html .... sommaire_site_<?php echo $variable;?>.html
    pour vérifier que cela soit bien un nombre justement ???

    Merci de votre aide
    Cdt

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    D'ou vient $variable et quel problème cela pose si ce n'est pas un nombre ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Bonjour sabotage,
    alors pour l'instant il n'y a pas de $variable, je voudrais remplacer les nombres par une variable qui autorise que des nombres. Du moins c'est une idée...
    je cherche un truc pour dire en gros,
    if ($url == sommaire_site_0.html OR $url == sommaire_site_1.html OR $url == sommaire_site_3.html etc ....){...}else{}

    ils faut que cela soit un nombre, car le lien sert a changer de page. 1ere page "sommaire_site_0.html", 2eme page "sommaire_site_1.html" etc...
    mais je ne connait pas le nombre d'avance...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas très bien quel est le but de tout ça.

    "sommaire_site_0.html" c'est un vrai fichier sur le serveur ou bien tu as une réecriture d'URL ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Non, c'est réécrit ce n'est pas un vrai fichier.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Quand tu sauras précisement ce que tu veux faire/obtenir :
    • tu sauras formuler clairement la question,
    • et tu sauras comment y répondre.

    Là, ce n'est pas clair...

    A priori, tu veux, à partir d'une URL "sommaire_site_xxx.html", pouvoir récupérer le numéro "xxx".
    C'est ça ?
    • preg_match()


    EXPLIQUE, en faisant un peu plus que 2 phrases.....

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je plussoie jreaux : on ne comprends pas bien ce que tu veux : tu veux écrire un lien à partir d'une variable, ou récupérer le nombre qui se trouve dans l'url ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  8. #8
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Bon alors, je vais essayé d’être plus claire,
    je vais exposer mon problème de façon différente

    j'ai des conditions de vérifications d'url de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $lurl =$_SERVER["REQUEST_URI"];
    if ($url == "sommaire_site_0.html" OR $url == "sommaire_site_1.html" OR $url == "sommaire_site_3.html" etc ....){...}else{}
    les urls testées sont réécrite car les nombres sont générer automatiquement en fonction du nombre de page.
    1ere page "sommaire_site_0.html", 2eme page "sommaire_site_1.html" etc...
    Donc comment je peux écrire cette condition sans écrire tous les : sommaire_site_0.html OR $url == sommaire_site_1.htm OR $url == "sommaire_site_3.html" etc ....

    voila j’espère avoir réussi à vous expliquer le blem..
    Cdt

  9. #9
    Invité
    Invité(e)
    Par défaut
    Tu peux répéter 100 fois la même chose, ça reste... la même chose.

    1- Dis-nous plutôt :
    • Quelles sont les données avant
    • à quoi ça va servir après,

    et peut-être qu'on pourra te dire comment y parvenir.

    2- Montre un exemple concret d'utilisation de ta condition if....

    3-
    ... les nombres sont générer automatiquement en fonction du nombre de page....
    Alors, c'est pour un système de pagination ??

  10. #10
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    alors, oui c'est une page dynamique avec un système de pagination réécrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    $lurl =$_SERVER["REQUEST_URI"];
    if ($url == "sommaire_site_0.html" OR $url == "sommaire_site_1.html" OR $url == "sommaire_site_3.html" etc ....){echo 'Affiche un truc';}else{echo 'Affiche un truc différent';}
     
    $page = $_GET['page']; 
     
    $req = ("SELECT * FROM table ORDER BY id DESC") or die(mysqli_error());
                                $ret = $mysqli->query($req);
    							$limit=20;
    							$debut="";
    							if($debut==""){$debut=0;}
    							$debut=$page*$limit;
    							$nb_total=mysqli_num_rows($ret);
    							$limite=$mysqli->query("$req limit $debut,$limit");		                            
    							while($data = mysqli_fetch_array($limite)) 
    							{ ....}
     
    			if ($page>0) {
    			$precedent=$page-1;
    			echo '<li class="page-item"><a href="sommaire_site_'.$precedent.'.html" class="page-link" ><i class="icon-backward2"> </i> </a></li>';
    			}
    			$i=0;
    			$j=1;
    			if($nb_total>$limit) {
    				while($i<($nb_total/$limit)) {
    					if($i!=$page){echo '<li class="page-item"><a href="sommaire_site_'.$i.'.html" class="page-link"> '.$j.' </a></li>';}
    					else { echo '<li class="page-item active"><a href="#" class="page-link" ><b> '.$j.' </b></a><li>';}
    					$i++;$j++;
    				}
    			}
    			if($debut+$limit<$nb_total) {
    				$suivant=$page+1;
    				echo '<li class="page-item"><a href="sommaire_site_'.$suivant.'.html" class="page-link" > <i class="icon-forward3"> </i> </a></li>';
    			}
    Est-ce clair ?

  11. #11
    Invité
    Invité(e)
    Par défaut
    Explique.

    Il faudrait savoir...
    Soit le numéro de page est dans le nom du fichier, soit dans un paramètre "page".

    Donc, non, ce n'est pas clair.

    Question subsidiaire : quel est le nom du fichier dont tu montres le script ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_SERVER["REQUEST_URI"];

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je crois que j'ai compris : tu as une url qui devrait être de la forme sommaire_site?page=1 qui est automatiquement réécrite en sommaire_site_1, et du coup tu cherches à remplacer $page = $_GET['page'] par la récupération du numéro de dans l'url réécrite. C'est bien ça ?

    Tu peux utiliser basename et un découpage soit par regex avec preg_match, soit en découpant sur l'undescore.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $lurl = 'https://le_site.com/sommaire_site_0.html';
    $basename = basename($lurl, '.html');
     
    if (preg_match('§sommaire_site_([\d]+)§', $basename, $matches)){
        $page = $matches[1];
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  13. #13
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Ouuuui c'est cela
    Merci Celira cela marche nikel....

    Merci
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment vérifier si une string contient des nombres
    Par java250r dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/03/2012, 10h46
  2. tester si une chaine contient des nombres
    Par bachboucha dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/11/2008, 16h03
  3. Réponses: 1
    Dernier message: 30/05/2008, 17h00
  4. vérifier si une chaîne est un nombre
    Par cmoibal dans le forum C
    Réponses: 12
    Dernier message: 09/02/2008, 09h01
  5. Vérifier si une chaine contient des caractères spéciaux
    Par BenoitDenis dans le forum Langage
    Réponses: 4
    Dernier message: 05/07/2006, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo