Hirdetés
Új hozzászólás Aktív témák
-
DeltaPower
addikt
válasz spammer #5575 üzenetére
így lehet txt:
$nev= $_POST["nev"];
if (file_exists($nev.".txt")) {
$file= file($nev.".txt");
egyébként így ez a módszer tárolásra egyáltalán nem biztonságos. erősen ajánlott a POST változóból kiszűrni a pont, per, visszaper karaktereket"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
DeltaPower
addikt
válasz spammer #5577 üzenetére
változót megfelelő szűrés nélkül fájlműveletre használni nagyon kockázatos.
a te példádban, megadom a mezőben hogy "../index.php" így szépen be fogja olvasni az index.php-dat.
az alkönyvtár és a txt kiterjesztés használata már egy fokkal jobb, de így is fontos lenne az említett fájlrendszer specifikus karaktereket kiszűrni a változóból. esetleg a lehetséges neveket letárolni egy külön txt-ben, és ha abban nem szerepel a név, akkor el se kezdeni a beolvasást."Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Tele von Zsinór
őstag
válasz spammer #8609 üzenetére
Egyszerűbb, ha csinálsz neki egy adminfelületet, terméklistázással és -szerkesztéssel. Az xls olvasása sem túl bonyolult, de jóval több benne a buktató.
Lacces: ez a kód, amit mutattál, működik. A hiba másutt van.
[ Szerkesztve ]
-
sekli
addikt
válasz spammer #8622 üzenetére
A CSV azért jóval egyszerűbb, mint az excel. Ha már ilyen elavult megoldást választasz, akkor írj egy php-szkriptet, ami generálja a statikus html-t a CSV-ből, amit soronként beolvasol és minden sorra mondjuk egy explode-ot csinálsz. Máris kiesnek a pontosvesszők... Így minden árváltozással először felülírod a CSV-t, majd lefuttatod a generáló szkriptet.
-
sekli
addikt
válasz spammer #8624 üzenetére
Értem én, nem kell módosítani a meglévő oldalt, kb annyi kell, hogy a html file-t átnevezed php-ra, az elejére írsz két sort, ami a CSV-t feldolgozza monjuk egy tömbbe ($termek[] )utána pedig mindenhol ahol valami ár van azt kicseréled:
tegyük fel, hogy ez van:
<tr><td>Kicsi piros játékautó</td><td>2000Ft + ÁFA</td></tr>
kicseréled erre:
<tr><td>Kicsi piros játékautó</td><td><?php echo $termek['22'];?></td></tr>
ennél egyszerűbbet nem tudok neked mondani.
-
Speeedfire
félisten
válasz spammer #8942 üzenetére
Van egy checkboxod, pl ez:
<input type="checkbox" name="hirlevel" value="igen" />Amikor feldobozod akkor meg:
isset($_POST['hirlevel']) ? $hirlevel = 'igen' : $hirlevel = 'nem';
//vagy
if(isset($_POST['hirlevel'])) { $hirlevel = 'igen';} else { $hirlevel='nem';}Majd a "nagyok" megmondják, hogy melyik a jobb.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
modder
aktív tag
válasz spammer #8977 üzenetére
szerintem is, kukis az biztos működni fog, és viszonylag egyszerű is, ha csak cikkszámok listájáról van szó. esetleg megnézhetsz valami LocalStorage dolgot (keress rá). ez asszem ilyen HTML5-ös szabvány.
Ha nincs DB, még a cikkszámra kattintva akár egy AJAX-os megoldással (hogy ne töltődjön újra az oldal) session változóba is mentheted a cikkszámokat.
-
Sk8erPeter
nagyúr
válasz spammer #9342 üzenetére
Ez mitől PHP kérdés?
Egyébként kicsit homályos a kérdésed.
Most a linkkel oldalon belül szeretnél ugrabugrálni, vagy épp, hogy külső linket szeretnél meghatározni?
Ide felraktam neked mindkettőről példát:
http://jsbin.com/iliwac/1/edit#html,liveSk8erPeter
-
PazsitZ
addikt
válasz spammer #9359 üzenetére
Egyszerű példa (vedd pszeudokódnak) :
CikkModule.php
{
static function getCikkHTML($cikkId) {
...
}
}CikkController.php:
{
public function cikkekAction(){
foreach($cikkek as $cikk){
echo CikkModule::getCikkHTML($cikk->cikk_id);
}
}
public function cikkAction($cikkId){
echo CikkModule::getCikkHTML($cikkId);
}
}vagy még egyszerűbben listaoldalon ajax hívás nélkül (persze a direkt linkhez kell az egy cikket megjelenítő action):
<div id="cikkek">
<div class="cikk_1"><a onclick="showCikk(1);"></a></div>
<div class="cikk_2"><a onclick="showCikk(2);"></a></div>
</div>
<div id="cikk" style="display:none;"> <a onclick="closeCikk();"></a></div>
<script>
function showCikk(id){
$('#cikk').html( $('#cikk_' + id).html() ).show();
$('#cikkek').hide();
}
function closeCikk(){
$('#cikkek').show();
$('#cikk').hide().html('');
}
</script>Bár megjegyzem pont Yii-ben van rá példa, hogy az egész page contentet lekéri az ajax és csak a megfelelő tartalmat illeszti be sima jQuery selectorral. pl.: $('.cikk_2', '#cikkek').html();
[ Szerkesztve ]
- http://pazsitz.hu -
-
Sk8erPeter
nagyúr
válasz spammer #9359 üzenetére
Ha arról beszélsz, hogy abban a bizonyos fájlban egy normálisan felépített HTML-tartalom van, és abból csak pl. egy adott id-vel rendelkező div-et szeretnél megjeleníteni, vagy hasonló, akkor példaként a jQuery hivatalos oldalán van AJAX-os kommunikációnál ugyanilyen:
Loading Page Fragments$('#result').load('ajax/test.html #container');
Egyébként még PHP-val is lenne mód ilyenre: DOMDocument-tel parse-olod, getElementById()-vel beolvasod a megfelelő részt.
Mondjuk ha már megoldási módszerekről beszélünk, ez sem túl szép, jobb lenne a tartalmakat adatbázisból kiolvasni, ha van erre mód.
===
(#9360) PazsitZ : nem akarok kötekedni, de azért ne szoktassuk arra az emberkéket, hogy minden cikket jelenítsenek csak meg nyugodtan ugyanazon az oldalon, aztán majd kliensoldalon szépen megjelenítgeti-eltünteti, nem kevés terhelést róhat adott esetben feleslegesen a szerverre.
Persze nagymértékben függ a feladattól, de általában inkább kerülendő, inkább aszinkron módon kellene betölteni.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #9364 üzenetére
Igazából szerintem egyikünk számára sem volt egyértelmű először, hogy mit is szeretnél, így mindketten félreértettük.
Most megint elolvastam, amiket írtál, és szerintem Te tényleg valami olyasmit szeretnél, mint ami a blogokon van: ömlesztve az összes cikk, de ha a címére kattintasz, akkor ugyanaz a cikk megjelenik egy külön oldalon, ergo külön URL-lel, esetleg bővebb tartalommal is.Pl. erről egy egyetemi tanárunk blogja jut eszembe, WordPress-es blogja van, és külön oldalon is megtekinthetők az itt ömlesztve, igaz, pagerrel látható cikkek.
Valami ilyesmit akarsz, nem?
Csak mert akkor a korábbi AJAX-ozás nem is feltétlenül kellene, sőt, az már inkább advanced dolog.
Szerintem amennyiben tök egyszerű struktúrájú oldalad van, hagyományos módon kellene felépítened az oldaladat, hagyományos módon beinclude-olni mindenhova azt a fájlt, ami tartalmazza a fejlécet, menüt, aztán alulra meg a láblécet, ahogy mindenki kábé el szokta kezdeni a honlapszerkesztést. Már ha nem akarod most bonyolítani.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #9370 üzenetére
Feltételezem, a WordPress is támogat komolyabb szintű cache-elést, így szerintem érdemes lenne mégis megfontolnod az arra vagy más CMS-re való átállást, ha valami könnyen módosíthatót szeretnél - lehet, hogy később bővíteni szeretnéd tartalmakkal az oldaladat.
Persze ez csak lehetséges alternatíva, ha időt szeretnél magadnak megspórolni.Ha nem akarsz ilyet, és az egyszerű megoldások között keresel, létezik nagyon favágó módszer, ami nagyon nem a webfejlesztés gyöngye, de végül is működik, vegyük úgy, hogy mondjuk 10 darab cikked van, és ahogy említetted, ez 10 külön HTML-fájlba van szétdobva, és csakis ezeket szeretnéd megjeleníteni:
- mindegyik fájlnak legyen azonos a kiterjesztése (pl. .php, ha akarsz mondjuk belerakni valami PHP-kódot, legyen alkalmas rá), és lehetőleg a követhetőség miatt legyenek azonos könyvtárban
- van egy index.php fájlod, ahol az összes lényeges műveletet elvégzed; az ömlesztett kiíratást, valamint az egy darab megadott cikknek a kiíratását is
- berakod egy tömbbe ennek a 10 db fájlnak a nevét mondjuk kiterjesztés nélkül, figyelsz rá, hogy helyes nevet adj meg, és lehetőleg egyáltalán ne tartalmazzon ékezetes vagy más speciális karaktereket;
- egy foreach-csel végigmész ezen a tömbön, és szépen file_get_contents-szel beolvastatod és kiíratod ezeknek a fájloknak a tartalmát
- mindeközben figyelsz arra is, hogy a fájlokban a cikk címe és egy önhivatkozás is legyen benne - a hivatkozás meg mondjuk legyen ilyesmi: index.php?article=tokmindegy, ahol tokmindegy a fájl neve kiterjesztés nélkül, kiterjesztéssel meg tokmindegy.php
- ha valaki úgy nyitja meg az oldalt, hogy http://example.com/index.php VAGY http://example.com/index.php VAGY http://example.com/index.php?article=, akkor ömlesztve jeleníted meg az összes cikket
- ha valaki úgy nyitja meg az oldalt, hogy http://example.com/index.php?article=tokmindegy, akkor megvizsgálod, hogy létezik-e a tokmindegy.php az adott könyvtárban, ha igen, akkor kiíratod, és kész vagy; ha nem létezik, akkor pl. kiraksz egy hibaüzenetet, hogy nincs ilyen fájl, és megjeleníted ömlesztve a tartalmat. Ha valaki ilyen módon nyitja meg az oldalt, akkor a $_GET['article'] értéke egyenlő lesz tokmindegy sztringgel.Vegyük azt, hogy az "itt_tarolod_a_cikkeket" könyvtárban vannak a tartalmaid, ez pedig az index.php-vel azonos könyvtárban helyezkedik el.
Valahogy így néz ki akkor a könyvtárstruktúra (most azért tettem DIR-t az itt_tarolod_a_cikkeket mögé, hogy jelezzem, hogy az egy könyvtár):fejlec.php
lablec.php
index.php
itt_tarolod_a_cikkeket [DIR]
|-- tokmindegy.php
|-- masikcikk.php
|-- megegycikk.php
|-- ....Ez alapján NAGYON leegyszerűsített tákolmány fos példa, gyorsan összekotorva:
Pl.:
<?php
// .....................
$articles_directory = 'itt_tarolod_a_cikkeket';
$articles_array = array( 'tokmindegy', 'masikcikk', 'megegycikk', );
$page_to_show = '';
$errors_array = array();
if( !empty($_GET['article']) ){
if( in_array($_GET['article'], $articles_array) ){
if( file_exists($_GET['article']) ){
$page_to_show = $articles_directory.'/'.$_GET['article'].'.php';
}
else{
$errors_array[] = "File doesn't exist or is not available!";
}
}
else{
$errors_array[] = 'The following article is invalid: "'.$_GET['article'].'"';
}
}
?>
<html>
<head>
<title>Teszt</title>
.......
<style type="text/css">
.red {
color:red;
}
</style>
<head>
<body>
<div id="page">
<div>
<?php
require_once('fejlec.php');
?>
</div>
<div id="content">
<?php
if(!empty($errors_array)){
echo '<div class="red">', implode('<br />', $errors_array), '</div>';
}
if(empty($page_to_show)){
foreach($articles_array as $article){
$article_path = $articles_directory.'/'.$article.'.php';
if( file_exists($article_path) ){
echo file_get_contents($article_path);
}
else{
echo '<div class="red">"'.$article.'" doesn\'t exist!</div>';
}
}
}
else{
$article_path = $articles_directory.'/'.$page_to_show.'.php';
echo file_get_contents($article_path);
}
?>
</div>
<div>
<?php
require_once('lablec.php');
?>
</div>
</div>
</body>
</html>Mivel őszintén szólva még egy szövegszerkesztőbe sem dobáltam bele, csak itt a PH!-s textarea-ba pötyögtem be, ezért ne tépjétek le a tökömet, ha szintaktikai hibát tartalmaz, innen úgy tűnt, hogy nincs benne.
Meg hát ezzel nem akartam senkinek programozási tanácsot adni, sőt, mert ez nem egy szép módszer.
Csak a gyorscélnak megfelel, legalábbis ez a fenti ilyen ötperces módszer.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #9387 üzenetére
Kicsit összeesett a kódod.
Önmagában ez a parser elég jónak és könnyen használhatónak tűnik, a Te feladatodhoz azonban szerintem ennek a használata erős túlzás - igazából feleslegesen erőforrásigényes, hogy egy viszonylag hosszú fájlból (cikkek.html) kotorja ki a megfelelő id-vel rendelkező div-et.
Ezért írtam a példát, amit mutattam - ott széjjel vannak bontva külön fájlokra a cikkek, tehát ha egyetlen cikket akarsz megjeleníteni, akkor egyetlen fájl tartalmát csak egy az egyben behúzza, és készen is van. Ez pedig végigkotorja a cikkek.html-t, beparse-olja, jó nagy meló árán keresgél benne egy valid, adott id-vel ellátott DOM-elemet, majd végül azt jeleníti meg. Lehet, hogy ennyi cikknél még nem annyira vészes a futási ideje, sőt, 8 cikknél valószínűleg nem is olyan nagyon veszed észre a különbséget, mert alapvetően normális esetben gyorsan dolgozik a PHP, de gondolj bele, ez milyen durván erőforrásigényes lenne mondjuk 100 cikknél.Alapvetően nem ilyenekre való ez a parser. Inkább olyasmire lehet gondolni, ami a példában is van: pl. van egy külső oldal, ami itt épp a Google oldala, aminek a forráskódjából bizonyos részeket egy az egyben be akarsz húzni, és azt szerveroldalon megtenni, amire ilyen módon van lehetőség. A példában behúzza a google.com tartalmát, majd előkotorja belőle a képeket és a linkeket. Ilyet saját, "belső" oldalon megjátszani totálisan pazarlás, amikor külön-külön is lehetnének a fájljaid.
A másik az, hogy ha a felhasználó úgy nyitja meg az oldalt, hogy a $_GET['page'] nincs beállítva (tehát http://example.com/index.php?page=XYZ HELYETT http://example.com), akkor amennyiben a PHP hibajelzése magasabbra van állítva, kapsz egy notice-t, hogy felhasználsz olyan változót, ami nincs beállítva.
A switch blokk előtt ezért érdemes lenne legalább egy vizsgálatot elvégezned:$page_to_display = '';
if( isset($_GET['page']) ){
$page_to_display = $_GET['page'];
}
switch($page_to_display){
.............
}Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #9390 üzenetére
"Meg akkor alapból mindegyiket egyesével be kell töltögetnie a php-nek, hogy a főoldalon mindegyik egymás alatt megjelenjen."
Így viszont minden egyes különálló cikk miatt végig kell bogarásznia a teljes cikkek.html-t, azt beparse-olni, keresgélni a megfelelő id-val ellátott elemet, stb., tehát amiket már korábban írtam. Az meg ezerszer erőforrás-igényesebb, mint egy ciklussal egyszerűen kiíratni mondjuk 8 különálló HTML-fájl tartalmát.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #12545 üzenetére
Akkor lassú, amikor adatbázis-kapcsolatot is használsz, vagy ha egy tök egyszerű, csupán néhány PHP-s függvényhívást tartalmazó oldalt megnyitsz, akkor is?
Kipróbálhatnád esetleg IIS-sel is, Web Platform Installer segítségével gyorsan, kattintgatósan összehozható, ha mondjuk itt a WPI-ben rámész, hogy mondjuk telepíteni szeretnéd a Drupalt, akkor egyből behúzza a MySQL-t, PHP-t, meg a többi dolgot, amit fontosnak tart (pl. cache-elést elősegítő dolgok), meg a végén megkérdezi, mi legyen az admin-jelszó a MySQL-hez. Persze előtte szedd le az EasyPHP-t.
Sk8erPeter
-
fordfairlane
veterán
válasz spammer #13255 üzenetére
És még annyi, hogy ha sikerül minden értéket beleíratni a fájlba, akkor megoldható, hogy ezek külön sorokba legyenek és a sorok végén legyen egy | jel. Mert eredetileg is így vannak elválasztva a sorok a txt-ben, mert a másik php array-ként olvassa be a tartalmat és így választja el a sorokat.
$content = "";
for($i=1;$i<=4;$i++) {
$content .= $_POST['line'.$i] . "|\r\n";
}
$handle = fopen("teszt.txt", 'w');
fwrite($handle, $content);
fclose($handle);
echo "Sikeres módosítás.";[ Szerkesztve ]
x gon' give it to ya
-
-
Peter Kiss
őstag
válasz spammer #13283 üzenetére
Nem fog menni. PHP Windows-on 8859-1-gyel (vagy hasonló single byte coding-gal) dolgozik, ha fájlnevekről van szó. De ettől függetlenül sosem szerencsés ilyen jellegű fájlneveket adni.
Windows-on miért kell EasyPHP? Ott az IIS (neked ráadásul 8-as), amire fel lehet pattintani a legújabb PHP verziót is, és megy, mint a szél.
[ Szerkesztve ]
-
Peter Kiss
őstag
válasz spammer #13285 üzenetére
PHP telepítése Windows 7, 8-ra (Vista-ra is szerintem) - csak röviden.
-
Tele von Zsinór
őstag
válasz spammer #13283 üzenetére
A win filerendszere nem utf8 kódolást használ, innen a bajod. Azt hiszem, hogy ucs2, de ez csak ilyen halványan felsejlő emlék.
A legjobban azzal jársz, ha elfelejted a speciális karaktereket a filenevekben, és az angol abc karaktereire, valamint az kötőjelre és az underscore-ra korlátozod őket.
-
fordfairlane
veterán
válasz spammer #13340 üzenetére
Akkor már inkább így:
$url = 'http://maps.googleapis.com/maps/api/distancematrix/json';
$params = array(
'origins' => '04429',
'destinations' => $_GET['dest'],
'mode' => 'driving',
'units' => 'imperial',
'sensor' => 'false'
);
$sResponse = curl_request($url, http_build_query($params));[ Szerkesztve ]
x gon' give it to ya
-
-
spammer
veterán
válasz spammer #13345 üzenetére
Haladás:
$('#destCalc').submit(function(){
var action = $(this).attr("action")
$.ajax({
url: action,
type:'POST',
data: $(this).serialize(),
success: function(data){
$('#message').html(data);
}
})
return false
})Ezzel már beleírja a #message div-be, csak az a baj, hogy ha nem adok meg a divnek fix magasságot, akkor nem látszik a szöveg, mert a tartalomhoz nem igazodik a magassága, hanem marad olyan, mint volt.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Sk8erPeter
nagyúr
válasz spammer #13345 üzenetére
"Azzal működött, nem az volt a probléma, hanem hogy simán beírva a $dest vagy $dest2 nem ment."
Pedig de, az probléma, amit írtam.
Nézd meg még egyszer ezt a stringet:
'origins=04429&destinations=$dest&mode=driving&units=imperial&sensor=false'
mint látható, sima aposztrófot használsz, így a $dest nem fog behelyettesítődni, még jó, hogy rossz eredményt kapsz, mert így küldi el a szervernek: destinations=$dest, ahogy van (szóval a szerver a $dest-et kapja értékül).
Amúgy Te magad mondtad, hogy nem működött úgy.<form id="destCalc" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
itt ez az echo-zás tökéletesen felesleges.
Ezt nyugodtan cseréld le így:
<form id="destCalc" action="" method="post">
az üres action pont azt csinálja, hogy önmagára küldi el a formot.
Mondjuk gondolom azt vágod, hogy ennek megvan az a hátránya, hogy a böngésző cs×szeget F5 nyomkodásakor, hogy biztos el akarod-e küldeni még egyszer a POST-adatokat.Amit viszont most nem értek, hogy miért POST-metódussal küldöd el az adatokat, amikor korábban GET-et használtál. Így nem is merülne fel az a probléma, amit az előbb említettem.
"oldalfrissítés nélkül betöltse a php kódot (hogy lássam az eredményt)"
Ezt most nem egészen értettem. Mit is szeretnél?Ha jQuery+AJAX témáról van szó, akkor javaslom a jQuery topicot. A PHP-része persze jöhet ide, mindenesetre hint: json_encode()-dal küldd vissza a kliensnek az adatokat, úgy lesz a legkönnyebb kezelni.
[ Szerkesztve ]
Sk8erPeter
-
spammer
veterán
válasz spammer #13351 üzenetére
Éljen a debug.log, nem volt jó a hostname úgy, ahogy a leírásban volt
smtp_server=localhost.localdomain
helyett:
smtp_server=127.0.0.1
hostname=127.0.0.1Most a teszt sikerült, jön a rendes próba
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
ztajti
csendes tag
válasz spammer #13373 üzenetére
Hy!
A Te esetedben ez legyen a .htaccess file tartalma:
DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteEngine ^([a-zA-Z0-9-*]+)/([a-zA-Z0-9-*]+).html$ index.php?page=$1&id=$2 [QSA]A rewriteEngine soirt annyiszor ismételed a megfelelő paraméterekkel, amíg le nem fedi a teljes oldalt.
A linkkeket pedigvalami.com/index.php?page=ertek&id=ertek
valami.com/index.php?page=news&id=104411sorról erre cseréld le:
valami.com/ertek/ertek.html
valami.com/news/104411.html
[/M]Remélem ez alapján már meg tudod csinálni.
By.
Best regards, Zoltan
-
Sk8erPeter
nagyúr
válasz spammer #13373 üzenetére
Igazából mi a nem szimpatikus rajta? Hogy nem olyan egyszerű, mint a lepkefing?
Amúgy sokszor CMS-eknél/frameworköknél azt csinálják, hogy minden URL-t ráfuttatnak az index.php-re, fix query stringként (pl. index.php?q=adsasd/123/asd), aztán az adatbázisban az URL aliasok táblájában keresik meg a kapott query stringet, és ez van leképezve az alkalmazás működésének megfelelő "valós" címekre.
De az általad linkelt módszer is teljesen jó.Sk8erPeter
-
ztajti
csendes tag
válasz spammer #13379 üzenetére
valóban elírtam, a paraméter sor elejére rewriteRule kell Köszi DeltaPower, hogy észrevetted.
Ez azért lehetséges, mert rossz lekérést küldesz a feldolgozó szkriptnek, illetve, ha nincs .html végződés próbálj egy "/" jelet a link végére beszúrni, valamint az index.php header állományát így kialakítani:
<head>
<base href="http://www.valami.com/" />
...{SAJÁT HEAD RÉSZED} ...
</head>sorral kiegészíteni. Illetve csak a base href kell neked.
Best regards, Zoltan
-
Sk8erPeter
nagyúr
válasz spammer #13381 üzenetére
Úgy, hogy olyan regexpet használsz a RewriteRule-nál, ami a számokra illeszkedik, a "view" szócskát meg "beledrótozod".
Pl. ilyesmi:
RewriteRule ^(\d+)$ index.php?page=view&id=$1 [QSA,L]Ez illeszkedik arra, amit írtál. A \d minden numerikus karakterre illeszkedik. A +-szal pedig azt várod el, hogy egy vagy több ilyen minta legyen a stringben (tehát szerepelhet benne simán 9 vagy 6432 is). A ^ a string kezdetét jelöli, a $ pedig a legvégét, azért jó jelen esetben így korlátozni, mert pl. nem illeszkedik arra a mintára, hogy "a321b" vagy "a321" vagy "321b".
De egyébként érdemesebb beszédes neveket használni az URL-nél, pl. ilyesmi:
www.example.com/articles/110/ez-egy-nagyon-erdekes-cikkRegExp tesztelésére tudom ajánlani többek közt ezeket:
http://regexpal.com/
http://gskinner.com/RegExr/
utóbbi Flash-alapú, de nagyon beszédes segédlet van hozzá. Mindkettő ajánlott.[ Módosította: BomiBoogie ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #13383 üzenetére
Jaja, jól teszed, az úgy a legjobb.
Most látom, már én is megzavarodtam, és szintén RewriteEngine-t írtam RewriteRule helyett Mindjárt szerkesztetem egy modival az előzőt, hogy ne ez maradjon benne.
www.example.com/articles/110/ez-egy-nagyon-erdekes-cikk
erre meg valami ilyesmi illeszkedik:
RewriteRule ^(\w+)/(\d+)/(.+)$ index.php?page=$1&id=$2 [QSA,L]
(itt a 3. részt, tehát az "ez-egy-nagyon-erdekes-cikk" stringet nem vettem figyelembe, mert a struktúrád szerint az most nem is kell)
[ Szerkesztve ]
Sk8erPeter
-
DeltaPower
addikt
Új hozzászólás Aktív témák
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Bambu Lab 3D nyomtatók
- Automata kávégépek
- Elektromos cigaretta 🔞
- Samsung Galaxy S23 Ultra - non plus ultra
- Politika
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Futás, futópályák
- Tőzsde és gazdaság
- Következő lett a következő HarmonyOS verzió neve
- További aktív témák...
- Figyelőkamera (autóba, lakásba) + 32GB SD kártya
- Raptor PC / Xeon E5-1660 - 16 szál / RTX 4060 / 64GB RAM / 2db Intel Ipari SSD / Foxpost
- Samsung telefonok felvásárlás! +36203990877
- Apple készülék felvásárlás azonnal! Iphone, Ipad, Apple Watch, MacBook +36203990877
- RÉSZLETFIZETÉS.SZLA.GAR. LENOVO LEGION SLIM 5 16AHP9 Ryzen 7-8845HS , RTX 4060 közel 3 év garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest