- iPhone topik
- Apple iPhone 17 Pro Max – fennsík
- Xiaomi 15T Pro - a téma nincs lezárva
- Kijelző került a kamerasávra a Xiaomi 17 Pro és 17 Pro Max hátulján
- Apple iPhone 15 Pro Max - Attack on Titan
- Samsung Galaxy A56 - megbízható középszerűség
- One mobilszolgáltatások
- Android szakmai topik
- Yettel topik
- Megérkezett Magyarországra a legkülönlegesebb kameratelefon
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
Speeedfire #3710 üzenetére
A kép alapján nem fut le a php scripted. Ugye localhost-on keresztül éred el, és nem máshogy?
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
phpmyadmin exportban így néznek ki (kicsit egyszerűsítettem):
CREATE TABLE IF NOT EXISTS `tibia_news` (
`id` int(11) NOT NULL auto_increment,
`user_id` int(11) default NULL,
`created_at` datetime default NULL,
`category_id` int(11) default NULL,
PRIMARY KEY (`id`),
);
INSERT INTO `tibia_news` (`id`, `user_id`, `created_at`, `category_id`)
VALUES (1, 2, '2009-06-22 00:00:00', 1);a nyelvfüggő adatokat tartalmazó pedig:
CREATE TABLE IF NOT EXISTS `tibia_news_i18n` (
`id` int(11) NOT NULL,
`culture` varchar(7) collate utf8_hungarian_ci NOT NULL,
`title` varchar(255) collate utf8_hungarian_ci NOT NULL,
`slug` varchar(255) collate utf8_hungarian_ci NOT NULL,
`body` text collate utf8_hungarian_ci NOT NULL,
PRIMARY KEY (`id`,`culture`)
);
INSERT INTO `tibia_news_i18n` (`id`, `culture`, `title`, `slug`, `body`)
VALUES (1, 'en', 'New newsticker item', 'new_newsticker_item', 'angol tartalom');
INSERT INTO `tibia_news_i18n` (`id`, `culture`, `title`, `slug`, `body`)
VALUES (1, 'hu', 'Új rövidhír', 'uj_rovidhir', 'magyar tartalom'); -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3630 üzenetére
A https-es dolgokkal kapcsolatban ajánlom megnézni a Perspectives kiterjesztést - röviden annyi, hogy certet ellenőriz külső szerverekkel, és ha azok is azt kapják, amit te, ugorja is át a hibaoldalt. Ha szoktál idegen (egyetem, netkávézó) wifin netezni, akkor kötelező.
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3625 üzenetére
A betöltődési sebességet PHP-ből nem tudod, csak a lefutási sebességet - ha ez is megteszi, akkor nézd meg a microtime() függvényt.
Ha fejlesztés alatt méregetnél, akkor YSlow, illetve PageSpeed. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3611 üzenetére
Még egy kis info: html-ben valid, ha nincs idézőjelben, xhtml-ben viszont invalid.
-
Tele von Zsinór
őstag
válasz
chubby1980 #3560 üzenetére
Nézz meg egy olyat, hogy var_dump($_POST);
-
Tele von Zsinór
őstag
válasz
8nemesis8 #3446 üzenetére
Inkább enum-nak tudnám elképzelni, ha már úgyis mysql-el dolgozol, és akkor nem csak kölcsönözhető/nem kölcsönözhető, hanem más állapotokat is le tud írni.
Amikor visszahozzák, beállítod, hogy kölcsönözhető, hasonlóan kivételkor azt, hogy nem.
Mysql-ben nincs bool, tinyint(1)-et szokás használni erre a célra. -
Tele von Zsinór
őstag
Az a probléma, hogy a get, post, cookie, request, env, server (azt hiszem, ennyi
) mind a bemenet vagy a környezet leírására lettek kitalálva. Mielőtt a scriptedig eljut a vezérlés, ezeket populálja a php azok alapján, amiket kívülről kapott - nem jó dolog ezek módosításával vezérelni az alkalmazásod, bárhol másutt nem várt következményei lehetnek.
-
Tele von Zsinór
őstag
válasz
Louloudaki #3346 üzenetére
A levél is utf8-ként megy el?
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
-
Tele von Zsinór
őstag
válasz
pumatom #3241 üzenetére
$dir_objektum = dir("pics/");
$tomb = array();
while (false !== ($bejegyzes = $dir_objektum->read())) {
if (!is_dir($bejegyzes)) $tomb[] = $bejegyzes;
}
$dir_objektum->close();ez egy tömbbe pakolja a mappában levő fileokat, ebből kell neked egy random elemet kiválasztani.
jobb megoldás, ha adatbázisban tárolod, milyen filejaid vannak, és onnan választasz ki egy elemet, mysql esetén ez például
order by rand() limit 1
-
Tele von Zsinór
őstag
Nem
maradhat úgy, ahogy van, de a select querydben például úgy legyen, hogy
SELECT UNIX_TIMESTAMP(`mezonev') AS `asdf`;
És ezután nyugodtan átadhatod a date-nek. Hasonló módon kell használni a másik függvényt is, csak annak kell egy másik paraméter is, analóg módon a php date függvényével.
-
Tele von Zsinór
őstag
Ha timestampként kell, akkor UNIX_TIMESTAMP(), ha formázott dátumként kell, akkor DATE_FORMAT().
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3143 üzenetére
MySQL esetében nem ajánlott a perzisztens kapcsolat, maradj a sima _connect()-nél.
Kapcsolatot bezárni szép, de ha úgyis a scripted végére tennéd, felesleges: a futás végén a php felszabadít minden erőforrást, így a kapcsolatot is. Használata ott ajánlott, ahol sok konkurrens felhasználó van: gyorsan összeszeded adatbázisból, ami kell, zárod a kapcsolatot, és csak utána foglalkozol a kiiratással. -
Tele von Zsinór
őstag
[...]
if ($_POST[op] != "ds") {
$a = rand(1,9);
$b = rand(1,9);
$_SESSION['c']=$a+$b;
echo "<form method=\"post\" action=\"$PHP_SELF\">
<p><strong>Your name:</strong><br>
<input type=\"text\" name=\"name\" size=30 value=\"$_POST['name']\"</p>
<p><strong>Your email:</strong><br>
<input type=\"text\" name=\"email\" value=\"$_POST['email']\"size=30</p>
<p>$a + $b = <br>
<input type=\"text\" name=\"szam\" value=\"$_POST['szam']\"size=30</p>
<p><strong>Comments:</strong><br>
<textarea name=\"comments\" cols=30 rows=5 wrap=virtual>$_POST['comments']</textarea></p>
<input type=\"hidden\" name=\"op\" value=\"ds\">
<p><input type=\"submit\" name=\"submit\" value=\"Mehet\"></p></font>
</form>";
} [...] -
Tele von Zsinór
őstag
válasz
Sk8erPeter #3068 üzenetére
Nem böngészőfüggő, a php kód a szerveren fut
Nálam ilyen egy próbafuttatás:tibia@sziget:~$ php --run 'echo iconv("utf-8", "us-ascii//TRANSLIT", "Gyémánt") . "\n";'
Gye'ma'nta fontos különbség: iso-8859-1 vs. us-ascii. Előbbi esetén nálam is furaság lesz a végeredmény
A preg_replace()-s sor, amit bemásoltál eltávolítja a nekem nem kellő karaktereket (url komponenst állítok elő), azaz mindent, ami nem szám vagy betű. Utána jön az iconv, majd megint egy preg_replace, hogy az iconv által berakott felesleget eltávolítsa. Emiatt elnézésed kérem, korábban azt mondtam, elég az iconv az ékezetek eltávolításához, de kell mögé az a preg_replace is.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3061 üzenetére
Miért olvas ki a fájlból esetlegesen rossz információt?
Nem arról van szó, hogy a böngésző szúrja el, bár erre is láttam már példát; sokkal valószínűbb az, hogy egy rosszindulató látogató hamisít bele. Ha csak a mime alapján ellenőriznél, akkor mondjuk fel tudna tölteni egy .php filet, ha azt mondja, image/jpeg. Innen általában egyszerű kisakkozni, hova lett mentve és voilá: saját php kódját futtatja a te szervereden.
Az ékezetes, egyéb karakterekre valami ilyesmit ajánlok:
static public function slugify($text)
{
// replace non letter or digits by -
$text = preg_replace('~[^\\pL\d]+~u', '-', $text);
// trim
$text = trim($text, '-');
// transliterate
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// lowercase
$text = strtolower($text);
// remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);
if (empty($text))
{
return 'n-a';
}
return $text;
}Ha van iconv modulod, ez a legjobb megoldás: utf8-ból alakít sima ascii-vá úgy, hogy transliterál (van erre magyar kifejezés?
), azaz az á-ból a-t csinál, de a ä-ból is, ë -> e, ç -> c, satöbbi.
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3052 üzenetére
Úgy emlékszem, képfeltöltésről van szó, legalábbis korábban esett itt szó az átméretezéséről.
Ahogy írták már, a böngésző által küldött mime megbízhatatlan. Ha azt akarod ellenőrizni, kép-e, használd a getimagesize() függvényt, képnél értelmes eredményt ad vissza, minden másnál hibát. -
Tele von Zsinór
őstag
A php.net nem tud olyanról, hogy ob_get_end(), szerintem az ob_get_clean()-ra gondoltál.
Headerben azt mondod, hogy gzip tartalom jön, de sehol nem zömöríted.
Amúgy a hálózati forgalom csökkentésére jó, de általában nem ez szokott lenni a szűk keresztmetszet, inkább az adatbázis. -
Tele von Zsinór
őstag
válasz
Odiepapa #2939 üzenetére
Mintha *nix szervereken az aktuális usert helyettesítené be, de nem vagyok rendszergazda, szóval google. Másrészt pedig a mailnek van egy additional headers paramétere, oda tegyél egy From-ot, és jó lesz.
Állítsd be rendesen a szervert, hogy ne csak az index.html-t, hanem a .php-t is indexnek tekinse. A böngésző úgyis csak úgy kéri, mint "/".
Használj get helyett post-ot. -
Tele von Zsinór
őstag
válasz
Sk8erPeter #2862 üzenetére
Helyesbítek: a fileműveletek lassúak. Ha 1-2-10 includeod van csak, ez nem fog feltűnni, ha sokkal több, akkor viszont már jelentős visszafogó tényező.
Például a symfony framework ez ellen úgy védekezik, hogy cacheli a teljes core rendszerét egyetlen masszív php fileba, így éles rendszerben csak az van includeolva. -
Tele von Zsinór
őstag
válasz
Gergello #2842 üzenetére
A pontosvesszős explode és egyéb trükközések helyett add át neki a queryket egyesével, vagy tömbként. Akár a függvény nézze, ha tömböt kapott, foreach-el menjen végig rajta, ha nem, akkor csak simán hajtsa végre.
A __sleep() és a __wakeup() azért kéne, mert sessionbe objektumot raksz. Röviden: amikor az scripted véget ér, a session adatok serializálva kerülnek mentésre, objektumokon ilyenkor meghívódik a __sleep(), ahol egyrészt takaríthatsz (leírók zárása, akármi), valamint egy tömbben megmondhatod, hogy melyik tagváltozókat mentse a php. A __wakeup() akkor hívódik meg, amikor a következő oldalnál betöltődnek a session adatok, a __sleepben() visszaadott értékek már be vannak töltve, ilyenkor lehet a korábban zárt leírókat újranyitni, teszemazt kapcsolódni az adatbázishoz, szükséges fileokat megnyitni, amit akarsz.
Hosszútávon a saját DB osztályok helyett jobban jársz valami olyasmivel, mint az említett Pear adatbázisosztály, az ADOdb, esetleg komolyabb vonalon mozogva Doctrine vagy Propel. -
Tele von Zsinór
őstag
válasz
Gergello #2840 üzenetére
$exp = explode(";",$query);
Olyankor mit csinálsz, ha valahova pontosvesszőt tartalmazó értéket kell beírnod?
A mysql password() függvénye helyett saltolt md5-öt vagy sha1-et ajánlok.
Egy queryvel illene megoldani az ellenőrzést és az adatok betöltését, az egyik felesleges. Legyen egyetlen select *-os, ahol where-ben meg van adva a felhasználónév és a jelszó, és mysql_num_rows()-al ellenőrizd, hogy van-e ilyen felhasználó, ha igen, belépteted, és rögtön tudod is feltölteni a profilját, újabb query indítása nélkül.
$usr = $sql -> getOne("SELECT username FROM XX WHERE username='".$user."' AND password=password('".$pass."')");
if($usr == $user){ //okA getOne() kódja nélkül ez vaktában, de tippem szerint egy tömbbel tér vissza, ami az adott sort tartalmazza, azaz az ifben te egy tömböt és egy stringet hasonlítasz össze. Ráadásul felesleges, azt mondtad, hogy az $user nevű felhasználót kéred ezzel a jelszóval, utána az eredményben a nevet összehasonlítani az eredeti kérés paraméterével értelmetlen, mindig igaz lesz. Vagy volt már olyan, hogy a smarty az "Ezt aztán" kezdetű szöveget írta volna ki?
Látom, osztályokat használsz. Én a Userbe pakolnám a logint: kap két paramétert, a postból a felhasználónevet és a jelszót, és akár bool értékkel jelzi, hogy sikerült-e, vagy hibát dob, de mindenesetre a sessiont megfelelően feltölti a user adataival, jogaival, stb.
A User osztálynak készítettél __sleep és __wakeup függvényeket? -
Tele von Zsinór
őstag
Windows: ha feltelepítetted, akkor keresd a php.exe n. filet, ennek a helyét tedd bele a $PATH környezeti változóba, és akkor mindenhonnan eléred. A saját scriptjeid futtatása így megy: `php filenév`
Linux: disztrótól függ ez a rész, ubuntu és debian alatt a `php5-cli` csomagot kell felraknod, gentoo alatt a `dev-lang/php`-t, és kész is vagy. Futtatás ugyanúgy.
-
Tele von Zsinór
őstag
Első javaslatként azt mondom, gondold át ezt a txt dolgot, hogy tényleg akarod-e. Sokkal jobb lenne mindezt adatbázissal megoldani.
Ha mindenképp maradsz ennél, a következő módszerrel időben csökkenő sorrendet tudsz tartani: mikor új bejegyzést kapsz, kiolvasod a file eddigi tartalmát, ennek az elejére berakod az új bejegyzést, majd kiírod az egészet. Függvényeknek lásd: file_get_contents() és file_put_contents().
-
Tele von Zsinór
őstag
válasz
Odiepapa #2736 üzenetére
Miért "sajna"? Ez annyit tesz, hogy a kliens böngészője ismeri és engedélyezi a sütik fogadását, nem urlben kell átadnod a sessionid-t.
Ezzel visszaélni akkor lehet, ha elkapja valami köztes fél, beállítja magánál sütinek és meglátogatja az oldalad - persze az is kell, hogy nálad ne legyen ip, user-agent, stb. ellenőrzés. -
Tele von Zsinór
őstag
Kb. ez kell neked akkor:
if (false !== ($list = @file("lista.txt") && count($list)) {
$key = array_rand($list);
header("Location: " . $list[$key]);
die(sprintf("<a href=\"%s\">Átirányítva ide: %s</a>", $list[$key], $list[$key]));
}Ha nem sikerül megnyitni a filet, vagy üres, nem csinál semmit.
-
Tele von Zsinór
őstag
$list = array("címek");
$key = array_rand($list);
header("Location: " . $list[$key]);A lényeg ennyi, beolvasást úgy oldod meg, ahogy jólesik (akár adatbázisból, akár txtből mondjuk a file()-al), illetve illik némi html kimenetet is adni, ha a http átirányítás tiltva volna.
-
Tele von Zsinór
őstag
válasz
Odiepapa #2705 üzenetére
A te $eredmeny változód nem egy tömb lesz, hanem egy mysql erőforrásra való mutató. Egy-egy sort a mysql_fetch_* függvények valamelyikével tudsz lekérni, ha az egészet tömbbe akarod, akkor valahogy így:
$tomb = array()
while (false !== ($row = mysql_fetch_array($eredmeny))) { $tomb[] = $row; }Ahol a $eredmeny az, amit te beállítottál neki a függvényed első sorában, a $tomb pedig az összes sort fogja tartalmazni asszociatív és számokkal indexelt tömbökként.
Más: a $service és a $id már escapelt? Ha nem, komoly biztonsági kockázatot jelent csak így berakni őket a querybe, használd előbb rajtuk a mysql_real_escape_string() függvényt!
-
Tele von Zsinór
őstag
válasz
ArchElf #2669 üzenetére
Nusphere phped. Sajnos fizetős, 209 usd. Régóta használom nagyjából teljes megelégedéssel, néha az autocompletevel összeveszünk, de nagyjából azt csinálja, amit én akarok. Sokkal gyorsabb, mint az eclipse, phpdocot is berántja completenél helpnek.
Step-by-step debugot tud, akár távoli hoston is, de egy php modult telepíteni kell hozzá.
JShez nem ért egy syntax highlightnál jobban, de nézd meg a firebugot (a jóságát remekül mutatja, hogy kiterjesztés létére is megvannak a saját kiterjesztései, mint a firecookie, a firephp vagy a yslow). -
Tele von Zsinór
őstag
válasz
lamajoe #2655 üzenetére
Mielőtt kérdezel, mindig nézz körül a php.net-en (gyorskeresés: php.net/amitkeresel), általában megleled ott a választ, illetve sok egyebet is, amit ha nem is jegyzel meg, emlékezni fogsz, hogy volt valami ilyesmi
arról nem is beszélve, hogy így jobban megmarad, mintha valaki más mondta volna meg.
-
Tele von Zsinór
őstag
válasz
lamajoe #2649 üzenetére
Ellentétben a c++al, ami fordított nyelv, a php scriptnyelv. Röviden ez annyit tesz, hogy az előbbinél a fordító létrehoz egy binárist és később azt használod, a php futtatásához mindig kell az értelmező (bár ezzel is képes fordított változatot cachelni, de ezt talán majd később
)
Nem feltétlen szükséges webszerver a php használatához (ha parancsorba beírod, hogy "php filenev.php" az is lefut), de a messze legnépszerűbb használata a weboldalak előállítása, ehhez kell neked a webszerver (apache).
Ma már nagyon kevés oldal működik valamiféle adatbázis nélkül, nagyon hasznos és egyszerű megoldást jelentenek strukturált adattárolásra, az összes rdbms közül pedig php-val párban a legnépszerűbb a mysql, a legtöbb ingyenes tárhelyen is ezt találod tepelítve.Ha most kezded, mindenképp a php5-öt tanuld, a négyest augusztus óta nem is fejlesztik.
-
Tele von Zsinór
őstag
Mysql kapcsolódás kódolása mi? "set names 'kódolás';" queryvel tudod állítani, közvetlen a mysql_connect() mögé érdemes rakni.
Mivel nézve rosszak a karakterek: az oldaladon egy másik scripttel, vagy phpmyadminnal? Mindkét esetben ellenőrizd, hogy az oldal kódolása is 8859-2 legyen, phpmyadminban a home lapon tudod állítani. -
Tele von Zsinór
őstag
Első pontnál gondolom dob egy noticet, ezt egyszerű elkerülni:
if (isset($_GET["text"] && $_GET['text'] == "van"){
Második pont: ha csak annyit írsz, hogy
van
az az ilyen nevű konstanst jelenti, de ilyen nincs deklarálva, és a programozónak kedves módon megpróbálja a "van" stringként értelmezni, de persze egy notice (warning?) ilyenkor is megy.
Nem az xphp-t kell megtanulni (bármi legyen is az), hanem a php-t rendesen. -
Tele von Zsinór
őstag
válasz
Louloudaki #2607 üzenetére
Első gondolat, ph szerkesztőben írva, kipróbálás nélkül:
function buildMenu($parentid)
{
$sql = "SELECT * FROM menu WHERE parentid={$parentid};";
$result = mysql_query($sql);
$ret = array();
while ($row = mysql_fetch_array($result)) {
$ret["cim"] = $row["menu_cim"];
$ret["url"] = $row["menu_url"];
$ret["children"] = buildMenu($row["id"]);
}
return $ret;
}
$menu = buildMenu(0); -
Tele von Zsinór
őstag
válasz
Gergello #2521 üzenetére
Vagy nem utf8 a file, vagy az apache detektálja hibásan, mindenesetre headerben latin2-nek hazudja. Ezt egy egyszerű header() hívással tudod javítani.
Továbbá a mysql kapcsolatod kódolása is lehet hibás, kapcsolódás után hajts végre egy olyan queryt, hogy "set character set 'utf8';". -
Tele von Zsinór
őstag
válasz
Gergello #2519 üzenetére
A link, amit adtál, utf8 helyes (értsd: kézzel utf8-ra állítva a böngésző karakterkódolását helyesek az ékezetes karakterek).
Az utf8 első 128 (vagy ekörüli, nem vagyok benne biztos) karaktere megegyezik az ascii hasonló részével, ezzel érték el, hogy az angol szövegek nagyja pontosan ugyanaz asciiban és utf8ban. -
Tele von Zsinór
őstag
Cucka kollega válaszát ennyivel egészíteném ki: a saját gépedre érdemes felrakni apache-php-mysql triót[1] és ott fejleszteni, gyorsabb és egyszerűbb is, egyrészt amiatt, hogy nem másik gépre kell feltölteni mindig, hanem csak mentés-alttab-f5; másrészt jóval beszédesebbre tudod állítani a hibaüzeneteket, a felmerült headeres problémára is kaptál volna ilyet.
"Js már megteszi" - *soha* ne bízz semmiben, amit a felhasználótól kapsz, a bizalom egyik kihasználása az említett SQL injection, de létezik pélául html injection, vagy xss is.
A register_globals régen alapértelmezetten be volt kapcsolva, sokan építettek rá, de elég nagy biztonsági hibákat generált, így most az alap a kikapcsolt, és tudtommal php6-ban már nem is lesz ilyen.[1] kezdetnek javaslok valami egybecsomagot, mint az appserv, wamp, easyphp vagy az xampp. Én a legutóbbit használom.
-
Tele von Zsinór
őstag
Kimenet: amit elküldesz a usernek, kb. amit kiprintelsz/echozol
Alkalmazáslogika: például míg összeszedsz az adatbázisból egy blogbejegyzést és a kommentjeit, aztán letárolod változókban.
Szétválasztás: a kódod úgy csoportosítod, hogy semmi ne menjen a kimenetre, amíg az alkalmazáslogika nem végzett, utána jön csak az output összeállítása a változókba letárolt dolgok alapján.
Olvasnivaló: az MVC tervezési minta, bár kezdőként nem tudom, ez nem túl sok-e: [link] -
Tele von Zsinór
őstag
Localhoston sem tudod állítani?
Más: querybe escapelés nélkül ne rakj felhasználótól kapott értéket, valamint ne építs a bekapcsolt register_globals-ra. (select * from fotabla... sor, a $felhnev nem kap értéket, gondolom az $_POST["felhnev"] akart lenni).
Még pár megjegyzés a kódhoz:$sorok = mysql_num_rows($eredmeny);
if ($sorok > 0)helyett
if (mysql_num_rows($eredmeny)) {...
tömörebb, jobban olvasható, valamint: a $mindenoke legyen sima igaz/hamis, az elején állítsd hamisra, a levél küldésekor igazra, és a végén a feltétel így ez lesz:
if (!$mindenok)
-
Tele von Zsinór
őstag
Nem látom a kódot, ezért csak tipp: kimenetet generálsz, és utána akarsz http fejlécet írni, amire figyelmeztet is a php (ha olyan az error_reporting), hogy hiba és nem lehet.
Gyors, tüneti megoldás az output buffering (ob_start és társai) használata, de a szép (és karbantartható) megoldás az alkalmazáslogika és a kimenet szétválasztása.
Ha nem hiányzik az exit, akkor ne is használdmég egy megjegyzés: az ilyen átirányítás után még lefut a scripted, nem szakad meg azonnal. Továbbá gyakran le van tiltva az ilyen átirányítások automatikus követése, illik a kimenetbe legalább annyit rakni, hogy "átirányítunk ide: link".
-
Tele von Zsinór
őstag
Az oka a következő: a phpben van egy register_globals n. változó, ami ha be van kapcsolva, akkor a $_GET["felhasznalonev"] elérhető úgy is, hogy $felhasznalonev. Biztonsági gondokat okozott, úgyhogy egy ideje alapértelmezetten ki van kapcsolva a korábbi bekapcsolt helyett. A könyv kódja feltételezte, hogy ez engedélyezve van, pedig nem.
-
Tele von Zsinór
őstag
válasz
cellpeti #2419 üzenetére
Kezdetnek: vagy operátor helyett neked az és kell (|| helyett &&) de amúgy jónak tűnik.
Olvasás: vagy paraméterként kéred be (lásd: argv és argc változók), vagy fread()-al olvasol az stdin-ről, amit tudtommal előre megnyit neked a php. De! a phpt főleg weboldalaknál szokták használni, ott pedig nincs parancssor, csak get- és postváltozók.
Új hozzászólás Aktív témák
- ÚJ Dobozos Lenovo ThinkPad T460 i5-6300U / 8GB / 256GB SSD / Magyar billentyűzet
- Egyedi Keycapek
- Apple iPhone 14 Pro Max 256 GB Space Black (független, iSTYLE vásárlás)
- Apple MacBook Pro 13 (2016, Touch Bar) ezüst, i5 / 8GB / 512GB SSD / 4x Thunderbolt 3
- iPhone 17 Pro Max 256GB kozmosznarancs apple.hu
- Samsung Galaxy S23+ 256GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo ThinkPad A485 - AMD Ryzen 7 PRO I 8GB I 256GB SSD I 14" FHD I Cam I W11 I Gari!
- TELJES KÖRŰ IT BESZERZÉS
- Xiaomi Redmi 12C 64GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3306
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest