phpRS 2.8.x : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzích phpRS v2.8.x.
phpRS - redakční a informační systém
Jít na stránku:  12Další
Aktuální stránka:1 z 2
Přechod na vyšší PHP
Zaslán uživatelem/kou: Ifča (IP adresa zaznamenána)
Datum: 2011-10-16, 14:34

Ahoj, už delší dobu mám phpRS na webu [http://www.toller.cz/] - po vyladění bez problému - až bohužel přechodem na nový hosting, kde mají php 5.3. a nastaly problémy - jak jsem se pak tady dočetla musela jsem změnit některé věci např. ereg_* za preg_* - to se mě podařilo udělat.

Ale prosím o pomoc s jedním příkazem - nevím jak to upravit...

hlásí mě to:
Deprecated: Function session_unregister() is deprecated in home/www/toller.cz/subdomeny/www/pokec.php on line 258

a tam mám toto:

if ( $PokecConfig["AntiSpamImg"] == 1 || ( $PokecConfig["AntiSpamImg"] == 2 && !$GLOBALS["prmyctenar"]->ctenarstav )) {
/* generovani bezpečnostniho kodu */
// session_unregister('digit');
session_unregister('digit');
for ($i = 0; $i < 5; $i++) {
$cnum[$i] = rand(0,9);
}
$_SESSION['digit'] = implode("|", $cnum);
}

Prosím poraďte jak toto upravit - php vůbec neovládám :-(

Iva


---------------------------------
[http://www.toller.cz/]
----------------------------------

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: Ifča (IP adresa zaznamenána)
Datum: 2011-10-16, 17:42

Tak jsem snad na to přišla - místo session_unregister('digit'); jsem dala unset($_SESSION['digit']); - hláška o chybě zmizela.
Je to tak dobře?

---------------------------------
[http://www.toller.cz/]
----------------------------------

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2011-12-26, 15:31

Taky mám teď problém kvůli přechodu na vyšší PHP:


$retezec=ereg_replace("[[:punct:]]+","",$retezec); // odstraneni interpunkcnich znaku
$retezec=ereg_replace("[[:space:]]+","-",trim($retezec)); // nahrada mezer za pomlcku + odstraneni mezer na zacatku a konci


nahradil jsem "ereg_replace" za "preg_replace", ale poté to hodilo chybu

Warning: preg_replace() [function.preg-replace]: Unknown modifier '+' in /home/ftpsite/blink-182.cz/www/admin/aarticles.php on line 256

Warning: preg_replace() [function.preg-replace]: Unknown modifier '+' in /home/ftpsite/blink-182.cz/www/admin/aarticles.php on line 257



Víte prosím, co s tím?

×××---×××
www.ava-plus44.com
www.blink-182.cz

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: JanVar (IP adresa zaznamenána)
Datum: 2011-12-27, 22:57

jasně, koukni do manovejch stránek, je trochu jiná syntax, nestačí jen přepsat funkci, ale i úvoní a koncový znak výrazu.

-- JaV ---- [http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2011-12-28, 08:53

Já se na nějaké stránky o tom díval, ale nevyznal jsem se v tom - co mám přepsat :-\
Jestli to někdo řešil, může mi to prosím překopčit?
Já na to nemám bohužel čas .. učím se na zkoušku, teď nebudu několik dní na netu, potom musím psát bakalářku a učit se na státnice :-\

×××---×××
www.ava-plus44.com
www.blink-182.cz

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-12-28, 11:47

[http://sk.php.net/preg_replace] Pattern regularneho vyrazu musi byt v oddelovacoch - "delimeters". Mrkni sem: [http://sk.php.net/manual/en/regexp.reference.delimiters.php]
Tri možné varianty:
$retezec=preg_replace("/[[:punct:]]+/","",$retezec);
$retezec=preg_replace("#[[:punct:]]+#","",$retezec);
$retezec=preg_replace("~[[:punct:]]+~","",$retezec);

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: JanVar (IP adresa zaznamenána)
Datum: 2011-12-28, 16:19

kurňa Pa3ku, ty ten manuál snad nosíš v hlavě :-)

já byl línej to hledat :-(

-- JaV ---- [http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: verah (IP adresa zaznamenána)
Datum: 2011-12-29, 00:19

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-12-28, 11:47


[http://sk.php.net/preg_replace] Pattern regularneho vyrazu musi byt v oddelovacoch - "delimeters". Mrkni sem: [http://sk.php.net/manual/en/regexp.reference.delimiters.php]
Tri možné varianty:

$retezec=preg_replace("/[[:punct:]]+/","",$retezec);
$retezec=preg_replace("#[[:punct:]]+#","",$retezec);
$retezec=preg_replace("~[[:punct:]]+~","",$retezec);

Dotaz: Nefunguje ani jeden znak /#~, v jiných helpech byly i závorky {} ani to nefungovalo, jaké máte zkušenosti?

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-12-29, 03:03

Predpokladám, že ti ide o CoolUri. Ja odstraňujem diakritiku a nechcené znaky takto:
function makeCoolUri($string = '') {

    $string = strip_tags(trim($string));
    $pole_co= array('ě','š','č','ř','ž','ť','ň','ď','ľ','ý','á','í','é','ú','ó','ů','ü','ö','ä','Ě','Š','Č','Ř','Ž','Ť','Ď','Ň','Ý','Á','Í','É','Ú','Ó','Ů','Ü','Ö','Ä','-','.');
    $pole_cim=array('e','s','c','r','z','t','n','d','l','y','a','i','e','u','o','u','u','o','a','E','S','C','R','Z','T','D','N','Y','A','I','E','U','O','U','U','O','A',' ',' ');
    $string=str_replace($pole_co, $pole_cim, $string); // odstraneni diakritiky + uprava nekterych spec. znaku
    $string = strtolower($string);
    $string = preg_match_all('/[a-zA-Z0-9]+/', $string, $nt);
    return strtolower(implode('-', $nt[0]));
}

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: verah (IP adresa zaznamenána)
Datum: 2011-12-29, 17:45

Bohužel to hlásí chybu: Column count doesn't match value count at row 1, tzn. nevloží se do db, teď se pokouším zjistit, co se funkcí vrací

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2012-07-02, 18:49

Ještě jednou já. Měl jsem odkaz na článek upraven o to, že se v něm zobrazoval i nadpis článku.
Ale jakmile poskytovatel přešel na PHP5, tak se mi už zobrazuje jen &nazevclanku= ... a to je vše.
např.: view.php?cisloclanku=2012070002&nazevclanku=

Zápis v kódu vypadá takto:
<a href="view.php?cisloclanku=
     <?php echo $GLOBALS["clanek"]->Ukaz("link"); ?>
      &amp;nazevclanku=<?php echo $GLOBALS["clanek"]->Ukaz("link_seo"); ?>" class="clanek">
     <?php echo $GLOBALS["clanek"]->Ukaz("titulek"); ?>¨
</a>


Co tam musím prosím upravit?

×××---×××
www.ava-plus44.com
www.blink-182.cz

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2012-07-02, 21:21

cross182 napsal/a:
-------------------------------------------------------
<?php echo $GLOBALS["clanek"]->Ukaz("titulek"); ?>¨

co to je za paznaky - červeně označené???


HLAVNĚ OPRAVIT:
$GLOBALS["clanek"]->Ukaz("link_seo")
na
$GLOBALS["clanek"]->Ukaz("seo_link")



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 1×. Poslední úprava Lonanek v 02.07.2012 21:29.

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2012-07-03, 12:50

K tomu červenému - jen překlep při kopírování sem, odřádkovával jsem to, aby se neroztahovala tady stránka, tak jsem klepl asi vedle :)

Opraveno, ale zvláštní, že mi to celou dobu předtím fungovalo i s tím mým. Až s přechodem na PHP5 to přestalo jít. Jinak tedy i tak žádná změna.
Já bych to i umazal, ale mám problém s tím, že pokud na FaceBook zkopíruju link bez toho "&nazevclanku=", tak se mi tam nevytvoří náhled toho odkazu (viz. obrázek: [http://www.2i.cz/39b9a78d5e] )

A také, pokud člověk klikne u daného článku na "To se mi líbí" tlačítko, též se náhled nevytvoří, a to mi vadí.

×××---×××
www.ava-plus44.com
www.blink-182.cz

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2012-07-03, 13:10

a je opravdu v databázi v tabulce clanky ve sloupci seo_link název článku (bez diakritiky) nebo je sloupec prázdný???
I to je jedna z možných příčin.

Teď jsem znovu prošel zdroják, ve verzi 2.8.1 je opravdu $GLOBALS["clanek"]->Ukaz("link_seo"), tak se omlouvám za poplašnou zprávu. Zmátlo mne opačné pojmenování položky v tabulce.
Uvedené bylo dobře... Není tam nic co by v php5 mělo bránit správně interpretovat.

já mám použito:
<a href="view.php?nazevclanku=<?php echo $GLOBALS["clanek"]->Ukaz("link_seo"); ?>&amp;cisloclanku=<?php echo $GLOBALS["clanek"]->Ukaz("link"); ?>" class="clanek"><?php echo $GLOBALS["clanek"]->Ukaz("titulek"); ?></a>
tedy pouze otočené nazevclanku a cisloclanku a na stránkách [http://prolamy.hys.cz/phprs/] vše funguje korektně (php v. 5.3.13.).

co se týče náhledů na FB, už se to tady tuším řešilo... [http://www.phprs.net/forum/read.php?32,38138]


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 3×. Poslední úprava Lonanek v 03.07.2012 13:37.

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2012-07-03, 14:03

Máš pravdu, ten sloupec je prázdný - u těch starší článků prázdný ale není.

Jojo, podle toho jsem si to sdílení na FB udělal a fungovalo to. Možná je tedy jen teď problém v tom prázdném sloupci. Je možné tedy to, že to je tím, co jsem zde napsal ve 3. příspěvku? To se mi totiž nepodařilo opravit, moc těm zápisům v PHP nerozumím ...

×××---×××
www.ava-plus44.com
www.blink-182.cz

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2012-07-03, 14:20

určitě ano... je to přímá souvislost se seo_link.

Já používám stále zastaralou (deprecated) funkci ereg_replace a vše funguje OK.

ř.256 nahradit výrazem:
$retezec=preg_replace("/[[:punct:]]+/", "", $retezec);
- vynechá interpukční znaménka v $retezec

ř.257 nahradit výrazem:
$retezec=preg_replace("/[[:space:]]+/", "-", trim($retezec));
- nahradí všechny mezery v $retezec za "-" a odstraní počáteční a koncové mezery

a mělo by být vše funkční.

Více jak bylo již uváděno: [http://sk.php.net/preg_replace]
Všechny prázdné seo_link musíš vytvořit (pravděpodobně pouze ručně), nebo si na to vytvořit utilitku, která to opraví v celé tabulce.



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2012-07-03, 18:02

Paráda, díky, funguje to "seo" už. Stačí ty starší články v administraci znovu uložit a už se to samo vyplní. Ale to není potřeba, díky :)

×××---×××
www.ava-plus44.com
www.blink-182.cz

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2012-07-18, 14:21

Tak ještě jednou já. Zřejmě to též souvisí s přechodem na vyšší PHP. Jde o plugin Poslední komentáře.

Warning: strip_tags() expects parameter 1 to be string, array given in /home/ftpsite/blink-182.cz/www/plugin/poslednikomentare/posl_komentare.php on line 62

Řádek 62: $bezpecny_kometar = strip_tags(phprs_sql_fetch_assoc($dotazkomentare,$pom,'obsah'));

Díval jsem se sem: [http://php.net/manual/en/function.strip-tags.php]

Je tam teda problém v tom "phprs_sql_fetch_assoc" ?

×××---×××
www.ava-plus44.com
www.blink-182.cz

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2012-07-19, 20:55

Problém je, že phprs_sql_fetch_assoc vracia pole a strip_tags očakáva string. Ten kód je riadna haluz, phprs_sql_fetch_assoc má maximálne dva parametre, tu sú tri. strip_tags nezabezpečí dostatočnú ochranu. Správne to má byť nejak takto:
$row = phprs_sql_fetch_assoc($dotazkomentare); 
$bezpecny_komentar = htmlspecialchars($row['obsah'], ENT_QUOTES);
echo $bezpecny_komentar;

Re: Přechod na vyšší PHP
Zaslán uživatelem/kou: cross182 (IP adresa zaznamenána)
Datum: 2013-01-04, 23:32

Zdravím,

dostal jsem se k té opravě až teď.
Nyní to už neháže chybu (jen tam je překlep v $bezpecny_komentar, v phpRS je $bezpecny_kometar), ale ve výpisu posledních komentářů na webu to vypíše pouze jeden poslední, nevypíše to nick ani datum komentáře. Ani odkaz na daný článek nefunguje - je ve formátu "view.php?cisloclanku=Array"

Díval jsem se do kódu a všude jsou tam 3 parametry u phprs_sql_fetch_assoc, např.:

// pridani nazvu clanku
$cisloclanku = phprs_sql_fetch_assoc($dotazkomentare,$pom,'clanek');
$komen_cla=phprs_sql_query("SELECT titulek FROM ".$GLOBALS["rspredpona"]."clanky WHERE link='$cisloclanku'",$GLOBALS["dbspojeni"]);
$komen_clapocet=phprs_sql_Num_Rows($komen_cla);
// kontrola existence clanku
if ($komen_clapocet==0):
$cltit = "?";
else:
$cltit = phprs_sql_fetch_assoc($komen_cla,0,'obsah');
endif;
//


Mohl byste mi s tím prosím někdo pomoct?

×××---×××
www.ava-plus44.com
www.blink-182.cz

Jít na stránku:  12Další
Aktuální stránka:1 z 2


Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.