- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- Gurulunk, WAZE?!
Új hozzászólás Aktív témák
-
Soak
veterán
válasz
Speeedfire #12299 üzenetére
Mi a gyíkomért van ez for ciklusba?
Szerk : De amugy meg van egy ilyen funkció is : [link] .
-
Speeedfire
félisten
Egy tömbből meglehet tudni, hogy adott érték hányszor szerepel benne?
pl$array = array('valami', 'valami', 'valami', 'ketto', 'harom', 'ketto');
meghivo_fuggveny('valami'); //result 3
meghivo_fuggveny('ketto'); //result 2
meghivo_fuggveny('harom'); //result 1Megvan! Valaki már megcsinálta helyettem.
function count_repeat_values($needle, $haystack){
$x = count($haystack);
for($i = 0; $i < $x; $i++){
if($haystack[$i] == $needle){
$needle_array[] = $haystack[$i];
}
}
$number_of_instances = count($needle_array);
return $number_of_instances;
} -
válasz
Tele von Zsinór #12289 üzenetére
Oh. Akkor ez bonyolultabb lesz mint gondoltam. Szóval certem sincs. Azt tudok magamnak készíteni, persze nem hivatalosan csak a programozás erejéig?
mobal,
-
válasz
Sk8erPeter #12293 üzenetére
Ha kérdőjel van a .* után, akkor kevésbé mohó, legalábbis a perl-féle regexp szabványnál így van. Szóval van egy sztringünk:
asdsdsda
A /a.*d/ kifejezésre rákeresve ezt adja vissza:
asdsdsd
Míg a /a.*?d/ kifejezésnél nem annyira mohó:
asd
-
Kommy
veterán
válasz
Sk8erPeter #12293 üzenetére
Á így már értem akkor a ? nem kell
, még itt a programozás fórumon kérdeztem másik témában reguláris kifejezést régebben és ott írta valaki így azt csak bemásoltam
-
-
Kommy
veterán
válasz
Sk8erPeter #12291 üzenetére
Az oldalon elkezdtem szépen lassan felépítani a reguláris kifejezést.
Tehát bemásoltam az e-mail tartalmát, majd elkezdtem írni a reguláris kifejezést, majd a végé ez lett a reguláris: /^Kedves (.*?)\!\s/, a lényeg ugye annyi volt, hogy a nevet kapjam meg tökéletesen
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12290 üzenetére
Jaja.
OK, akkor sorry a félreértésért.
===================================
(#12287) Kommy :
de végül hogy oldottad meg? -
Speeedfire
félisten
válasz
Sk8erPeter #12286 üzenetére
Dehogy! Akarom mondani, az elején azt hittem, hogy valami biztonsági rés.
De miután rákérdeztél a fórumban. Sokkol a kínai gyerekek szabadideje. -
-
Sziasztok!
Httpssel meggyűlik a bajom. Milyen konfigurálást követel meg az Apache - Wamp, hogy működjön?
Idáig oda jutottam, hogy az ssl modul ellenére sem akar működni.
-
Kommy
veterán
válasz
Sk8erPeter #12285 üzenetére
Igazad van, de szerencsére sikerült túljutnom rajta és most már le tudom kérni rendesen.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12281 üzenetére
Nekem abszolúte nem para
Amiatt szóltam amúgy, mert úgy tűnt, a Drupalt okolod (valszeg csak félreérthető volt), hogy spammelték az oldaladat, amiről azóta úgy néz ki, kiderült, hogy nem, csak nehogy valakit ez elijesszen esetleg a Drupaltól, hogy töredékinfóból azt hiszik, hogy rossz választás lehet, pedig nem.
-
Kommy
veterán
Az email-eshez lenne egy kérdésem.
Konkrétan a privát üzeneteket szeretném szűrni, hogy kinek jött, az iPHUpper iPhone-os programhoz lenne push küldés, hogy új privát üzenet érkezett.
Addig eljutottam, hogy az érkező levelek megjelennek az oldalon és a push is kimegy, most már csak azt kell kiszednem, hogy kinek kell a push-t kiküldeni a felhasználó nick nevével lenne azonosítva, ami benne van a privát üzenetes e-mail-ben.
Az üzenet tartalma: Kedves Kommy! Privát üzeneted érkezett a(z) PROHARDVER! fórumain, melynek feladója iPHUpper. Üzeneteidet itt tekintheted meg: http://m.prohardver.hu/privatok/listaz.php Jó fórumozást, A(z) PROHARDVER! csapata
Ebből nekem a névre van szükségem.
A következő kóddal megkapom az üzenet tartalmát: $body = base64_decode(imap_fetchbody($stream, $email_id, 1, FT_UID));A reguláris kifejezés amit használok kóddal együtt: if (preg_match("/Kedves(.*?)!{1} Privát{1}(.*?)$/",$body, $matches)) {
echo $matches[1];
}
De sajnos nem ad semmilyen eredményt, de ha a $body helyére beírom a szöveget akkor működik, valakinek valami ötlete (sajnos nem nagyon mennek a reguláris kifejezések) -
Speeedfire
félisten
válasz
Sk8erPeter #12279 üzenetére
Khmmm...ennyire ne védd vár a drupalt...
Mellesleg igen a héten feltettem, de mivel nem támadnak be minden nap, így nem tudtam még róla írni véleményt.
Az oldalt meg már szeptember végén elkezdtem írni.
Szeretnék elszakadni a CMS rendszerektől és inkább egyedi rendszereket fejleszteni. Remélem nem gond. -
Lacces
őstag
válasz
Tele von Zsinór #12273 üzenetére
ok, de akkor gondolom ezek szerint egy fájlban is tárolható a salt-okat?
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12278 üzenetére
Hát, kár, hogy egy modul telepítésére nem voltál hajlandó klikk-klikk-kész módszerrel, amivel egész hatékonyan szűrhetők lettek volna, pedig ajánlottam az előbb linkelt topicban is, plusz még privátban is elküldtem neked, dehát nyilván sokkal egyszerűbb a Drupalra fogni az egészet, és nyilván egyszerűbb egy totál új oldalt fejleszteni emiatt.
Dehát a Te dolgod, sok sikert hozzá.
-
Speeedfire
félisten
válasz
Tele von Zsinór #12269 üzenetére
Értem, igazából nem para, mert 5.3.10-es van fent a szolgáltatónál.
Csak kicsit fura, volt ez a korlátozás. Na, ma kicsit átírom. Adok neki egy esélyt, ha már ezt ajánlod.
Sk8erPeter:
Jobban tudom majd talán szűrni őket.
Mindenesetre az egyik ok tényleg a spam-ek miatt van.
sztanozs:
Nálam is mindenkinek más, egy unique id lényegében a salt az adatbázisban. -
sztanozs
veterán
válasz
Tele von Zsinór #12275 üzenetére
nem - úgy értettem, hogy nem statikus, hanem úgy hogy felhasználónként változó. Láttam én már olyan kódot - ami ahhoz hasonlított, amit itt valaki alant bemutatott:
pwhash = md5("valamirandomsalt".$_POST["pass"]);
Sőt olyat is láttam, hogy ugyan volt egy salt mező az adatbázis user_auth táblájában, de mind az összes rekord ugyanaz volt
De ilyenkor ugye - mivel a salt determinisztikus - simán lehet rá szivárványtáblát írni.Igazából nem is neked írom, mivel neked tiszta, hogy felhasználónként más érték legyen - de szerintem másnak nem szükségszerűen az: csak annyi a lényeg, hogy legyen salt...
-
sztanozs
veterán
válasz
Tele von Zsinór #12273 üzenetére
Igen, viszont tegyük hozzá, hogy a salt is csak akkor hatékony, ha nem statikus.
-
Tele von Zsinór
őstag
válasz
Lacces #12271 üzenetére
A salt hasznossága nem abban rejlik, hogy titkos, hanem hogy segítségével nem lehet rainbow table-öket használni a megszerzett jelszavak megfejtésére. Szóval ha minden felhasználónak más és más értéket generálsz, akkor a támadónak minden felhasználónál nulláról kell indulnia.
Kombináld ezt egy lassú algoritmussal, mint az általam korábban linkelt új php függvények, és egész jó védelmet kapsz.
-
Lacces
őstag
válasz
Tele von Zsinór #12267 üzenetére
És ez mennyire "biztonságos", hogy az adatbázisban van a salt?
Bár nekem tetszik az ötlet, mert így minden egyes felhasználónak más-más salt-ot tudok generálni. -
Sk8erPeter
nagyúr
válasz
Speeedfire #12268 üzenetére
Azt hiszed, attól a kici kínai jómunkászemberek munkája meg fog szűnni, hogy átköltözteted másik oldalra?
-
Tele von Zsinór
őstag
válasz
Speeedfire #12268 üzenetére
Az 5.5-östől (ami jelentleg alpha2 állapotú). Addig ugyanazt a feladatot ellátja a linkelt lib, és amint megjelennek az adott függvények a php-ban, a kódod azt fogja már használni.
Azért kell neki 5.3.7, mert a korábbi verziókban volt egy olyan hiba a php bcrypt implementációjában, hogy amiatt a kimenet csak egy 3des hash volt, ami nagyon könnyen törhető. Ezt lett ebben javítva.
-
Speeedfire
félisten
válasz
Siriusb #12265 üzenetére
Ott kellett hagyni, jobb saját utakon járni szerintem.
Jaja, én is erre gondoltam, hogy "új oldal blablabla, ezen meg ezen a linken..."
Nem tudom.
vgyuri: Ennyire nem szeretném "túlbonyolítani" a dolgot.Nem tudom mennyivel jobb/biztonságosabb, de sok helyen olvasom, hogy elvileg így a legjobb.
Tele von Zsinór: A salt az adatbázisban van rögzítve regisztráláskor.
Hehe, valóban. Hogy erre miért nem gondoltam...Igen, saját fejlesztés az oldal yii alapokon.
Melyik verziótól lesz ez elérhető?
Megfontolom a dolgot, bár ahogy nézem a lib is 5.3.7-et igényel. -
Tele von Zsinór
őstag
válasz
Speeedfire #12264 üzenetére
A salt honnan jön? Ha a szokásos, felhasználónként adatbázisban tárolás módszerrel van megoldva, akkor egyszerűen üres stringre állítod a régi felhasználóknál, aztán majd amikor jelszót cserélnek, akkor kapnak saltot.
A hozzászólásodból nem teljesen egyértelmű, saját fejlesztés-e az új oldal. Ha igen, akkor még a bevezetés előtt érdemes volna javítani, és md5 helyett egy normális algoritmust használni. Az md5-tel (és a sha1-el) az a nagy gond, hogy üzenetek integritásellenőrzésére lettek kitalálva, ezért nagyon gyorsak - gyorsan törhetőek, bár ezen valamelyest segít a salt. A helyes megoldás például a bcrypt használata, ezt hamarosan beépítve is tudni fogja a php, addig is van azonban kompatibilitási lib, amivel azonnal használatba tudod venni.
-
válasz
Speeedfire #12264 üzenetére
Szerintem jobb ha mindenki készít magának újat, visszafejtés csak egyesével próbálgatva működne, ami sokáig eltarthat ha nagyon hosszú.
Vagy létrehozol mondjuk egy oldpass és newpass mezőt a táblában, és a régi bejelentkezést is meghagyod egy ideig. Leírva így készíteném el (nem php kód, csak a lépések):
tomb=Select oldpass, newpass, kulcs from login where felhasznaloinev = $_POST(felhasznaloinev) LIMIT 1;
if !empty(tomb[newpass]) && tomb[newpass]==md5('jelszo'.'saltkód') then { belepesok; }
if empty(tomb[newpass]) && tomb[oldpass]==md5('jelszo') then { tomb[newpass]=md5('jelszo'.'saltkód'); update login set newpass=tomb[newpass] where kulcs=tomb[kulcs] LIMIT 1; belepesok; }
Így a régi jelszóval belépve az új jelszó értéke is feltöltődne.
-----------
Ez a megoldás mennyivel jobb / biztonságosabb? "=hash("sha512", StrToLower(felhasznaloinev)."salt".md5(jelszo));" 128 karakteres a hash, a felhasználói név, salt, md5(jelszó) is bele van rakva.
-
Siriusb
veterán
válasz
Speeedfire #12264 üzenetére
Kellett neked a drupalt csak úgy otthagyni
Mondjuk az a legegyszerűbb, amit mondtál, csak ne felejtsd el értesíteni a felhasználókat
A google analytics scriptet nem a head legvégére jó rakni?
-
Speeedfire
félisten
Kisebb bajban vagyok. Szeretném a drupal oldalamat áthelyezni az új oldalra viszont ott a felhasználókat sima md5-tel mentette el a rendszer, most meg kicsit másabb (md5('jelszo'.'saltkód')) és nem tudom mitévő legyek.
Valakinek valami ötlete? Azon gondolkozok, hogy mindenkinek felvesz a rendszer egy random jelszót és a jelszó visszaállítás oldalon megváltoztatja, ha akarja. -
PiXeL90
tag
válasz
fordfairlane #12262 üzenetére
Rendben, köszi a segítséget.
-
PiXeL90
tag
válasz
fordfairlane #12260 üzenetére
Köszi a segítséget.
Ezt hova kell írni mert én ugyan így írtam a SELECT és a From közé de nem fért meg együtt a joinnal ha ez így benne volt. -
PiXeL90
tag
válasz
fordfairlane #12254 üzenetére
Igen, ezt értem és így is csináltam.
Akkor máshogy írom ha van két táblám mindkettőbe van "id" nevű mező akkor hogy tudom lekérdezni a két "id" mezőt ha már ezt a két táblát joinnal összekötöttem?
Előre is köszi a segítséget! -
Kommy
veterán
Sziasztok!
Van arra lehetőség php-ben, hogy figyeljünk vele egy e-mail fiókot, és ha új üzenet érkezik akkor csináljunk valamit?
-
PiXeL90
tag
Sziasztok!
Az lenne a kérdésem, hogy ha összefűzök két táblát (join-nal) és ha mind két táblában van ugyanolyan nevű oszlop akkor hogy tudom kiválasztani, hogy melyik oszlopot akarom beolvasni?
Segítségeteket előre is köszi! -
Speeedfire
félisten
válasz
Speeedfire #12251 üzenetére
Ok, megvan user error volt vagy hasonló. 2 db nbproject mappa volt, egy a netbeans alatt meg egy a projekt alatt.
-
Speeedfire
félisten
válasz
Sk8erPeter #12250 üzenetére
UTF8 BOM nélkül.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12249 üzenetére
És Notepad++ milyen karakterkódolást mutat a dokumentumra?
-
Speeedfire
félisten
Valami gáz van a netbeans-emmel, nem állítottam át semmit sem. De nem utf8-al jeleníti meg a karaktereket.
<h2>Válassza ki a feltöltendő fájlt !</h2>
Notepad++ jól jeleníti meg. Mit hol kell átállítani?
-
Sk8erPeter
nagyúr
válasz
Dave-11 #12247 üzenetére
Általában nem szoktam közvetlenül adatbázisban kotorászni, egy működő webalkalmazásnál nem is túl egészséges, csak NAGYON kényszermegoldás, végső esetben, egyébként elvileg tilos. Egyébként ha tudod, hogy mit csinálsz, és jól is csinálod, nem történik tragédia, de inkább írd meg úgy (vagy használd úgy) a webalkalmazásodat, hogy ne kelljen belekotorni közvetlenül az adatbázisba.
A tábla karakterkódolásánál én utf8_hungarian_ci-t szoktam asszem választani. -
Dave-11
tag
válasz
Sk8erPeter #12246 üzenetére
Rendben, így fogom csinálni.
Még csak annyit, hogy phpMyAdminból te szoktál adatot módosítani, és hogy a tábla karakterkódolásánál mindegy hogy melyik utf8 -at választom (utf8_bin, utf8_general_ci, stb.)? -
Sk8erPeter
nagyúr
válasz
Dave-11 #12245 üzenetére
A leírásodból nem épp az derül ki, hogy nem volt gond a karakterkódolással.
Ha választasz egy karakterkódolást, akkor MINDENHOL azt használd. Tehát mindenhol UTF-8-at használj, a fájljaid is UTF-8-kódolásúak legyenek, az adatbázis-kapcsolat is, header()-rel is küldj ki UTF-8-at, és a meta tagek közt is ezt a karakterkódolást add meg. -
Dave-11
tag
válasz
Sk8erPeter #12241 üzenetére
Nem mondtam hogy haszontalanok, arra értettem hogy kivettem őket a forráskódból és úgy is működött a dolog, tehát ebben az esetben nekem csak ezért nem volt rá szükségem.
De az előző kérdésemmel kapcsolatban nincs ötletetek? -
kkdesign
senior tag
válasz
Sk8erPeter #12240 üzenetére
Valamiért nem mentett megint a program, én meg feltettem úgy, de megcsináltam eddig is ezt, elsőre mikor mondtátok, ezért nem értettem. Most átnéztem újra, most jó lett és megvan a session-os hiba. Az adatbázist még mindig nem tudja kiválasztani... Ha 1 adatbázisom lehet, és az kkdesign néven belül vannak a táblák, akkor az úgy jó ahogy fentebb írtam, a $dbc close(); nélkül? mert azt már kitöröltem, tehát a connect.php-ben nem zárja le a kapcsolatot...
-
Sk8erPeter
nagyúr
válasz
Dave-11 #12239 üzenetére
"Megpróbáltam a dolgot ismét, és oda jutottam, hogy nem kellenek ezek az átalakítások meg kapcsolódáskor a SET NAMES dolog."
Miből jutottál erre a konklúzióra?
Ha nem vágod a dolgot, akkor szerintem ne kérdőjelezd meg a hasznosságát.
Biztos nem annyira nagy baromság, ha nagy CMS-ek is (mint pl. a Drupal), meg frameworkok is használják. -
Sk8erPeter
nagyúr
válasz
kkdesign #12238 üzenetére
Már írták korábban, de még mindig nem szedted ki a mysqli_close($dbc) sort.
Nem érdemes lezárni, mert mint látható, úgyis használni fogod az oldal betöltése során az adatbázis-kapcsolatot, és a betöltés végén úgyis záródni fog a kapcsolat magától. Vagy ha nagyon ragaszkodsz a kapcsolat lezárásához, akkor legalább az összes adatbázis-kapcsolódás UTÁN zárd csak le...a session_start()-ot pedig szintén írták már, hogy hova tedd, de úgy tűnik, nem igazán vetted figyelembe.
Csak szemléltetésként, van a kimenetedben ez a rész:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">mindenképpen még ennek a kiíratása előtt legyen a session_start(), csak egy példa:
<?php
session_start();
// ITT JÖN MINDENFÉLE EGYÉB KÓD!!!!!!!!!!!!
// ..............
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
.....mint látható, a legelején van a session indítása.
A lényeg, hogy először szedd ki a mysqli_close()-t, és mindenféle ilyen bezárási kísérletet, és majd csak utána próbálkozz.
Meg a session_start()-ot tedd a legeslegelejére, és ne akard újból meghívni a session_start()-ot, ha már egyszer megtetted. -
Dave-11
tag
válasz
Tele von Zsinór #12236 üzenetére
Megpróbáltam a dolgot ismét, és oda jutottam, hogy nem kellenek ezek az átalakítások meg kapcsolódáskor a SET NAMES dolog.
Végül is megvan amit akarok, csak kicsit érdekes. Két szituáció van:
1. Általam készített űrlapból megy fel az adat, a phpMyAdmin furcsa karaktereket jelenít meg a táblában, de a kilistázó php fájl jól ki tudja íratni
2. Ha a phpMyAdmin beszúrásával viszem be az adatot, akkor ott képes jól megjeleníteni a karaktereket, de a kilistázó php fájl már nem
Érdekes
Nálatok hogy megy az ilyen dolog, mikor teljesen új adatbázist csináltok hogyan állítjátok a karakterkódolást, illetve van hogy a phpMyAdmint használjátok adatok beszúrására? -
kkdesign
senior tag
Előzőhöz annyit, hogy most azt írja ki, hogy Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /connect.php on line 3
Nem sikerĂźlt kivĂĄlasztani az adatbĂĄzist! de pedig jól adtam meg ... átírtam a kódot mysqlire az i nélküliről...
<?php
$dbc = mysqli_connect("127.0.0.1", "kkdesign", "jelszó") or die("Nem sikerült kapcsolódni az adatbázishoz!");
mysqli_select_db("kkdesign",$dbc) or die("Nem sikerült kiválasztani az adatbázist!");
mysqli_close($dbc);
?>
ez lenne a hivatalos atw-s..:
<?php
$kapcsolat = mysql_connect("127.0.0.1", "kkdesign", "******");
if (!$kapcsolat) die("Nem sikerült kapcsolódni az adatbázishoz!");
mysql_select_db("kkdesign", $kapcsolat) or die("Nem sikerült kiválasztani az adatbázist!");
mysql_close($kapcsolat);
?>
az oldal amiről beszélek az pedig : [muszáj, hogy atws legyen...] -
kkdesign
senior tag
válasz
DeltaPower #12229 üzenetére
köszi, a hibák egy része megszűnt, de még mindig jelenvannak és a session-ös az oldal elején még mindig ott van, php.ini fájlal megszűnt a gond egy oszt társamnak, de itt az nem működik nálam :S ...Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, resource given in /login.php on line 75
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, resource given in /login.php on line 76
Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in /login.php on line 78
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /login.php on line 79
Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, null given in /login.php on line 81
Nem jó a jelszó!
Warning: mysqli_close() expects parameter 1 to be mysqli, resource given in /login.php on line 108
ezek még mindig itt vannak és hibát adnak, ezekkel mit kezdhetnék? ( az oldal elején ami van sessionos hiba az nem számít a jegybe hibának, de furdalja az oldalam, tehát az is érdekelne, hogy azt hogy küszöböljem ki.) -
Dave-11
tag
Most kaptam új gépet, 64 bites win7-et raktam rá, és egy WAMP Servert raktam rá, de van egy kis gondom.
Korábban már volt hasonló hiba, csak akkor AppServ-vel dolgoztam és sikerült megoldani, de most azzal a módszerrel se megy.
Az ékezetes karaktereket nem tudom megjeleníteni.
Van egy adatbázisom, abban egy tábla, és minden elemét ki akarom íratni. A kódolás alapból utf8_general_ci -n van, és még a .php fájlba is beleraktam ezt: header('Content-Type: text/html; charset=utf-8');
De mégsem akarja megjeleníteni. Segítenétek?
Köszi! -
DeltaPower
addikt
válasz
kkdesign #12227 üzenetére
Az ob_startot mindig a fáj legelejére kell tenni, a doctype-html-head elé. A legelső sorba írd a php nyitó taget, még üres sor vagy szóköz se lehet előtte:
<?php
ob_start();
session_start();
...
?>
<!DOCTYPE html>
<html>
<head>Az output az, ami a fájlból a php részek feldolgozása után megjelenik.
-
kkdesign
senior tag
válasz
modder #12226 üzenetére
Elnézést de nem tudom ennyire szaknyelven még, hogy így output meg úgy, sajnos nem értem teljesen amit mondasz
magyarul jó helyen van ez így, hogy a bodyból a phpben ez az első ? már nagyon bele vagyok keveredve az egészbe, localhoston működött wampserverrel, de élesben már nem...
-
-
modder
aktív tag
válasz
kkdesign #12223 üzenetére
az biztos hiba volt, amúgy a hibaüzenet elég beszédes, nem árt elolvasni
a session_start() azért írja ki azt, mert az kiküld egy PHPSESSID nevű cookie-t a böngészőnek amivel azonosíítja a felhasználót és a felhasználóhoz tartozó session-t. ha te bármit kiírsz a kimenetre még az előtt, hogy a meghívnád a session_start()-ot, akkor már nem adhatsz hozzá új header-t a php kéréshez, tehát "headers already sent".
megoldás:
session_start() legyen legeslegelső függvény amit meghívsz. (legalábbis bármilyen output előtt). figyelj oda, ha valami hibát generál, a warning vagy error üzenet is output lesz. -
kkdesign
senior tag
válasz
Sk8erPeter #12221 üzenetére
<?php
$kapcsolat = mysql_connect("127.0.0.1", "kkdesign", "*********",'kkdesign');
if (!$kapcsolat) die("Nem sikerült kapcsolódni az adatbázishoz!");
mysql_select_db("kkdesign", $kapcsolat) or die("Nem sikerült kiválasztani az adatbázist!");
mysql_close($kapcsolat);
?> ez a kapcsolat,
a sorokban pedig ez van:
if(isset($_POST["felvisz"]) && !empty($_POST["fnev"]) && !empty($_POST["pwd1"]))
{
require_once('connect.php');
17 $felh= mysqli_real_escape_string($dbc, trim($_POST["fnev"]));
$pwd1= mysqli_real_escape_string($dbc, trim($_POST["pwd1"]));
$pwd2= mysqli_real_escape_string($dbc, trim($_POST["pwd2"]));
$vnev= mysqli_real_escape_string($dbc, trim($_POST["vnev"]));
$knev= mysqli_real_escape_string($dbc, trim($_POST["knev"]));
$cim= mysqli_real_escape_string($dbc, trim($_POST["cim"]));
$nem= mysqli_real_escape_string($dbc, trim($_POST["nem"]));
$ev= mysqli_real_escape_string($dbc, trim($_POST["ev"]));
$honap= mysqli_real_escape_string($dbc, trim($_POST["honap"]));
26 $nap=mysqli_real_escape_string($dbc, trim($_POST["nap"])); -
kkdesign
senior tag
Üdv, fontos kérdésem lenne, beadandó feladatomnak hamarosan lejár a határideje, ezért sürgősen kellene megoldás, és segítség
Adott egy oldal :[link]
alapból kiír 2 hibát a sessionre, és nem tudom, hogy mit jelent, vagy hogy kell eltüntetni, működne ezekkel a hibákkal. De, van még 1 gond, ha regisztrálnék, kidob egy oldalnyi hibát.. ezeket szeretném mihamarabb megoldani, ebben kellene a segítségetek
az oldalnyi hiba:
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 17
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 18
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 19
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 20
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 21
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 22
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 23
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 24
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 25
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /regisztral.php on line 26
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /regisztral.php on line 29
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /regisztral.php on line 30
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /regisztral.php on line 65
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /regisztral.php on line 67
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /regisztral.php on line 68
[/OFF]
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /regisztral.php on line 71
Warning: Cannot modify header information - headers already sent by (output started at /regisztral.php:10) in /regisztral.php on line 73
Warning: mysqli_close() expects parameter 1 to be mysqli, null given in /regisztral.php on line 80 -
Peter Kiss
őstag
válasz
lezso6 #12215 üzenetére
Nekem már sikerült ilyenbe belefutnom, nem volt őszinte a mosolyom. Ami igazából fontos a példából, hogy ne használjunk referenciákat, de nem csak azért, mert ilyen eredmények születhetnek, hanem Do-not-use-PHP-references.
-
válasz
Sk8erPeter #12214 üzenetére
$a = array(1, 2, 3, 4);
foreach($a as &$i) echo $i *= 2;
foreach($a as $i) echo $i;A két ciklus "kibontva" valahogy így nézne ki:
/*
* Első foreach
* Itt az 1, 2, 3, 4 tömbből a ref. foreach miatt 2, 4, 6, 8 lesz
*/
&$i = $a[0]; echo $i *= 2;
&$i = $a[1]; echo $i *= 2;
&$i = $a[2]; echo $i *= 2;
&$i = $a[3]; echo $i *= 2;
/*
* Itt $i változó a tömbünk utolsó eleme a referencia miatt
* Tehát ha $i értéke módosul, módosul a tömb utolsó eleme is
* A második foreach kavarodást okoz, mert megint $i-t használjuk:
*/
// A tömb utolsó eleme az első elem is lett egyben (!)
// Azaz a tömb értékei: 2, 4, 6, 2
$i = $a[0]; echo $i;
// Itt az utolsó elem a másodikkal osztozik: 2, 4, 6, 4
$i = $a[1]; echo $i;
// Harmadikkal: 2, 4, 6, 6
$i = $a[2]; echo $i;
// Végül saját magával, de ő a harmadikra mutat, így...
// ...marad ahogy volt: 2, 4, 6, 6
$i = $a[3]; echo $i;Tanulság:
Ha referenciás foreach-et használsz, a fura meglepetések és az akár több órás debuggolás elkerülése érdekében MINDEN ESETBEN töröld a referenciát az utolsó elemre a foreach után az unset() függvénnyel, ami az esetünkben $i, tehát:
// Így már jó lesz
$a = array(1, 2, 3, 4);
foreach($a as &$i) echo $i *= 2;
unset($i);
foreach($a as $i) echo $i; -
Na, helyes megfejtő, illetve magyarázat?
Nem olyan szörnyű, csak elsőre kicsit meglepő.
-
Sk8erPeter
nagyúr
válasz
lezso6 #12206 üzenetére
12342468
nem ez? tegnap, 11-e délelőtt 10 óra óta nem aludtam egy percet sem, szóval lehet, hogy hülyeség
De a referencia miatt ez ugrana be elsőre. Nem futtattam le, ahhoz már nincs energiám, inkább eltakarodok lassan aludni.
szerk.: na jó, nem bírtam a véremmel, lefuttattam, mert rájöttem, hogy ahhoz nem kell sok energia.
Majd kommentálom, ha páran még megnézték. -
Szerintetek első ránézésre mit ír ki az alábbi kódrészlet?
$a = array(1, 2, 3, 4);
foreach($a as &$i) echo $i *= 2;
foreach($a as $i) echo $i;Lefuttatni nem ér.
-
Speeedfire
félisten
válasz
Sk8erPeter #12203 üzenetére
A szándék a fontos.
Új hozzászólás Aktív témák
Hirdetés
- BestBuy topik
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Yettel topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Fejhallgató erősítő és DAC topik
- Házimozi belépő szinten
- Kertészet, mezőgazdaság topik
- Kerékpárosok, bringások ide!
- EA Sports WRC '23
- Bittorrent topik
- További aktív témák...
- Acer Nitro V ANV15 - 15.6"FHD IPS 144Hz - i5-13420H - 16GB - 512GB - Win11 - RTX 3050 - 2,5 év gari
- GIGABYTE GeForce RTX 4060 EAGLE OC 8G (GV-N4060EAGLE OC-8GD
- TP-Link Archer AX73 AX5400 Router
- ÚJ TP-Link Archer AX55 AX3000 Router
- Intel Core i5-14600K 14-Core 3.4GHz LGA1700 Box (BX8071514600K) Processzor
- Bomba ár! Lenovo ThinkPad T480s - i7-8GEN I 16GB I 256GB I 14" WQHD I HDMI I Cam I W11 I Gari!
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- BESZÁMÍTÁS! MSI B550M R7 5800X 32GB DDR4 512GB SSD RX Nitro+ 6700XT 12GB Corsair 4000D ASUS ROG 650W
- Telefon felvásárlás!! Samsung Galaxy S23/Samsung Galaxy S23+/Samsung Galaxy S23 Ultra
- Apple iPhone 14 Pro Max / 256 GB / 88% akkumulátor / 1év Garanciával / Gyári Független
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest