- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- sh4d0w: Csak a profit - emberélet nem számít
- vrob: Az IBM PC és a játékok a 80-as években
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
RootRulez #12961 üzenetére
Ne azt a leírást használd, ennél ezerszer korszerűbb megoldások is vannak már nagyon régóta. Ráadásul elavult kódot használ, és valszeg nem annyira könnyen konfigurálható, mint pl. ez: http://jqueryui.com/dialog/#modal. De ahogy DeltaPower is mondta, ez OFF topic, JavaScript topicba tartozna inkább. Aztán plusz tipp, hogy ne idegesítsd a felhasználóidat az össze-vissza ugráló popupokkal, mert szidni fogják az egyik hozzátartozódat.
-
CSorBA
őstag
válasz
RootRulez #11426 üzenetére
Elsőnek nézd meg, hogy milyen php verzió fut. Csinálj egy fájlt ezzel a tartalommal, majd futtasd:
<?php phpinfo();
Lehet még 4-es php fut, azon pedig ez a funkció nem támogatott. Nekem mintha úgy rémlene, hogy lehet változtatni vmi admin menüben, hogy melyik php fusson. Bár erre nem esküdök meg, régen láttam uw-s oldalt.
-
Sk8erPeter
nagyúr
válasz
RootRulez #10878 üzenetére
JavaScripttel meg lehet oldani (ha úgy oldod meg, hogy a popup-blokkolók ne tiltsák azonnal), de én ebben nem segítek, mert utálom az ilyen ugrálós, hatmillió linket megnyitó oldalakat.
Inkább akkor valami igényesebb megoldást javasolnék, mondjuk több modal ablak megnyitását jQuery UI vagy hasonló segítségével. -
cucka
addikt
válasz
RootRulez #10247 üzenetére
notepaddal nincsenek új sorban (minden link egy sorban van). Notepad++-al viszont sorok vannak
Az utolsó sorban az implode-nál a "\n" okozza a furcsaságot. A unix-szerű rendszereken ezzel a speciális karakterrel jelölik a sor végét, windows-on viszont "\r\n"-el (mac-en pedig "\r"-el). A problémád tehát lényegében annyit jelent, hogy a windows notepad-ja nem elég intelligens ahhoz, hogy észrevegye, a file-od unix-féle sorvégeket használ. A php és a notepad++ gond nélkül kezeli mindkét sorvége jelet.mod: a "\n" és a "\r\n" helyett érdemesebb a php beépített PHP_EOL konstansát használni, ez a php-t futtató rendszernek megfelelő sorvége jelet tartalmazza.
-
cucka
addikt
válasz
RootRulez #10245 üzenetére
Lefuttattam és rájöttem, hogy elcsesztem a kódot két helyen: a file beolvasásnál a sorok tartalmába beolvasom az újsor karaktereket is, illetve az unset-et rosszul hívom. Javítva:
function isUrl($val){ return $val != ''; }
$linkek = array_filter(file("d:\linkek.txt", FILE_IGNORE_NEW_LINES), 'isUrl');
$tkey = mt_rand(0, count($linkek)-1);
$link = $linkek[$tkey];
unset($linkek[$tkey]);
if (count($linkek)==0){
$linkek[0] = 'előre megadott szöveg';
}
file_put_contents("linkek.txt", implode("\n", $linkek)); -
cucka
addikt
válasz
RootRulez #10239 üzenetére
Ez a kód lényegében totál hülyeség, mint ha olyan ember írta volna, aki most tanulta pascal-ban a filekezelést. Érdemes lenne megértened, hogy mit csinál a kód, mert abból nem fog semmi jól kisülni, ha kriptikus kódsorokat másolgatsz abban a reményben, hogy hátha működni fog.
A kérdésedre a válasz a korábbi kódot felhasználva:
function isUrl($val){ return $val != ''; }
//a file sorait beolvasom a $linkek tömbbe
$linkek = array_filter(file("linkek.txt"), 'isUrl');
//véletlenszerű kulcs kiválasztása a linkek tömbből
$tkey = mt_rand(0, count($linkek)-1);
//kiválasztok 1 elemet a tömbből a $link változóba
$link = $linkek[$tkey];
//törlöm a tömbből a kiválasztott elemet
unset($linkek, $tkey);
//ha elfogytak a file sorai, akkor felviszem az új elemet a $linkek tömbbe
if (count($linkek)==0){
$linkek[0] = 'előre megadott szöveg';
}
//a $linkek tömb tartalmát kiírom a fileba
file_put_contents("linkek.txt", implode("\n", $linkek);Ahogy látod, a kód elején beolvasom a file tartalmát a végén meg kiírom, az összes művelet a $linkek tömbben történik. A kód nem kezeli le azt az esetet, ha az elején üres a file, továbbá egy idő után, ha elfogynak a linkek, mindig ugyanazt a szöveget fogja beírni a fileba majd kiolvasni, szóval gondold át, hogy tényleg ezt akarod-e? A kód futása után a $link változóban éred el a kiválasztott sor tartalmát, pl. beleírhatod egy html <a> tag-be.
(#10240) PazsitZ
Az alap problémában nem szerializált formában van a fileban az adat, továbbá kérdéses, hogy mennyire segíti a megoldás megértését a kódod nagy részét kitevő zaj (kiírások, $_GET feldolgozás, stb) -
PazsitZ
addikt
válasz
RootRulez #10239 üzenetére
Ilyen esetben én akkor már tömböt használnék:
$filename = dirname(__FILE__) . '/links.txt';
if (isset($_GET['add']) && !empty($_GET['link'])) {
if (file_exists($filename)) {
$links = unserialize(file_get_contents($filename));
} else {
$links = array();
}
echo 'put: ' . $_GET['link'];
$links[] = $_GET['link'];
file_put_contents($filename, serialize($links));
} else if (isset($_GET['get'])) {
$links = unserialize(file_get_contents($filename));
if (count($links)>0) {
$key = array_rand($links);
$link = $links[$key];
unset($links[$key]);
echo "<a href=\"{$link}\">{$link}</a>";
file_put_contents($filename, serialize($links));
} else {
echo 'nincs link';
}
}
Hozzáadhatsz: link.php?add&link=http://prohardver.hu
Kiolvasás és törlés: link.php?get -
cucka
addikt
válasz
RootRulez #10118 üzenetére
Én inkább így csinálnám:
function isUrl($val){ return $val != ''; }
$linkek=array_filter(file("linkek.txt"), 'isUrl');
$link=$linkek[mt_rand(0, count($linkek)-1)];
header('Location: '.$link);Próbáld megérteni, mit csinál. Amire figyelni kell:
- Ha beolvastad a file sorait egy tömbbe, akkor tudod a sorok számát, semmi szükség beégetni azt a 10-es konstans értéket. Az én verziómban a random a meglévő sorok közül fog választani egyet. Ehhez figyelni kell arra, hogy az mt_rand hogyan viselkedik a szélsőértékeknél (ezért a -1 a sorok számánál).
- A fileban lehetnek üres sorok, például az utolsó sor utáni sorvége egy ilyet fog eredményezni. Ezért hívom meg a array_filter függvényt. Az isUrl eldönti, hogy a sor az egy helyes url-e (tehát alapesetben nem-e üres), az array_filter-el pedig lényegében kiszűröm a tömbből a helytelen elemeket.
- As isUrl függvényt kiválthatod anonim függvénnyel (php 5.3-tól) vagy használhatod a create_function() függvényt is a célra.
- Valami hibakezelést jó lenne belerakni, legalább arra, hogy mi történik, ha valamiért nem tudja megnyitni a file-t. -
RootRulez
félisten
válasz
RootRulez #10117 üzenetére
Ilyen lett:
<?php
$x=mt_rand(0,10);
$linkek=file("linkek.txt");
$link=$linkek[$x];
header('Location: '.$link);
die();
exit;
?>Ez így jó?
(csak mert működik)
Ööö, ha 10 sor van, akkor $x=mt_rand(0,10); kell vagy $x=mt_rand(0,9);
Gondolom, ha a TXT első sorát 0-nak veszi, akkor 0-9-ig kell... -
RootRulez
félisten
válasz
RootRulez #10030 üzenetére
No, végül úgy alakult, hogy a http://domain-tarhely.net/-nél lett a tárhelyem. Így már egy sima .hu domain boldog tulajdonosa vagyok.
Érdekes, hogy egy php kérdésből mik lehetnek...
ON
Mennyire macerás, hogy az oldal tartalma ne töltődjön be teljesen, azaz bizonyos tartalmak "összecsukva" legyenek. Itt van ez az oldal, amin jelenleg 7x lehet lapozni, mire az oldal aljára érek.
Szóval pl ami régebbi, az ne látszódjon, csak, ha "kinyitják"
Ehhez meg már vmi másik forrásfájl kéne, amiből az oldal kiszedi az adatokat/tartalmakat és "maga készíti el önmagát"? És nekem nem az oldalt kéne szerkesztenem, hanem azt a forrást, amiből jön létre az oldal tartalma? (nem értek hozzá, de így képzelem el...)
-
Sk8erPeter
nagyúr
válasz
RootRulez #10028 üzenetére
mobalnak teljesen igaza van, a Newhosting is egy rakás szar, de főleg az úgynevezett "supportjuk" botrány, meg az, hogy néha a szerver gyors, néha meg iszonyatosan lassú, vagy egyszerűen nem elérhető az oldal (pedig az állítólagos rendelkezésre állási idő náluk valami 98%, plusz ezt írják: "Kizárólag kiváló minőségű IBM eszközökkel biztosítjuk a szinte állandónak mondható rendelkezésre állást, valamint folyamatos felügyelettel csökkentjük az esetleges meghibásodások számát." - hahaha
Amikor jeleztem a problémákat, akkor a supportos csávó kijelentette, hogy ha nem tetszik, akkor válasszak más szolgáltatót. Ezt nevezem jó hozzáállásnak!
Drupal futtatására is valóban alkalmatlan (próbáltam).Egy nagy előnye van, hogy a 3 GB-os tárhelyméret ellenére ingyenes.
Úgy emlékeztem, hogy át lehetett irányítani más domainről is a névszervert, igazából csak emiatt javasoltam kezdetnek, átmeneti megoldásnak, de ezek szerint tévedtem, ahogy írod, csak náluk regelt domainhez lehet tárhelyet rendelni (mondjuk ez végül is érthető a tárhelyért cserébe).
Szóval akkor a Newhosting nem téma.Abban is egyetértek moballal, hogy a Tárhelypark viszont már egészen más kategória, pozitív értelemben. Jó a support (csetelni is lehet velük, és tök normálisan és gyorsan reagálnak a problémákra), az oldal rendelkezésre állása kifogástalan eddigi tapasztalataim alapján, meg a sebességgel sincs probléma, korrekt cpaneles admin-felület van, plusz nem drágák.
Ha úgyis magyar a célközönséged, akkor őket mindenképp tudom ajánlani.Ha 200 MB felett vagy, akkor sajnos tényleg csak a 3900 Ft-os, 1 GB-os csomag marad, és akkor már (3900 Ft [tárhely]+1200 Ft [domain] =) 5100 Ft-nál vagy, az havonta 425 Ft.
Szerintem az sem vészes.De persze nem akarlak rábeszélni, csak én már annyira megcsömörlöttem az ilyen UW-s, ATW-s, FW-s tárhelyektől, annyi korlátot állítanak, meg extra szívást, hogy inkább másnak is mást ajánlok (minőséget).
-
Speeedfire
félisten
válasz
RootRulez #10030 üzenetére
Csak egy tipp, ha godaddy-nél regelsz domain-t, akkor kapsz 10giga tárhelyet. Hátránya, hogy rakhatnak ki reklámot.
Én az egyik aldomain-enem ezt használom, de eddig még nem volt kint semmi. Gondolom látogatástól függ vagy a fene tudja.
Vagy ha magyar domaint regelnél magadnak, akkor ebből tudok neked adni 1GB-ot, ha nem zavar a reklám, ami nem tudom milyen lehet. -
RootRulez
félisten
válasz
RootRulez #10025 üzenetére
Most nézem a http://newhosting.hu/ főoldalét és ingyen tárhely csak a náluk vásárolt domainhez jár...
Tehát akkor
newhosting.hu és domain (1 évre) + tárhely (3gb) = 3500FT + 0ft ez 3500Ft (áfával)
vagy
tarhelypark.hu és domain (2 évre) + tárhely (1gb) = 2400.00 Ft + 3900Ft + 1701.00 Ft (áfa) ez már bő 8K, így hiába 1200Ft évente a domain, a másik olcsóbban jön ki... Meg megmondom őszintén nem értek az ilyen dolgokhoz, így attól a macerástól is megkímélném magam, hogy "összehozzam" az egyik helyen vásárolt domaint a másik helyről vásárolt (vagy nem vásárolt, csak regisztrált) tárhellyel......
Na de ez már bőven nem php, bocsi a offért, köszönöm szépen a segítséget, és hogy lehet elköltettél velem évi 3500Ft-ot. -
-
Sk8erPeter
nagyúr
válasz
RootRulez #10011 üzenetére
Nem mondod komolyan, hogy exportáltad az adatbázisod tartalmát valami Excel-kompatibilis fájlba, aztán abból a fájlból importáltad azt az uw-re...
Egy mezei phpMyAdmin miért nem volt jó?Kódodból:
imagettftext($im,20,0,12,32,$szurke,"/mnt/ultraweb/h/hu/hunapk/khand.ttf",$str);"/mnt/ultraweb/h/hu/hunapk/khand.ttf"
helyett próbáld ezt:
$_SERVER['DOCUMENT_ROOT'] . '/khand.ttf'
is. -
Sk8erPeter
nagyúr
válasz
RootRulez #10006 üzenetére
Csak most látom, amit a szerkesztés után írtál.
Annak a hozzáadós függvénynek is működnie kell, csak vigyázz arra, hogy ne írass ki SEMMIT az outputra a header előtt.
Akár egy szóköz is boríthatja az egészet, ami miatt azt a hibát kapod, amit bemásoltál korábban.
Egyébként pontosan ezért van az, hogy a csakis PHP-kódokat tartalmazó fájlba soha nem szabad záró PHP-taget rakni, mert elég egy kiírt karakter, és máris ilyen hülye hibák fordulhatnak elő.Lásd hivatalos oldal vonatkozó részét:
"If a file is pure PHP code, it is preferable omit the PHP closing tag at the end of the file. This prevents accidental whitespace or new lines after PHP closing tag which may cause unwanted effects because PHP will start output buffering when there is no intention from the programmer to send any output at that point in the script."==
Ezek alapján működnie kéne (most pszeudokód az a hozzáadós függvény):<?php
function add_visitor($xyz){
// logging stuff, do this, do that, etc....
}
$xyz = 'blablabla';
add_visitor($xyz);
$new_location = 'http://example.com'; // cseréld le
// 301 Moved Permanently
header('Location: ' . $new_location, TRUE, 301);
exit();// ...
-
Sk8erPeter
nagyúr
válasz
RootRulez #10004 üzenetére
FÁJL LEGELEJÉRE:
<?php
$new_location = 'http://example.com'; // cseréld le
// 301 Moved Permanently
header('Location: ' . $new_location, TRUE, 301);Nyilván cseréld ki az example.com-ot sajátra...
===
Szerk.:
ha valami nem megy, ne azt írd, hogy "nekem nem megy", hanem írd le, hogy milyen hibát tapasztaltál....... -
Sk8erPeter
nagyúr
válasz
RootRulez #10003 üzenetére
Hát akkor meg is van a baj forrása.
Régen amúgy amikor kezdtem, én sem nem akartam lét szánni domainre meg tárhelyre, de aztán rájöttem, hogy már annyira olcsón vesztegetik ezeket a nagy verseny miatt, hogy már annyiért meg lehet kapni, amennyiért veszel egy kocsmában egy sört havonta.
Sörre meg kinek nincs pénze??Kezdetnek, egy domain birtokában (kb. 1200/évért már megkapsz egy .hu-st!!!) használhatod a Newhostingot, aztán a nagyon olcsó, de minőségi Tárhelyparkot, külföldiek közül meg sokan dicsérték a másik topicban a hostgatort.
Az UW-nél, ATW-nél annyi korlátba és hülyeségbe lehet ütközni (pl. htaccess tiltása és hasonlók), meg annyira zavaró a reklámframe, hogy bőven megéri váltani.
Persze nem akarlak rábeszélni, de gondold meg, hogy havi egy sör áráért legalább minőséget kapsz. -
Sk8erPeter
nagyúr
válasz
RootRulez #10001 üzenetére
"Átpakolnám az oldlaam UW-ről ATW-re"
Az igen.Egyik jobb, mint a másik.
Kipróbáltam egy ATW-s oldalon, teljesen jól működik a header-es átirányítás, amennyiben nincs más output előtte...
Amúgy az a gáz, hogy hiába irányítod át headerrel, az a fosadék reklám-frame ott marad.Mi van a 6. sorban?
Egyébként ha teljesen át akarod irányítani, akkor miért nem teljes címet használsz, és miért nem kapásból a legelején?
<?php
$new_location = 'http://example.com';
header('Location: '.$new_location);
die();Meg mondjuk illene kiküldeni egy 301-es headert is, azt most kihagytam.
(.htaccess-megoldást direkt nem mondtam, mert a szaros ATW nem engedélyezi a használatát, ahelyett, hogy korlátozná a módosítható opciókat)==
(#10000) mobal :
nincs mit.
Tiéd a 10000. hsz.? Nem rossz. -
rt06
veterán
válasz
RootRulez #7838 üzenetére
keresd meg azt a reszt, ami ezt irja ki: Kérlek minden mezőt tölts ki (név, emai, üzenet)!
ez egy feltetel valamelyik agan belul lesza feltetel utan utan elvileg az adatbazisba illesztes jon
neked valahova ide kellene betenned egy elelnorzest, ami osszehasonlitja a tarolt es a kapott erteketha egyezes van, mehetsz tovabb
ha nincs, akkor a fenti uzenethez hasonloan szukseged van egy hibauzenetre es egy atiranyitasra - ez utobbit a header( "location: ..." ) paranccsal szoktak -
-
Speeedfire
félisten
válasz
RootRulez #7360 üzenetére
Az úgy elég gány megoldás.
Inkább használd ezt, vagy csak vedd ki belőle ami neked kell.
<html>
<head>
<meta name="content" content="text/html; charset=iso-8859-2">
<title>Hibakód: 404 (File Not Found)</title>
<script type="text/javascript">
window.onload = function() {
startCountDown(5, 1000, myFunction);
}
function startCountDown(i, p, f) {
var pause = p;
var fn = f;
var countDownObj = document.getElementById("countDown");
if (countDownObj == null) {
alert("Nincs ilyen id-vel ellátott elem!");
return;
}
countDownObj.count = function(i) {
countDownObj.innerHTML = i;
if (i == 0) {
fn();
return;
}
setTimeout(function() {
countDownObj.count(i - 1);
},
pause
);
}
countDownObj.count(i);
}
function myFunction() {
document.location.href = "http://tothszabi.info";
}
</script>
</head>
<body>
<div id="countDown"></div>
</body>
</html> -
Speeedfire
félisten
válasz
RootRulez #7356 üzenetére
echo '<p class="tovabb">
Megszűnt az oldal, átirányítás folyamatban!<br />
Ha türelmetlen vagy katt <a href="#">ide</a>.
</p>';
header("refresh:3;url=www.google.hu");
//a refresh után mp-ben kell megadni az időt 2-3mp elég
//az információra
//a visszaszámolást meg csináld
//meg js-ben -
Xaero88
tag
válasz
RootRulez #2864 üzenetére
@ RootRulez
Átirányitás letöltés után:header('Location: url ');
mod: em tudom végül milyen számlálót tettél be, de ha fájlkezelős, akkor
fread() vagy file_get_contents()
Más.. :
amugy ilyen menüs oldalbehivársa én ezt szoktam használni:
ezt még késöbb mod_rewriteolni se nehézif(isset($_GET['oldal']))
require_once($_GET['oldal'].'.php'); // php vagy html a vége ahgoy jobban tetszik
else
require_once('main.php'); // main vagy amit akarsz[ Módosította: Viktor77 ]
Új hozzászólás Aktív témák
Hirdetés
- LG 45GS95QX-B 45" ÍVELT OLED MLA WQHD 240HZ 0.03 MS GAMING MONITOR
- HP Zbook 15 laptop (15,6FHD/I7-G4MQ/16GB/128SSD/Nvidia2GB)
- Latitude 7450 14" FHD+ IPS Ultra 7 165H 32GB 1TB NVMe IR kam gar
- LG 45GR95QE-B Ívelt OLED 2K WQHD 240Hz, 0.03ms, NVIDIA G-Sync ,FreeSync Premium ,HDMI 2.1
- HP Probook 840 G1 laptop (14/i5-G4/8GB/128SSD) - Erős akku!
- Ne hagyd ki ezt a lehetőséget: Vadiúj Ryzen 7 5800X! Kamatmentes rèszletre is!!
- BESZÁMÍTÁS! ASUS ROG STRIX Z390-E GAMING alaplap garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- VÉGKIÁRUSÍTÁS - REFURBISHED - HP Elite / ZBook Thunderbolt 3 docking station
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest