Smarty mit if contains
Hallo zusammen,
Ich versuche mich mit einer if Abfrage alle .ru Adressen zu filtern.
Jedoch bin ich bis jetzt nur wenn ich die exakte Adresse eingebe Erfolgreich.
Das ganze soll mit Smarty realisiert werden.
{if $domain eq "domain.ru"}
<h4>Domain mit TLD .ru sind nicht möglich</h4>{/if}
Wie muss die Zeile lauten, damit {if $domain "*.ru"} funktionieren würde?
Freundliche Grüsse
xp-User
Ich versuche mich mit einer if Abfrage alle .ru Adressen zu filtern.
Jedoch bin ich bis jetzt nur wenn ich die exakte Adresse eingebe Erfolgreich.
Das ganze soll mit Smarty realisiert werden.
{if $domain eq "domain.ru"}
<h4>Domain mit TLD .ru sind nicht möglich</h4>{/if}
Wie muss die Zeile lauten, damit {if $domain "*.ru"} funktionieren würde?
Freundliche Grüsse
xp-User
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197426
Url: https://administrator.de/contentid/197426
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo,
mach es Dir doch nicht so schwer mit SMARTY, du hast doch PHP dahinter.
1. Client IP ermitteln
<?php
$_SERVER['REMOTE_ADDR'] z.b. 173.194.69.94 (kommt von www.google.ru)
?>
2. NS Lookup auf die IP
<?php
$REMOTE_ADDR_NAME = shell_exec("nslookup ".$_SERVER['REMOTE_ADDR']);
\\ $REMOTE_ADDR_NAME = www.google.ru
$TLD_mit_=unkt = substr($REMOTE_ADDR_NAME, strrpos($REMOTE_ADDR_NAME, '.'));
?>
3. TLD ausschneiden
<?php
\\ $REMOTE_ADDR_NAME = www.google.ru
$TLD_mit_Punkt = substr($REMOTE_ADDR_NAME, strrpos($REMOTE_ADDR_NAME, '.'));
?>
4. IF Abfrage starten
<?php
if ($TLD_mit_Punkt == '.ru') {
--> Datenbank RU
} else {
--> Datenbnak nicht RU
}
?>
5. Ergebnisse via Variable übergeben
<?php
foreach...
?>
mach es Dir doch nicht so schwer mit SMARTY, du hast doch PHP dahinter.
1. Client IP ermitteln
<?php
$_SERVER['REMOTE_ADDR'] z.b. 173.194.69.94 (kommt von www.google.ru)
?>
2. NS Lookup auf die IP
<?php
$REMOTE_ADDR_NAME = shell_exec("nslookup ".$_SERVER['REMOTE_ADDR']);
\\ $REMOTE_ADDR_NAME = www.google.ru
$TLD_mit_=unkt = substr($REMOTE_ADDR_NAME, strrpos($REMOTE_ADDR_NAME, '.'));
?>
3. TLD ausschneiden
<?php
\\ $REMOTE_ADDR_NAME = www.google.ru
$TLD_mit_Punkt = substr($REMOTE_ADDR_NAME, strrpos($REMOTE_ADDR_NAME, '.'));
?>
4. IF Abfrage starten
<?php
if ($TLD_mit_Punkt == '.ru') {
--> Datenbank RU
} else {
--> Datenbnak nicht RU
}
?>
5. Ergebnisse via Variable übergeben
<?php
foreach...
?>
Hi xp-user,
statt mit if und or versch. TLDs zu vergleichen, kannst du die nicht erlaubten TLDs in einem Array speichern.
So kannst du die Liste deiner TLDs verwalten, ohne jedes mal die Abfrage zu ändern.
Gruß
Günni
statt mit if und or versch. TLDs zu vergleichen, kannst du die nicht erlaubten TLDs in einem Array speichern.
<?php
$ext_array = array('ru','yu','home');
$domain = 'domain.home';
if(in_array(substr($domain, strpos($domain, '.') + 1), $ext_array)){
echo 'Domains mit der TLD <b>"'.substr($domain,strpos($domain, '.') + 1).'" </b> sind nicht möglich';
}
?>
So kannst du die Liste deiner TLDs verwalten, ohne jedes mal die Abfrage zu ändern.
Gruß
Günni