if en elseif

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andre Vink

Andre Vink

12/03/2013 12:05:56
Quote Anchor link
Ruim mij maar op. :-)
Zie het niet meer en ook de logica zie ik niet meer.
Ik wil een menu maken, daarin moeten enkele landen een item niet zien.

Ik check waar een client zit, dat lukt.
Zet dit in een variable $country
Dan probeer ik iets met if else en elseif.
Maar wat ik ook doe, het geeft mij niet de gewenste resultaten terug.
Zeker de niet logische.

Dit is wat ik als test heb gemaakt.
Hier zou je denken dat NL welkom geeft !!

<html>
<head>

<script language="JavaScript" src="http://www.geoplugin.net/javascript.gp" type="text/javascript"></script>

</head>
<body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

  $country
= "<script language='Javascript'>document.write(geoplugin_countryCode()); </script>";
  echo "gevonden: ".$country."<br>";

if ( $country == "NL" ) {
  echo "Welkom!<br />";
}
else {
  echo "go away";
}


?>


</body>
</html>

Dit is wat ik terug krijg :
gevonden: NL
go away
 
PHP hulp

PHP hulp

24/11/2024 14:17:33
 
- SanThe -

- SanThe -

12/03/2013 12:31:02
Quote Anchor link
In $country zit een script en geen NL.
De uitvoer van dat script geeft misschien NL maar dat is iets heel anders.
 
Andre Vink

Andre Vink

12/03/2013 12:42:15
Quote Anchor link
OK. Zo had ik het niet bekeken.
Ene kant logisch ... maar voor een leek als ik (hobby php) zou je zeggen dat het resultaat van het script in $country staat.

Ik heb het nadeel dat de website waar het gehost wordt niet toestaat om naar andere websites info op te halen. (allow_url_fopen)
Ik zoek dus naar alternatieven.

Ik had eerst dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
         class CA_HTTP {
 
         public static function get_contents($url) {
            $ch = curl_init();
            curl_setopt ($ch, CURLOPT_URL, $url);
            curl_setopt ($ch, CURLOPT_HEADER, 0);
            ob_start();
            curl_exec ($ch);
            curl_close ($ch);
            return ob_get_clean();  
             }
         }

     ?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
         $country
=CA_HTTP::get_contents('http://api.hostip.info/country.php');
         if( $country = "NL"){
                   echo "NL";
         }

         else {          
                   echo "GEEN NL";
         }

?>


Dat wordt verder puzzelen.
 
- SanThe -

- SanThe -

12/03/2013 12:52:39
Quote Anchor link
Dit is geen vergelijking: if( $country = "NL"){
Dit wel: if( $country == "NL"){
 
Andre Vink

Andre Vink

12/03/2013 12:55:11
Quote Anchor link
.. Kijk daarom werd mijn waarde ook NL als UK gevonden was :-)
Maar ik mag dit niet doen van de webhost $country=CA_HTTP::get_contents('http://api.hostip.info/country.php');
Op mijn lokale server werkt dit wel.
 
Bernhard Flokstra

Bernhard Flokstra

12/03/2013 13:26:05
Quote Anchor link
Andre Vink op 12/03/2013 12:05:56:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

  $country
= "<script language='Javascript'>document.write(geoplugin_countryCode()); </script>";
  echo "gevonden: ".$country."<br>";

if ( $country == "NL" ) {
  echo "Welkom!<br />";
}
else {
  echo "go away";
}


?>


</body>
</html>


Dit gaat nooit werken ben ik bang. Het script is javascript. Dat wordt in de browser uitgevoerd, nadat alle html naar de browser is gestuurd. PHP word op de server uitgevoerd. Je zal dit dus of met puur PHP moeten gaan doen, of met alleen javascrpt. Maar deze combinator gaat niet werken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.