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 :

renvoyer TRUE avec plusieurs valeurs possibles


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Par défaut renvoyer TRUE avec plusieurs valeurs possibles
    Bonsoir,
    cela fait 2 jours que je lis et j'essaie de modifier un bout de code sans succès.
    Je voudrais savoir si une âme charitable voulait bien m'aider:

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    else {
                $ips = "";
                            foreach( $iplist as $ip ) {
                    $ips .= "$ip,\n";
                    $parts = explode( ".", $ip );
                    $first_three = $parts[0].".".$parts[1].".".$parts[2];
                    if( preg_match("/^$first_three/", $_SERVER['REMOTE_ADDR']) ) {
                        $valid_ip = true;
                    }
                }
                $hostname = 'www.autorisation.com';
            }
    C'est donc la variable $hostname qui me pose problème.

    En fait cette valeur pourrait avoir plusieurs valeurs: soit 'www.autorisation.com' soit 'autoriser-aussi.com' ou encore 'autoriser-egalement.com' .

    Quelqu'un pourrait il m'aider ?
    Merci

  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
    Par défaut
    Quel est le lien entre $hostname et le reste du code que tu nous mets ?

    une variable ne peut evidemment pas avoir plusieurs valeurs, si tu veux "transporter" plusieurs choses dans une seule variable il faut passer par un tableau php.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Par défaut
    c'est mon script qui gère l'authenticité des paiements paypal. Il vérifie les ip et derrière avec $hostname le script va voir si les paiements viennent bien du $hostname. Sauf que maintenant le hostname pourrait avoir 2 valeurs et plus une seule.

    Voici tout le code:

    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
    $paypal_iplist = gethostbynamel('www.paypal.com');
    		$paypal_iplist2 = gethostbynamel('notify.paypal.com');
            $paypal_iplist = array_merge( $paypal_iplist, $paypal_iplist2 );
     
            $paypal_sandbox_hostname = 'ipn.sandbox.paypal.com';
            $remote_hostname = gethostbyaddr( $_SERVER['REMOTE_ADDR'] );
     
            $valid_ip = false;
     
            if( $paypal_sandbox_hostname == $remote_hostname ) {
                $valid_ip = true;
                $hostname = 'www.sandbox.paypal.com';
            }
            else {
                $ips = "";
                // Loop through all allowed IPs and test if the remote IP connected here
                // is a valid IP address
                foreach( $paypal_iplist as $ip ) {
                    $ips .= "$ip,\n";
                    $parts = explode( ".", $ip );
                    $first_three = $parts[0].".".$parts[1].".".$parts[2];
                    if( preg_match("/^$first_three/", $_SERVER['REMOTE_ADDR']) ) {
                        $valid_ip = true;
                    }
                }
                $hostname = 'www.paypal.com';
            }
    Le $hostname pourrait avoir au moins 2 noms différents: ici 'www.paypal.com' ou encore 'notify-paypal.com'

    Merci de ta réponse

  4. #4
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Par défaut
    bonsoir, est ce que si je fais un test d'existence sur les valeurs contenues dans un tableau c'est correct ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $test = array('www.paypal.com', 'notify-paypal.com');
     
    if (in_array('www.paypal.com', $test, true)) {
        $hostname = 'www.paypal.com'
    }
     
    if (in_array('notify-paypal.com', $test, true)) {
        $hostname = 'notify-paypal.com'
    }
    Est ce que je peux remplacer le $hotname par ça dans le script ?
    Merci

  5. #5
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Citation Envoyé par diablotine Voir le message
    bonsoir, est ce que si je fais un test d'existence sur les valeurs contenues dans un tableau c'est correct ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $test = array('www.paypal.com', 'notify-paypal.com');
     
    if (in_array('www.paypal.com', $test, true)) {
        $hostname = 'www.paypal.com'
    }
     
    if (in_array('notify-paypal.com', $test, true)) {
        $hostname = 'notify-paypal.com'
    }
    Est ce que je peux remplacer le $hotname par ça dans le script ?
    Merci

    Perso je comprends pas trop non pu...

    Surtout avec ce denier code car $hostname vaudra TOUJOURS "notify-paypal.com"

    D'un autre côté, bien que tu aies différents $hostname, il ne s'agit, je suppose, que de plusieurs redirections DNS vers un MEME serveur. Donc peu importe la valeur exacte du hostname, non ?

Discussions similaires

  1. test:comparer une valeur avec plusieurs valeurs
    Par kkkkkk dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2007, 21h25
  2. [RegEx] Correspondance d'une expression avec plusieurs valeurs
    Par blueice dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2007, 19h17
  3. Update d une table avec plusieurs valeurs
    Par Nadaa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2006, 08h58
  4. Plusieurs valeurs possibles
    Par batama dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/05/2006, 12h27
  5. case/when avec plusieurs valeurs pour le then
    Par Neo41 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2005, 15h58

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