| Autor | Zpráva | ||
|---|---|---|---|
| nerko Profil |
#1 · Zasláno: 25. 3. 2009, 20:17:10
Caute. prosim pomozte. ako vlozim prvu cast kodu do tej druhej. chcel by som tym nahradit ten text.
<?php echo $text[$jazyk]['text'];?> $temp = '-';
}
}
return 'text'.' '.$temp.' °'.$tempu;
}
echo processWeather('http://xml.weather.yahoo.com/forecastrss?p=LOXX0005&u=c');
?></p> |
||
| gogy27 Profil |
#2 · Zasláno: 25. 3. 2009, 20:19:17
1. Chces tam dat tam aj toto <?php ... ?>?
2. Preco mas dole zas ?> toto? 3. Nemozes to dat do premennej? |
||
| Hitman Profil |
#3 · Zasláno: 25. 3. 2009, 20:22:02
gogy27
„Preco mas dole zas ?> toto? “ Pro ukončení. |
||
| gogy27 Profil |
#4 · Zasláno: 25. 3. 2009, 20:31:34
Hitman
ale ma uz tam jedno ukoncenie tak vobec nwm (potom zaciatok mu tam chyba, alebo je to iba odtrhnute z kontextu a preto nwm preco chce zasa cele php otvarat a uzatvarat) |
||
| keeehi Profil |
#5 · Zasláno: 25. 3. 2009, 20:46:10
já bych to viděl třeba takto:
<?php echo $text[$jazyk]['text'];
$temp = '-';
}
}
return $text[$jazyk]['text'].' '.$temp.' °'.$tempu;
}
echo processWeather('http://xml.weather.yahoo.com/forecastrss?p=LOXX0005&u=c');
?> |
||
| nerko Profil |
#6 · Zasláno: 25. 3. 2009, 22:03:52
takze takto. Do tohto kodu:
<?php
--------- /nechcem to vypisovat cele
$temp = '-';
}
}
return 'text'.' '.$temp.' °'.$tempu;
}
echo processWeather('http://xml.weather.yahoo.com/forecastrss?p=LOXX0005&u=c');?>Chcem vlozit toto (namiesto 'text'): $text[$jazyk]['text'] |
||
| Alphard Profil |
#7 · Zasláno: 25. 3. 2009, 22:50:07
jaký problém máte s [#5]?
|
||
| gogy27 Profil |
#8 · Zasláno: 26. 3. 2009, 09:51:45
nerko
a skusal si ich excapovat? |
||
| nerko Profil |
#9 · Zasláno: 26. 3. 2009, 15:43:13
no neviem ako proste chcem ten php kod vlozit do toho druheho
|
||
| nerko Profil |
#10 · Zasláno: 26. 3. 2009, 18:25:22 · Upravil/a: nerko
1. Do kodu cislo 1 chcem vlozit php kod. chcem nim nahradit text.
Kod cislo 1: <?php // pokračovanie kodu return 'nahradit php kodom c 2'.' '.$temp.' °'.$tempu; // pokračovanie kodu ?> Kod cislo 2: <?php echo $text[$jazyk]['pocasie'];?> |
||
| nerko Profil |
#11 · Zasláno: 26. 3. 2009, 18:54:22
„jaký problém máte s [#5]?“
nezobrazuje mi ten text, ale ani server nevypisuje chybu. tak neviem kde je problem |
||
| Davex Profil |
#12 · Zasláno: 26. 3. 2009, 18:54:34
Domnívám se, že tvoje otázka není jednoznačná a dá se vykládat více způsoby. Nejvíce pravděpodobná je tato varianta:
<?php // pokračovanie kodu return $text[$jazyk]['pocasie'].' '.$temp.' °'.$tempu; // pokračovanie kodu ?> Další variantu asi nechceš: <?php // pokračovanie kodu return '<'.'?php echo $text[$jazyk][\'pocasie\'];?'.'>'.' '.$temp.' °'.$tempu; // pokračovanie kodu ?> |
||
| nerko Profil |
#13 · Zasláno: 26. 3. 2009, 19:57:03
no hodim sem cely kod, lebo ani jeden mi nezobrazuje nic. pokusam sa do kodu vlozit jazykovu verziu.
<?php
if(!isset($_SESSION['lang']) || $_GET['lang']!='') {
switch($_GET['lang']) {
case 'sk':
$lang = 'sk';
break;
case 'pl':
$lang = 'pl';
break;
default:
$lang = 'sk';
break;
}
$_SESSION['lang'] = $lang;
}
// dame si do premennej aktualny jazyk
$jazyk = $_SESSION['lang'];
// slovenske texty
$text['sk']['pocasie'] = 'Aktuálne počasie:';
$text['sk']['starysmokovec'] = 'Starý Smokovec';
// polske texty
$text['pl']['pocasie'] = 'Aktualna pogoda:';
$text['pl']['starysmokovec'] = 'Stary Smokowiec';
?>
<p><strong style= "color: #386390;"><?php echo $text[$jazyk]['pocasie'];?></strong> <?php
function curl_get_contents($weatherLink)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $weatherLink);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; sk; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14");
curl_setopt ($curl, CURLOPT_HTTPHEADER, Array(
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
"Accept-Language: sk,cs;q=0.8,en;q=0.5,en-us;q=0.3",
"Accept-Charset: windows-1250;q=0.7,*;q=0.7"
));
$input = curl_exec($curl);
curl_close($curl);
return $input;
}
function processWeather($wurl){
$wrss = curl_get_contents($wurl);
$temp = '-';
$tempu = '';
$city = '';
if (strlen($wrss)>100){
// Get temperature unit C or F
$spos = strpos($wrss,'yweather:units temperature="')+strlen('yweather:units temperature="');
$epos = strpos($wrss,'"',$spos);
if ($epos>$spos){
$tempu = substr($wrss,$spos,$epos-$spos);
}
$spos = strpos($wrss,'yweather:wind chill="')+strlen('yweather:wind chill="');
$epos = strpos($wrss,'"',$spos);
if ($epos>$spos){
$temp += substr($wrss,$spos,$epos-$spos);
} else {
$temp = '-';
}
}
return '//tu je problem, kde chcem vlozit ten stary smokovec//'.' '.$temp.' °'.$tempu;
}
echo processWeather('http://xml.weather.yahoo.com/forecastrss?p=LOXX0005&u=c');
?></p> |
||
| gogy27 Profil |
#14 · Zasláno: 26. 3. 2009, 20:05:45 · Upravil/a: gogy27
return "$text[$jazyk]['starysmokovec']".' '.$temp.' °'.$tempu; Preco to nemozes dat takto? |
||
| nerko Profil |
#15 · Zasláno: 26. 3. 2009, 20:18:55 · Upravil/a: nerko
teraz mi to prehliadač zobrazuje takto:
Aktuálne počasie: ['starysmokovec'] -5 °C |
||
| gogy27 Profil |
#16 · Zasláno: 26. 3. 2009, 20:27:08
'$text[$jazyk][\'starysmokovec\']'
skus toto |
||
| nightfish Profil |
#17 · Zasláno: 26. 3. 2009, 20:32:37
function processWeather($wurl){
global $text;
global $jazyk;
$wrss = curl_get_contents($wurl);
...
return $text[$jazyk]['starysmokovec'].' '.$temp.'°'.$tempu;
} |
||
| nerko Profil |
#18 · Zasláno: 26. 3. 2009, 21:21:09
|
||
| gogy27 Profil |
#19 · Zasláno: 26. 3. 2009, 21:31:46
takze uz to mas dobre?
|
||
| nerko Profil |
#20 · Zasláno: 26. 3. 2009, 22:01:47 · Upravil/a: nerko
nemam, nejak sa nechce zobrazit to co potrebujem. ja uz neviem. malo by sa to zobrazit takto: SK
Aktuálne počasie: Starý Smokovec -5°C PL Aktualna pogoda: Stary Smokowiec -5°C |
||
| keeehi Profil |
#21 · Zasláno: 26. 3. 2009, 22:34:44
return $text[$jazyk]['pocasie'].' '.$text[$jazyk]['starysmokovec'] .' '.$temp.' °'.$tempu; |
||
| nerko Profil |
#22 · Zasláno: 26. 3. 2009, 22:47:01
[#21] ani v tomto pripade sa vobec nezobrazuje ten potrebny text
|
||
| keeehi Profil |
#23 · Zasláno: 26. 3. 2009, 22:58:49 · Upravil/a: keeehi
najdi tyto řádky a uprav je
//najít
function processWeather($wurl){
echo processWeather('http://xml.weather.yahoo.com/forecastrss?p=LOXX0005&u=c');
//upravit
function processWeather($wurl,$jazyk){
echo processWeather('http://xml.weather.yahoo.com/forecastrss?p=LOXX0005&u=c',$jazyk);
pak už by to mělo fungovat Problém je v tom že funkce nepracuje s proměnnýma vně funkce. příklad:
$a = 1;
function xyz(){
echo $a;
}
xyz();
// na výstupu se nic nezobrazí protože ve funkci se vlastně jedná o jinou proměnnou (i když se jmenuje stejně) která je prázdná.
|
||
| nerko Profil |
#24 · Zasláno: 26. 3. 2009, 23:09:33
aj tak to stale nejde, ja neviem kde je chyba, uz mi stoho sibe
|
||
| AM_ Profil |
#25 · Zasláno: 26. 3. 2009, 23:13:55
„Problém je v tom že funkce nepracuje s proměnnýma vně funkce. “
Pokud je ve funkci definovaná klíčovým slovem global, tak pracuje. Problém je zřejmě někde jinde. Zvážil bych spíš, jestli na konec funkce processWeather nedat jen return '.$temp.' °'.$tempu; a hlášky aktuální počasí: starý smokovec připojit až mimo funkci, protože se samotným chováním funkce nemají z logického hlediska nic společného. Ono obecně používání příliš globálních proměnných ve funkci zavání špatnou strukturou programu. Funkce by měla pracovat co nejsamostatněji, neměla by být závislá na hromadě proměnných z těla programu, a všechny proměnné, které její chování ovlivňují, by měly být předány jako parametr. Někdy se člověk globální proměnné nevyhne, ale tady je to opravdu zbytečné |
||
| blizz_boz Profil |
#26 · Zasláno: 27. 3. 2009, 01:59:17
nerko
ani sa ti nedivim ze sa v tom nevyznas, preco plne nevyuzivas moznosti PHP pri zapise retazcov? a mas tam milion bodiek?... toto je imo ovela prehladnejsi zapis: return "{$text[$jazyk]['starysmokovec']} $temp°$tempu"; |
||
| nightfish Profil |
#27 · Zasláno: 27. 3. 2009, 07:32:08
nerko
1) takže asi začni tím, že si nastavíš error_reporting(E_ALL) a Display_errors = On 2) jazyk je "sk" nebo "SK"? v prvním případě to fungovat musí, ve druhém případě to fungovat nebude |
||
| nerko Profil |
#28 · Zasláno: 27. 3. 2009, 15:49:27
takze som to vyriesil upne jednoducho ako mi poradil AM_ . Ten stary smokovec som uplne vynechal z toho php kodu a dal som ho inde. uz to funguje, dakujem vam za ucelne komentare.
|
||
|
Časová prodleva: 17 let
|
|||
0