| Autor | Zpráva | ||
|---|---|---|---|
| Joseph777 Profil * |
#1 · Zasláno: 13. 5. 2012, 12:39:27
Chcel by som poprosit o pomoc (neviem podmienky a html v php) s php, chcem podla podmienok(jazyk prehliadaca) zobraziť DIV
<?php // Get 2 char lang code $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); if $lang==sk <div>stranka je slovensky</div> elseif==cs <div>stranka je cesky</div> else <div>stranka je v inom jazyku</div> ?> |
||
| PecanCZ Profil |
#2 · Zasláno: 13. 5. 2012, 13:06:34
takto je to správně
if ($lang=='sk') {
echo '<div>stranka je slovensky</div>';
} elseif($lang=='cs') {
echo '<div>stranka je cesky</div>';
} else {
echo '<div>stranka je v inom jazyku</div>';
} |
||
| Chro Profil |
#3 · Zasláno: 13. 5. 2012, 13:13:05
Hlavička HTTP ACCEPT LANGUAGE nemusí být nastavena, většinou ji nepoužívají roboti. Proto by měla být použita kontrolní podmínka a následně např. přepínač switch.
<?php
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang)
{
case 'sk':
$html = '<div>sk<div>';
break;
case 'cs':
$html = '<div>cs<div>';
break;
default:
$html = '<div>ostatní jazyky<div>';
}
echo $html;
}
?> |
||
| Joseph777 Profil * |
#4 · Zasláno: 13. 5. 2012, 14:36:14
vdaka
je nutne pouzit ten switch? jedinne co ma napada preco je nutne ho pouzit je, aby ma nahodou google nepenalizoval ze jemu davam iny obsah ako normalnym navstevnikom |
||
| Chro Profil |
#5 · Zasláno: 13. 5. 2012, 20:11:43
Joseph777:
Není nutné použít switch, i konstrukce if - elseif vyhoví tvým potřebám. Co na to Google nevím, tahle problematika mě míjí velkým obloukem. |
||
| candiess Profil |
#6 · Zasláno: 13. 5. 2012, 22:28:34
Google na to nic nerekne, google botum pride tak samo jako prohlizeci az vygenerovany kod, samotna php logika se zpracovava na serveru, tudiz tohle miji google a SEO obecne mega obloukem :) sry za hacky, sem na mob
|
||
| Joseph777 Profil * |
#7 · Zasláno: 13. 5. 2012, 22:38:58
ok tak pouzijem to if elseif
vdaka za rady |
||
| Chro Profil |
#8 · Zasláno: 13. 5. 2012, 22:39:32
candiess:
Jenže když se podíváš na můj výše uvedený kód, googlebot nedostane žádný div s obsahem protože neposílá hlavičku HTTP ACCEPT LANGUAGE. Banální úpravou skriptu by tomu bylo samozřejmě jinak. |
||
| Joseph777 Profil * |
#9 · Zasláno: 14. 5. 2012, 09:46:32
aha takže je to pravda, že google potom dostane iný obsah ako normálny návštevník kedže neposiela hlavičku HTTP ACCEPT LANGUAGE
akou úpravou by to bolo inak? |
||
| Chro Profil |
#10 · Zasláno: 14. 5. 2012, 10:02:59
<?php
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}
else
{
$lang = 'sk';
}
switch ($lang)
{
case 'sk':
$html = '<div>sk</div>';
break;
case 'cs':
$html = '<div>cs</div>';
break;
default:
$html = '<div>ostatní jazyky</div>';
}
echo $html;
?> |
||
| Joseph777 Profil * |
#11 · Zasláno: 14. 5. 2012, 23:33:15
vdaka este sa opytam ked si taky znalec php (to if pri echo)
ako by vyzeral ten kod keby: ak existuje case (teda bud sk alebo cz) zobraz <div id="box"></div> to znamena ze ak by prehliadac posielal hlavicku napr. en, ktora nie je definovana (nema case vv kode nizsie) <div id="box"></div> sa nezobrazi if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang)
{
case 'sk':
$lang = 'sk';
break;
case 'cs':
$lang = 'cs';
}
if case exist echo '<div id="box"> '.$lang.'</div>';
} |
||
| candiess Profil |
#12 · Zasláno: 15. 5. 2012, 08:16:23
tak si precti neco o switch, mirim ke kouzelnemu slovicku , default :)
|
||
|
Časová prodleva: 14 let
|
|||
0