PHP segély

egyéb dolgok, amik már nem férnek bele másik kategóriába

Re: PHP segély

HozzászólásSzerző: l2sh » 2010.06.30. 13:51

Afronaut írta:Na szóval tisztázzuk! :)
Nekem rewrite kell! Nem Robots.txt annak semmi köze az url újraíráshoz...
na szóval még egyszerűbben nem meta tagek érdekelnek mint ahogy azt már írtam...

l2sh köszi a tippet kipróbálom... csak szerinted mindkettőt (mod_rewrite+file_exists($_GET['site']) függvény) kell használni, hogy amikor új oldalt csinálok ne kelljen újra mod_rewriteozni?
mármint megvannak a linkek faszák! és mondjuk hozzáadok egy új oldalt aminek a linkje ez: http://cms-tesztek.weboldala.net/index. ... ry&picID=4 (ez 1ik galériába egy kép) De írja újra az urlt mondjuk erre: http://cms-tesztek.weboldala.net/gallery/pic4 és ne kelljen mindig újra írjak egy rewriteot az adott linkhez!
ötletek?


Apache-ban alapból csak egyszerű átírásokat lehet végezni, vagy írsz új modult hozzá C-ben, és elküldöd az adminnak az SO fájlt. Nem olyan bonyolult. :)
Na, de tehát eredetileg csak a http://cms-tesztek.weboldala.net/gallery/pic4 mappa lekérését tudod átírni mondjuk http://cms-tesztek.weboldala.net/index. ... llery/pic4 paraméterre.
Kód: Egész kijelölése
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?mappak=$1 [L]
</IfModule>

Ha engedélyezni szeretnéd azt is, hogy paramétereket írjanak az urlba, pl. http://cms-tesztek.weboldala.net/gallery/pic4/?param=1 , erre van a %{QUERY_STRING} apache változó. Példa:
Kód: Egész kijelölése
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?mappak=$1&%{QUERY_STRING} [L]
</IfModule>


A többit viszont már php-ban kell megcsinálni. A $_GET['mappak'] értékét szétszeded / jeles elválasztással, és átmásolod a $_GET tömbbe valahogy így:
Kód: Egész kijelölése
$mappak = $_GET['mappak'];
$tok = tokenize($mappak, "/");

for(
$i = 0; $i < count($tok); $i++)
{
    $_GET[$i] = $tok[$i];
}

function tokenize($str, $tok)
{
    $toks = strtok($str, $tok);
    $ret = array();
    $i = 0;
    while($toks !== false)
    {
        $ret[$i] = $toks;
        $toks = strtok($tok);
        $i++;
    }
    return $ret;
}
 


Viszont ilyen esetben csak a számozást tudod használni, ha a paraméterek ennyire változóak.
De ha tudod a paramétereket, akkor írhatod mondjuk így is a $_GET tömbbe helyezést:
Kód: Egész kijelölése
$_GET['site'] = $tok[0];
$_GET['picID'] = substr($tok[1], 3); 


Akár külön php fájlba is írhatod mindezt, aztán meg egy include()-dal belerakod az index.php-ba.
l2sh
 
Hozzászólások: 95
Csatlakozott: 2009.03.22. 13:01

Re: PHP segély

HozzászólásSzerző: Afronaut » 2010.07.12. 18:40

Köszi szépen! kísérletezgetek majd ezekkel
adamos42 elnézést csak gondoltam meg kérdezem hátha :)
Afronaut
 
Hozzászólások: 33
Csatlakozott: 2010.04.30. 23:52

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.07.12. 18:54

Semmi probléma, közben utánajártam és találtam egy oldalt. http://generateit.net/mod-rewrite/
Ez az oldal megcsinálja helyetted a rewrite-t, csak annyi az ördöngössége, hogy ha felraktad és frissítenéd az oldalt pl.:

http://valami.hu/index.php?id=5&lap=2

akkor írd át a rewritenek megfelelően:

http://valami.hu/cikkszama/1/oldal/2

nekem sikerült az otthoni szerveremen
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: Afronaut » 2010.07.12. 19:14

adamos42 írta:Semmi probléma, közben utánajártam és találtam egy oldalt. http://generateit.net/mod-rewrite/
Ez az oldal megcsinálja helyetted a rewrite-t, csak annyi az ördöngössége, hogy ha felraktad és frissítenéd az oldalt pl.:

http://valami.hu/index.php?id=5&lap=2

akkor írd át a rewritenek megfelelően:

http://valami.hu/cikkszama/1/oldal/2

nekem sikerült az otthoni szerveremen


Persze ez oké csak a probléma igazából ott kezdődik, hogy ha sok tartalom kerül fel az oldalra azt nehéz egyenként rewriteozni... pl ha van egy oldalad és tegyük fel napi 20 új oldalt adsz hozzá... nem beszélve a fórum részéről, stb...
szóval elvileg ezt értem... mármint azt, hogy hogy rewriteozok egy linket de olyant kéne csináljak ami automatikusan rewriteoz
pl van egy cms rendszered aminek alapból nincs mod_rewrite támogatása... akkor csinálhatod úgy, hogy egyenként adsz meg parancsokat .htaccess-ben vagy úgy, (ha tudod hogy kell) hogy írsz pár parancsot és utána folyamatosan és persze automatikusan helyetted újra írja az új linkeket... utóbbi kéne nekem, hogy ne egyenként kelljen rewriteokat irni
Afronaut
 
Hozzászólások: 33
Csatlakozott: 2010.04.30. 23:52

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.07.12. 19:48

a rewrite nem az, hogy minden egyes címet be kell írni, hanem pl a .php?valami=$1&valami=$2 elemet rakja át másképp pl. ?valami:$1/valami:$2, csak annyi az ördöngössége, hogy a php-t úgy kell felépíteni, hogy ne a .php?valami=$1&valami=$2-ra hivatkozzon hanem a ?valami:$1/valami:$2-re és a rewritet csak 1x kell megírni jól.
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: gamball » 2010.07.23. 16:31

Hello mindenkinek elkéne egy kis segítség.Az oldalam www.gtahotel.jatekoldal.net abban kéne egy kis segítség hogy hogyan lehet egy panelben linkeket és képet rakni mint ezen az oldalon http://totalnfs.hu milyen mod kell hozzá vagy milyen HTML kód és milyen beállítás
gamball
 
Hozzászólások: 3
Csatlakozott: 2008.10.09. 16:40

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.07.23. 16:41

ha ara gondolsz, hogy a panelek-nek külön külön más fejléce van akkor azt a téma módosításával tudod elérni, a themes/XXX/theme.php-ban van egy function definiálás opentable($name) { //vagy valami ilyesmi
ebben a részben lejjebb van az $name változó vagy div-ben vagy táblázatban, módosítanod kell hogy mi legyen ennek a résznek a háttere. Ha jártas vagy a html & css alapjaiban akkor menni fog. ha nem akkor nézz utána, az alapoknak, ahhoz most mincs energiám hogy minden megcsináljak helyetted. (ne vedd sértésnek!) Jelenleg készítek egy php cmsrendszert amivel majd az itteni szervereket lehet majd kezelni, automatikus php rendszer feltétellel, webftp, .htaccess .htpassw robot.txt segédlettel stb. hamarosan indíom a hozzá kapcslatos oldalt.
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: gamball » 2010.07.24. 06:56

Vagy akarok egy olyan panelt amibe banner cserék vannak azaz képek belinkelve próbáltam csinálni de ezt írja ki: Parse error: syntax error, unexpected '<' in /var/www/jatekoldal.net/gtahotel/www/administration/panel_editor.php(128) : eval()'d code on line 2

és én ezt a HTML kódot írtam be : openside("Bannerek");
<a href='http://gtaxtreme.info/' target='_blank'><img src='http://elitgamer.net/images/partnereink/gta2.png' style='margin:5px' align='left' />
closeside();

PHP Fusiont használok
gamball
 
Hozzászólások: 3
Csatlakozott: 2008.10.09. 16:40

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.07.24. 18:28

openside("Bannerek");
<a href='http://gtaxtreme.info/' target='_blank'><img src='http://elitgamer.net/images/partnereink/gta2.png' style='margin:5px' align='left' />
closeside();


ezzel csak annyi a probléma hogy nem tedted echo-ba! a helyes:

openside("Bannerek");
echo "<a href='http://gtaxtreme.info/' target='_blank'><img src='http://elitgamer.net/images/partnereink/gta2.png' style='margin:5px' align='left' />";
closeside();
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.07.24. 18:30

ja és még valami!

function opentable($title) {

echo "\n<div style='background: url('http://elitgamer.net/images/partnereink/gta2.png);height:40px'><h2>$title</h2></div>\n\t<div class='panelbody'>\n";

}
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

ElőzőKövetkező

Vissza: Segédletek, Tippek, Egyebek

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 vendég