- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- Tomasz72: Ventilátor upgrade
- sziku69: Szólánc.
- MasterDeeJay: H110-es lapban 10.gen Comet Lake működhet?
- eBay-es kütyük kis pénzért
- Parci: Milyen mosógépet vegyek?
- Mr. Y: Motoros sztorik #06
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
tgabi333 #4799 üzenetére
Van fordítás: a php először egy bytecodet generál a scriptedből, és azt futtatja utána. Az, hogy nem kézzel kell fordítanod, hanem automatikusan történik a háttérben, más kérdés. Egyes cachelési megoldások, mint az APC, részben arra alapulnak, hogy a bytecodet cachelik, így a fordítást megúszod a következő kéréskor. Sok időt lehet vele nyerni, nem véletlen ajánlja a framewokök többsége, hogy tedd fel és engedélyezd éles szerveren.
Most megnéztem biztosra: php.net szerint valóban nincs különbség abból a szempontból, hogy mikor húzza be az includeolt/requireolt filet, de az include csak E_WARNING-ot, míg a require E_ERROR-t dob hiba esetén, így az utóbbinál ott meg is akad a futtatás.
Utasítás alatt azt érted, hogy nem függvényhívás, hanem nyelvi elem? -
tgabi333
aktív tag
válasz
Tele von Zsinór #4792 üzenetére
Hagy javítsalak ki:
hogy a fordítás elején berakja az
Ugye ez futtatás szeretett volna lenni, olyan mint klasszikus fordítás a php-ben nincs, interpretált nyelv, de ne vesszünk el a részletekben.
A require és az include között a fontos különbség, hogy a require a fordítás elején húzza be (ezért az error), az include csak akkor, amikor odaér a futtatás (ezért csak warningot dob),
Ez nem igaz, mindkét hívás, az include és a require is nyelvi szempontból nem több mint egy utasítás. Akkor történik a paraméterben adott fájl feldolgozása amikor az interpreter odaér. Nincs olyan, hogy fordítási idő meg futtatási idő. Valamit keversz.
A Require és az Include között pedig az a különbség, hogy ha nem tudja feldolgozni a megadott fájlt akkor hibát vagy figyelmezetést vált-e ki.
-
Speeedfire
félisten
válasz
Sk8erPeter #4797 üzenetére
már majdnem megvan az oldal amit a hét elején megálmodtam
"könnyebb" volt mint gondoltam hála a ph-nak
márcsak admin felület kell és lapozhatóság minden oldalravalóban minden oldalról kivettem a csatlakozást és a session_start()-ot és már sehol sem dob notice-t, sőt mostmár a captcha kód is jó
igazából ha mindent funkciókkal oldottam volna meg akkor elég lett volna egy oldal is ahol minden fent van
-
Sk8erPeter
nagyúr
válasz
Speeedfire #4796 üzenetére
Kicsi projektnél is van értelme az átláthatóság növelésének.
A notice szerint már van valahol egy session_start(); hívás. Ha require_once-szal az általad mutatott kódot mindenhol include-olod, ahol szükség van session elindítására és MySQL-csatlakozásra, akkor az összes többi session_start();-ot és MySQL-csatlakozást kiveheted! Akkor már nem fogja dobni a notice-t.
-
Speeedfire
félisten
válasz
Tele von Zsinór #4795 üzenetére
igazad van, de ez olyan kicsi project, hogy nincs értelme szerintem, de lehet ha mindent megoldottam és úgy érzem jó már az oldal akkor "tömörítem" a kódokat
beraktam az egyik fájlba próba képen a require_one függvény és dobja a notice-t
Notice: A session had already been started - ignoring session_start() in C:\wamp\www\design\config.php on line 2
<?php
//elindítjuk a session
session_start();
//adatbázis csatlakozásához az adatok
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "link";
//csatlakozás az adatbázishoz
mysql_connect($dbhost,$dbuser,$dbpass);
$con = mysql_connect($dbhost,$dbuser,$dbpass);
//kiválasztjuk a táblát
mysql_select_db($dbname);
$sel = mysql_select_db($dbname);
//ha nem tudunk csatlakozni akkor dobunk egy hiba üzit
if (!$con) {
die('Could not connect: ' . mysql_error());
}
?>és ez van abban a fájlban amiben meghívom:
require_once 'config.php' ;
-
Tele von Zsinór
őstag
válasz
Speeedfire #4794 üzenetére
Ha megnézed a rákövetkező hozzászólásom, látod, hogy plusz három sor az egész. Ez nem bonyolítás, és megfelel a DRY (don't repeat yourself) paradigmának is.
-
Speeedfire
félisten
válasz
Tele von Zsinór #4792 üzenetére
nah igen, ilyen érdekelt, ahogy ami megézni h elindult-e már a session_start(); vagy sem
jól van akkor ezt majd mindenféleképpen megcsinálomennyire nem akarom bonyolítani, inkább csinálok neki egy új lapot, elfér és szerencsére nem több 100 soros még így sem a file, szóval nem para
kicsit nehezen jöttem rá erre a get megoldásra, holott annyira kézenfekvő a használata -
Tele von Zsinór
őstag
válasz
Speeedfire #4791 üzenetére
Előbbi file 17-es sorában átadod a kategória id-jét, eddig jó. Most a másodikba kell belerakni, hogy szűrjön is rá:
$sql = "SELECT `kategoria`.`kat`, `tartalom`.`szoveg`, `tartalom`.`datum`, `tartalom`.`url`, `tartalom`.`webcim`, `users`.`nick`
FROM kategoria, tartalom, users
WHERE ((kategoria.sorszam = tartalom.katid) AND (users.id = tartalom.fid) and (tartalom.elfogadva='1') AND kategoria.sorszam='". mysql_real_escape_string($_GET['sorszam'])."') ";
if (isset($_GET["get"])) {
$sql .= "AND tartalom.katid = \"" . mysql_real_escape_string($_GET["get"]) . "\"";
}
$sql .= " ORDER BY `tartalom`.`sorszam` ASC"; -
Tele von Zsinór
őstag
válasz
Speeedfire #4790 üzenetére
A require_once() annyit csinál, hogy a fordítás elején berakja az includeolt filet a hívás helyére, és error szintű hibát generál, ha nem tudja olvasni. Mindemellett megnézi, az a file volt-e már require/include hívás áldozata, és ha igen, akkor kihagyja.
A require és az include között a fontos különbség, hogy a require a fordítás elején húzza be (ezért az error), az include csak akkor, amikor odaér a futtatás (ezért csak warningot dob), utóbbit ezért szokták feltételekbe is rakni, mert csak akkor hajtódik végre, ha muszáj.Ha jól értem, egy egyszerű szűrés kell neked. Nem feltétlen kell új file, ha van olyan oldalad, ahol ezeket már listázod valahogy, abba kell belenyúlnod a következőképp: ahol az adatbázisnak átadott queryt állítod össze, tegyél be egy ellenőrzés: ha a $_GET tömbben van mondjuk egy filter kulcsú elem, akkor annak az értékét berakod a query where záradékába. Mivel a listázásig már csak a szűrt elemek jutnak el, ennyivel megúszod a dolgot.
-
Speeedfire
félisten
válasz
Speeedfire #4790 üzenetére
-
Speeedfire
félisten
válasz
Tele von Zsinór #4788 üzenetére
a csatlakozás adatai mint pl adatbázis neve, server címe stb
egy config fájlban van benne (ami includolva van), de csak ennyit tartalmaz, az adatbázis csatlakozást azt a fájlban végzem elennek a require_once-nak meg utána nézek, hogy is működik pontosan
Sk8erPeter: fentebb írtam, hogy hol a hiba és mire panaszkodikmásik kérdés: van egy oldal amibe egy adatbázis táblájából kinyerem az adatokat, konkrétan egy adatot ami egy kategoria név, ebből több is van
azt szeretném megoldani (ezt már korábban kérdeztem, csak még mindig nem tiszta), hogy ha a listázott kategoria nevére kattintok akkor azokat az adatokat listázza a tartalom táblából ahol a kategoria nevek megegyeznek a listázott névvel
nem tudom mennyire voltam érthető
valahogy nem tudok rájönni, ha jól sejtem akkor gettel kellene megadni h melyik kategoriáról van szó és egy különálló php fájlt kellene csinálni ahol megcsinálni az adatbázis lekérdezést a gettel átadott paraméterrel -
Sk8erPeter
nagyúr
válasz
Speeedfire #4787 üzenetére
Csináld úgy, ahogy Tele von Zsinór mondja, de azért azt is mondhattad volna, hol vannak notice-ok, és mi az üzenet tartalma, mert szerintem kizárt, hogy valaki elejétől végéig átböngészi a kódot, hibákat keresve.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4784 üzenetére
Csináld úgy, hogy van egy fileod, ami elintézi a kezdeti dolgokat: db kapcsolat, session_start, ilyenek, és require_once-al húzod be. Ekkor biztosan csak egyszer fogsz például sessiont indítani.
"Minden oldal külön fileban" - ez így van nálam is, mondjuk még jobban is szét vannak darabolva. Azonban a wwwrootban egyetlen file van, az úgynevezett front controller, ez dobja szét a megfelelő, kívülről nem látható phpnak a kérést. Innentől nem kell bohóckodni olyanokkal sem, mint ellenőrizni, a db osztályod közvetlen van-e hívva, vagy include()-al.
-
Speeedfire
félisten
válasz
Sk8erPeter #4786 üzenetére
azt értem én is hogy a kód elején, csak azt nem hogy hol érdemes berakni
az oldal tartalmai inculodva vannak, attól függően, hogy mit szeretnék megleseni
az index.php-ban van most a session_start(), de pl ha csak egy külön oldalt akarom megnyitni akkor ott már nem lesz benneés ez a sok notice dobálás is kiakaszt már
-
Sk8erPeter
nagyúr
válasz
Speeedfire #4784 üzenetére
tudsz mutatni komplett kódrészletet? nem nagyon olvastam vissza, de kicsit egyszerűbb lenne látni, miről van szó.
a session_start()-ot a kódod legelején add ki.echo "session_start();"
ennek semmi értelme, ez jól kiírja, hogy session_start();, és annyi. -
egyjotakaro2
tag
válasz
egyjotakaro2 #4781 üzenetére
Ok, találtam egy másik lenyílóst
Egy Láma kérdés.<form name="jump">
<select name="menu" onChange="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="GO">
<option value="proba.php">Proba</option>
</select>
</form>Adott egy ilyen GO-s szóval nem kell kattintani, hogy mehet... hanem kiválasszuk és behozza azt amit kiválasztottuk. Na most, ebben nem lehet megoldani azt, hogy ha kiválasszuk amit szeretnénk, és be inlcude-zná vagy valami hasonlóval azt a php-t amit kiválasztottunk, szóval alatta kimutassa azt a php-tartalmát amit kiválasztottunk. Ezt meg lehet oldani?
A proba.php-ban ez szerepel:<form name="vmi">
<select name="kepek" onchange="if (this.value!='-') document.all.preview.src=this.value">
<option value="-">--Válassz egy Elfogyit--</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo1.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo2.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo3.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo4.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo5.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo6.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo7.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo8.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo9.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo10.jpg">Kép</option>
<option value="http://www.maffiozo.hu/images/inventory/fogyo/fogyo11.jpg">Kép</option>
</select>
</form>
<img src="" name="preview"> Előre is köszönöm a válaszokat -
Speeedfire
félisten
válasz
Tele von Zsinór #4782 üzenetére
az érdekes az hogy a formba rakja bele a captcha.php a képet és abban benne van a $_SESSION['captcha']
szóval nem értemamúgy a session_start();-al kapcsolatban, hol érdemes bele rakni az oldalra mert ugye ha már elindult akkor dobja a notice-t, viszont a legtöbb oldal nekem küldön php-ban van (biztonsági kérdés ?!)
vagy van valami amivel meglehet ezt oldani?pl:
if (empty(session_start()))=0 {
echo "session_start();"nem tudom mi lenne a jó megoldás
-
Tele von Zsinór
őstag
válasz
Speeedfire #4778 üzenetére
Ez mi akart lenni, em vagy px?
-
Tele von Zsinór
őstag
válasz
Speeedfire #4780 üzenetére
Azt mondja a php, hogy a $_SESSION tömbben nincs captcha indexű elem. Nézd át mégegyszer a kódot, ami berakná, illetve nézd meg var_dump()-al.
-
Speeedfire
félisten
válasz
PazsitZ #4777 üzenetére
így sem jó sajnos erre is dobja a notice-t
ott panaszkodik amikor megvizsgáljuk, hogy a kisbetűssé alakított beírt kód megegyezik-e azzal, amit a captcha.php állított elő neki :
if (strtolower($_POST["captcha_code"]) !== $_SESSION["captcha"])és erre írja h a session nincs indexelve
meg igazából mindenre azt írja, hogy hibás kód
-
PazsitZ
addikt
válasz
egyjotakaro2 #4776 üzenetére
Nem a html tartalom dönti el merre nyílik, hanem a böngésző motor.
Ha a böngésző tetején van a select akkor le fog nyílni, ha az alsó részén , akkor felfele, ennyi... -
Speeedfire
félisten
válasz
egyjotakaro2 #4776 üzenetére
és ha a selecthez kicsit nagyobb magasságot írsz be?
#
select {
height: 3ex;
} -
PazsitZ
addikt
válasz
Speeedfire #4775 üzenetére
elseif (empty($_SESSION['captcha'])) {
if (strtolower($_POST["captcha_code"]) !== $_SESSION["captcha"]) {
echo "Hibás biztonsági kód!";
}
}Ez kicsit fura nekem. akkor vizsgálsz ha nincs captcha session azután az összehasonlítás egyértelműen hamis, mivel típus szerint hasonlítasz.
Feltételezem a session-ben minden esetben van captcha:
if (isset($_POST["captcha_code"])){
if (strtolower($_POST["captcha_code"]) !== $_SESSION["captcha"]) {
echo "Hibás biztonsági kód!";
}
}
else echo "Nincs megadott kód!";
} -
Speeedfire
félisten
hát ez kicsit bonyolult nekem így elsőre, jobban bele kell még merülnöm a mysql-be
viszont lenne egy másik gondom
elseif (empty($_SESSION['captcha'])) {
if (strtolower($_POST["captcha_code"]) !== $_SESSION["captcha"]) {
echo "Hibás biztonsági kód!";
}
}egyfolytában dobja a notice-okat, h nem definiált index a captca
kiírja, hogy hibás de felette azt is h :Notice: Undefined index: captcha in C:\wamp\www\design\bekuld-kat.php on line 43
Hibás biztonsági kód! -
ArchElf
addikt
válasz
egyjotakaro2 #4773 üzenetére
Szerintem nem fért el lefelé a menü és így felfelé rakta. Szerintem a böngésző motorja csinálja. Talán más majd rámcáfol.
AE
-
PazsitZ
addikt
válasz
Speeedfire #4770 üzenetére
Az általad írt kód is működött volna egy flush() paranccsal.
-
L3zl13
nagyúr
válasz
Speeedfire #4768 üzenetére
"más: az egyik oldalon kicsit komlikáltabb ellenőrzés és adat felvitel lesz
viszont az lenne a kérdésem, hogy azt hogy tudom megoldani (a kevesebb mysql adat miatt), hogy beküldésnél ne pl ne azt írja a táblába hogy kocsi, hanem a kocsinak az "id-jét" és a lekérdezésnél már azt írja ki h kocsi?"Ha itt most a kategóriára gondolsz, akkor:
Gondolom a kategoria táblában van egy id oszlop meg egy kat oszlop. Előbbi egy numerikus azonosító, utóbbi meg a szöveges.
A select feltöltésekor az option-ök 'value'-ja legyen az adott recordhoz tartozó 'id' (ne a $kategoriaba beírt 'kat'), de az option szövege maradjon továbbra is az ami most.A form elküldéskor így az id-t fogja elpostolni, tehát a $_POST['kategoria'] értéke a katid lesz.
Utánna, insertkor logikus módon ezt az id-t tárolod el.
-
válasz
Speeedfire #4768 üzenetére
Ja az a header rossz helyen van, bármiféle kimenet csak utána lehet, előtte nem. Na meg szerintem nem sleep()-pel kéne várakoztatni.
Két választásod van:
1. html meta tagokkal babrálsz (ezt ugyebár a <head>be kell írni)
<meta http-equiv="refresh" content="5;url=index.php" />
2. ugyanúgy headert használsz (még a kimenetek ELŐTT):
header( "refresh:5;url=index.php");
Mindkettőnek ugyanaz az eredménye: 5 másodperc után átirányít a megadott oldalra.
-
Speeedfire
félisten
erre gondolsz szerintem:
echo "Sikeres beküldés!";
echo "Tovább ...";
sleep(5);
header("Location:index.php");
mysql_close($con);azt szeretném megoldani, ha sikeres volt a beküldés akkor kiírja, hogy ok minden és továbbküldünk
hogy lehetne ezt helyesen megoldani?
lezso6: egyelőre ez a biztonságtechnika kérdés fel sem merült bennem,sql injection stb
hát majd valahogy/valamikor az is meglesz csinálvamás: az egyik oldalon kicsit komlikáltabb ellenőrzés és adat felvitel lesz
viszont az lenne a kérdésem, hogy azt hogy tudom megoldani (a kevesebb mysql adat miatt), hogy beküldésnél ne pl ne azt írja a táblába hogy kocsi, hanem a kocsinak az "id-jét" és a lekérdezésnél már azt írja ki h kocsi?
[link]tudom kicsit sok lehet már belőlem
-
válasz
Speeedfire #4765 üzenetére
Nem olvastam vissza, de remélem szűröd a POST-ban az aposztrófokat (vagy bekapcsolva van a magic_quotes), mert elég csúnyán hekkelhető így a kódod.
-
L3zl13
nagyúr
válasz
Speeedfire #4765 üzenetére
Ezen kívül feltünt, hogy a kód végén lévő hibakezelésben a header() előtt kiiratsz valamit az oldalra az echoval. Header előtt nem lehet semmilyen kimenet, különben hibát dob.
-
L3zl13
nagyúr
válasz
Speeedfire #4763 üzenetére
Ez mi akar lenni?
"SELECT kat FROM kategoria WHERE kat"Hol a feltétel másik fele?
-
Speeedfire
félisten
válasz
Speeedfire #4762 üzenetére
jól működik minden
viszont elakadtam megint egy kicsit
egy ellenőrzést akarok csinálni, azt egyik feltétele már jó, a másodikat viszont figyelmen kívül hagyja
a lényege annyi lenne, hogy ha valaki be akar küldeni egy szöveget akkor előbb megnézi, hogy üres-e a textbox, ha igen akkor visszadob egy hibát, hogy töltsd ki
ha ok akkor megnézi, hogy szerepel-e már az adatbázisban, ha igen akkor kiírja hogy ez már benne van -
Speeedfire
félisten
válasz
Sk8erPeter #4761 üzenetére
h esne le a vesém
erre eddig nem is gondoltam, mindent úgy szerkesztettem, hogy notepad ++, nyelv php, de h még azt is figyeljem, hogy milyen kódolású a lap
Sk8erPeter: köszi, én is ezt használom, megcsinálom aztán megírom a fejleményeket -
Sk8erPeter
nagyúr
válasz
Speeedfire #4757 üzenetére
Eddig azt hittem, az már megvolt, hogy maga a fájlod UTF-8 kódolású...
Ha az nincs meg, akkor tök feleslegesen erőlködsz, össze-vissza kódolásokkal mindenképp szar lesz a karakterkódolás.
Ragaszkodj egyféle karakterkódoláshoz következetesen, különben szívni fogsz vele (mint látható).
Notepad++ » Kódolás » "Átalakítás UTF-8 kódolásra BOM nélkül" menüpontra klikkelj az összes olyan fájlnál, ami nem UTF-8 kódolású (ld. DeltaPower hsz.-ét). (Itt fontos, hogy az "Átalakítás..." kezdetűre menj, különben megint csak rossz lesz.)
-
DeltaPower
addikt
válasz
Speeedfire #4759 üzenetére
bekuld-kat.php
kezdolap.php
login.php
reg_check.php
register.php
tartalom.php
vedett.phpezek nem utf8 kódolásúak. attól hogy headerben kiküldöd az utf8-at, maga a fájl még iso(ansi) marad, iso karakterekkel.
-
Speeedfire
félisten
válasz
Tele von Zsinór #4758 üzenetére
a forrás fájlok itt vannak
mindenhol megvan adva h utf-8 -
Tele von Zsinór
őstag
válasz
Speeedfire #4757 üzenetére
Nézd meg mégegyszer: biztosan utf8 kódolási a fileod? Biztosan utf8-ként próbálja megjeleníteni a böngésző?
-
Speeedfire
félisten
válasz
PazsitZ #4755 üzenetére
a probléma most nézegetem nem csak mysql alatt jön elő, de akkor is ha egy külső fájlt includolok az oldalamra, a fejlécben pedig benne van h én igen is UTF-8 kódolással szeretném
van valami külön php beállítás vagy dobjam a lomtárba a wampservert és inkább futtassak egy virtuális gépet amin linux van?Köszi a javító kódot!
Sk8erPeter: köszi, de úgy néz ki nálam már akkor is van karakter hiba ha nincs adabtbázis -
Sk8erPeter
nagyúr
válasz
Speeedfire #4751 üzenetére
Azért a fájljaidba a <!DOCTYPE...> elé (!) beszúrhatnád a köv. sort:
<?php
header('Content-Type: text/html; charset=utf-8');
?>Lehetőleg a MySQL-csatlakozást is még előtte intézd el, és a
mysql_query('SET NAMES utf8');
sort is illene az elé pakolni.Ha fv.-be és külön fájlba pakolod a MySQL-csatlakozást, akkor ilyesmi lehetne pl. végeredményként:
<?php
header('Content-Type: text/html; charset=utf-8');
require_once('functions.php');
//MySQL-csatlakozás:
csatlakozas();
mysql_query('SET NAMES utf8');
//...
?>
<!DOCTYPE .....> -
PazsitZ
addikt
válasz
Speeedfire #4751 üzenetére
Nálam különösebben sosem volt gond a mysql kódolással. A leírt 2 sor alkalmazása után. Nem tudom nálad mi lehet a gubanc. Bizos, hogy adat bevitelekor is UTF-8 kódolást használ az oldalad?
(Nem biztos, de elképzelhető, hogy a selectDB után kellene elhelyezned az UTF8 DB beállításokat.)Nem, én is ilyen sorrendben használom.Karakterengedélyezést már regisztrációnál kell akkor elvégezni.
Egyébként a ez a regexp pont megengedi az ékezetest is, mivel a listában felsorolod őket.
[a-zA-Z\-\_áéíóöüóűÁÉÍÓÖÜŐŰ]
Igy már nem engedi: [a-zA-Z\-\_]összetettebb rendszerre gondoltam először is, amin vannak ellenőrzések Meg kell írni, ki kell bővíteni, olyanra, amire igényed van...
(#4750) zka67 Az az optimális ha fejlesztés közben be van kapcsolva és nem dobál
-
Tele von Zsinór
őstag
Fejlesztői gépen ajánlott az E_ALL és az E_STRICT együtt, sokat segítenek. Úgy igazán szép a kód, ha így sem warningol.
A noticeok általában elgépelt változót jelentenek, elkerülni egyszerű: isset() a valódi feltétel előtt, a php úgyis lusta kiértékelést használ. Az utóbbi főleg a deprecated hívásokat segít felderíteni. -
Speeedfire
félisten
valaki tudna nekem ajánlani egy oldalt ahol a paraméteres linkelésről van cikk?
kicsit nehézkes a könyvtárakkal való játszadozás
mert most úgy néz ki, hogy mindegyik könyvtárban benne van ugyan az a html forrás és a body-ban meg az oldalakra jellemző lekérdezések, jobb szeretném ha az összes lekérdezés ugyan azon az oldalon nyílna meg
ezt hogy lehet megvalósítani? -
Speeedfire
félisten
tényleg ennyire bonyolult lenne a mysql kódolás kiküszöbölése? vagy csak localhoston ennyi problémás, pl a drupalban sincs ilyen
amit írtál a session-ra nem volt jó, mert mindig belépve maradtam, kicsit olvasgattam és kiderült azért mert nincs kezdeti értéke,helyen most így néz ki:
if (!isset($_SESSION['belepett']) or ($_SESSION['belepett']!== true))
PazsitZ: kicsit összetettebb rendszerre gondoltam először is, amin vannak ellenőrzések
igaz itt is még a php4-re volt írva és pl az ereg már nincs benne az 5-ben, ezt ki is cseréltem preg_match-re, viszont ez sem 100-as még.
elvileg a nick ellenőzrésben nem szabadna engednie az ékezetes karaktereket mégis megengedi.elseif(!preg_match("/^[a-zA-Z\-\_áéíóöüóűÁÉÍÓÖÜŐŰ]/", $adatok['nick' ]))
{
return "A nickben csak a magyar ábécé kis - és nagybetűi, a számok, illetve a _ és - jelek engedélyezettek";
break;
}
elseif($adatok['email'] == (!preg_match("/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}/",$adatok['email'])))
{
return "Hibás e - mail cím!";
break;
}de szerintem itt csak egy sima kódolási gondom van
-
zka67
őstag
válasz
Speeedfire #4745 üzenetére
A működés szempontjából ugyan most nincs jelentősége, de ha már xhtml-t használsz, akkor figyelj a következőkre:
a parancsokat kisbetűvel írják, pl. <div> ... </div>
azokat a parancsoknak, amiknek nincs lezáró parancsuk, azokat is le kell zárni. pl:<hr /> <br />
<link rel="stylesheet" href="style.css" type="text/css" media="screen" /> -
zka67
őstag
válasz
Speeedfire #4745 üzenetére
Használd inkább ezt:
if (! $_SESSION['belepett']) { ... }
-
zka67
őstag
válasz
Speeedfire #4744 üzenetére
A karakter kódolást így tudod megoldani:
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
$cp="latin2";
mysql_query("SET NAMES '".$cp."'",$db);
mysql_query("SET character_set_client=".$cp,$db);
mysql_query("SET character_set_connection=".$cp,$db);
mysql_query("SET character_set_database=".$cp,$db);
mysql_query("SET character_set_results=".$cp,$db);
mysql_query("SET character_set_server=".$cp,$db);A $cp -be azt írd be, ami kell. Az oldaladon se felejtsd ki a
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2;" /> persze a helyes charset-tel. Az adatbázisban az illesztések is megfelelőek legyenek és akkor helyesen fog megjelenni az oldalad. -
Speeedfire
félisten
úgy érzem párszor megfogok itt mostanában még fordulni
találtam egy kész beléptető rendszer viszont már a session-őknél elbukott nálam
[link]akárhogy is nézem a php kódokat nem tudok rájönni
a hibát ítt jelzi a login.php-ben:if ($_SESSION['belepett']!== true)
azt írja h nem definiált index
-
Speeedfire
félisten
válasz
PazsitZ #4740 üzenetére
Sajnos a karakter kódolás még mindig gondot okoz, nem tudok rájönni miért
az adatbázisba rosszul kerül be az ű,ő helyettük csak kérdőjel van a többi karakter szépen mutatazt megtudod mondani, hogy hogyan lehet megoldtani azt hogy ha megcsináltam a linkesítést és a hozzá tartozó adatbázis lekérdezést akkor ne kelljen neki egy új php lapot készíteni hanem úgyan úgy a főoldalon jelenítse meg
eddig kb egy üzenőfalra hasonlít az oldal -
zka67
őstag
válasz
Speeedfire #4741 üzenetére
Egy tipp, hogy ne kelljen kétszer leírnod ugyanazt:
while($row = mysql_fetch_assoc($result)) {
$cat = $row['kategoria'];
echo '<option ' .
(($cat=='Top') ? 'selected="selected" ' : '') .
'value="' . $cat . '">' .
$cat . '</option>';
} -
Speeedfire
félisten
válasz
PazsitZ #4740 üzenetére
köszi a segítségeket
igazad van, nem is figyeltem h a select még nem 100-as
dolgozok rajtawhile($row = mysql_fetch_array($result))
{
if ($row['kategoria']='Top'){
echo '<option selected="selected" ' . $row['kategoria'] . ">";
echo $row['kategoria'] . '</option>';
}
else
{
echo '<option' . $row['kategoria'] . ">";
echo $row['kategoria'] . '</option>';
}
}de még most sem 100-as, majd csak rájövök
-
PazsitZ
addikt
válasz
Speeedfire #4739 üzenetére
Ahogy elnézem a te kódod még nem igazán jó, mivel 1. minden elem selected lesz, 2. nincs value az option tageknél, 3. csak az utolsó option taget zárod be a többi nyitva marad
Külön kategória lekérdezést/listázást WHERE feltétellel oldhatsz meg. Ebben az esetben érdemes arra az oszlopra egy indexet rakni.
$category = $_GET['kategoria'];
if (validatecategory($category)){
mysql_query("SELECT * FROM kategoriaTabla WHERE category=$category");
...
}
Linkesíteni hasonló szisztémával tudsz, mint select-et képezni.A "beszélő" paraméterek tudtommal ugyanúgy keresőbarátok:
pl.: index.php?page=login
index.php?page=list&category=xyDe a könyvtáras megoldás is jó.
Ott, ugye el is hagyható a /index.php hiszen automatikusan azt fogja meghívni.
http://domain.hu/link-bekuldese/index.php - > http://domain.hu/link-bekuldese
De paraméter esetén már minimum ilyen formát kell alkalmazni: http://domain.hu/link-bekuldese/?param=xy -
Speeedfire
félisten
válasz
PazsitZ #4737 üzenetére
közben megoldottam a select kérdést, kicsit bűvészkedni kellett vele, igaz az enyém nem néz ki ennyire szépen
<p>Kategória:</p>
<select name="kategoria">
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_select_db("link", $con);
$result = mysql_query("SELECT * FROM kategoria");
while($row = mysql_fetch_array($result))
{
echo '<option selected="selected">';
echo $row['kategoria'];
}
mysql_close($con);
?>
</option>
</select>a regisztráció/belépés kódot a holnapután meg is nézem, sajnos ma már nem lesz rá időm
esetleg azt is megtudod mondani, h azt h lehet megoldani, hogy ha egy tartalom beküldésnél megadom h ebbe meg ebbe a kategóriába tartozzon majd kilistázom a kategóriákat akkor lehessen olyat csinálni, hogy ha rákattintok a kategóriára akkor az abba tartozó tartalmakat kilistázza
maga a kategória listázás már megvan márcsak az adatbázis lekérdezés a kérdéses aztán a "linkesítés"a keresőbarát url-eket hogy lehet megoldani ha nincs bekapcsolva a mod_rewrite?
egyelőre könyvtárakkal dolgozok, így valamivel szebbek az url-eklink-bekuldese/index.php
kategoria-bekuldese/index.phpmellesleg egy linkkatalógus készítésén fáradozok
1-2 előre elkészítettet már láttam, de egyik sem nyerte el a tetszésemet -
PazsitZ
addikt
válasz
Speeedfire #4736 üzenetére
Ilyesmire gondoltál? [link]
-
PazsitZ
addikt
válasz
Speeedfire #4735 üzenetére
Nem azokkal a rekordokkal van csak gond, amit eddig beraktál korábban?
Továbbá a listázásnál is beraktad a leírt 2 sort a connection után?Nem biztos, hogy tökéletes, de valami ilyesmi: [link]
Ezután mindig bármiféle kimenet előtt meg kell hívni a session_start()-ot és utána ellenőrizni, mondjuk !empty($_SESSION['userid']) feltétellel, hogy belépett-e vagy sem.A kiléptetés adott, gyakorlatilag megszüntetjük magát az egész session-t.
-
Speeedfire
félisten
válasz
Speeedfire #4735 üzenetére
lenne még egy olyan kérdésem is, hogy azt meglehet oldani pl:
egy legördülő listából választom ki a dolgokat amiket előtte az adatbázisból kértem le?
pl ez van az adatbázisban
kocsi
motor
informatikaés azt szeretném h a legördülő listában csak ezek jelenjenek meg
-
Speeedfire
félisten
válasz
Gyuri16 #4733 üzenetére
Gyuri16 & PazsitZ: köszönöm a segítséget, de sajnos ez sem oldotta meg a problémámat
most a mysql-ben jól van az adat viszont a listázásnál vannak bajok
más kérdés: szeretném ha csak regisztrált felhasználók küldhetnének be, elég sok előre elkészített regisztrációs és belépéses szkritet találtam a magyar neten viszont egyik sem volt kompatibilis az 5-ös php-val, csak a régiekkel
ereg()
eregi()
modulokat használtak, amiket a mostani php már nem használ
valaki nem tud valami olyat ami már jó a mostanihoz is? ha nem szükségszerű akkor nem írom meg magam, hanem csak copyz-om
volt tanárom mondta mindig, hogy csak akkor kezdjünk el programot írni, ha egy feladatra még nincs írva semmia connection majd a végén inculodva lesz, de mivel csak 2 oldalam van még, nincs nagy szükségem rá
-
PazsitZ
addikt
válasz
Speeedfire #4732 üzenetére
lassú voltam és csak most látom már megválaszolták
mysql_connect után rakd be a következő 2 sort:
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
szvsz: a DB connectiont rakd külön php-ba és akkor elég egy sorban behúzni. pl.: require "db_connect.php"; -
Gyuri16
senior tag
válasz
Speeedfire #4732 üzenetére
valahova az elejere tegyel ilyesmit (ahol mar megvan a kapcsolat):
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'"); -
Speeedfire
félisten
üdv
elkezdtem egy egyszerű tartalombeküldő listázó scriptet készíteni mysql adatbázissal
és elég durva karakterkódolási gondjaim vannak
a beküldő oldal utf-8
a listázó oldal is utf-8
az adatbázis utf-8-general
de már az adatbázisban is elég érdekesen vannak eltárolva az adatok
itt vannak a forrás fájlok, hátha valaki tud valami okosat mondani rájukilletve lenne még egy olyan kérdésem, hogy hogyan lehet megoldani azt hogy az adatbázisból lekérdezett adatokat külön kezelje és ne egy egész stringként?
pontosabban minden post külön div-be kerüljön?elég béna még a forrásfájl
-
Exakt
aktív tag
válasz
DeltaPower #4730 üzenetére
köszi azota megoldodott a problema, vegulis lemondtam a gmailes fiokrol, helyette a netszolgaltato mailomat hasznaltam erre a celra..
-
Exakt
aktív tag
Sziasztok!
Egy kis segitsegre lenne szuksegem, mert egyedul nem nagyon boldogulok vele, elöre is köszi mindenkinek.
Egy weblaprol lenne szo, ami szinte teljes mertekben kesz amit html-be van agyazva, ugyan az egyik resze az oldalnak ami arrol szol hogy az ugyfel a arajanlatot tudd kerni az oldalrol amint beirja a parametereket, majd az elkuld gombra katintva elkuldesre kerul egy adott mail cimre. mivel nem ertek a phphoz ezert egy progi segitsegevel probaltam osszeokositani amit
simfatic forms-nak hivnak, szoval ezzel a resszel is kesz lennek. De az emailek nem nem akkarnak megerkezni, hiaba gmail fiokot adtam meg ehez tartozo smpt serverrel vagy a netszolgaltatom alltal biztositott mail cimet adtam meg ehez tartozo kimeno smpt serverrel.szoval a kerdes kicsit több retu, de nagyon fontos lenne a ceg szempontjabol hogy kesz lenne ez a resz is.
ime az [oldal]
itt a dizajn meg elso verzios, most csak mukodokepesseg lenne a fontoselore is koszonom
szivessen felveszlek msnre a gyorsabb egyutmukodes erdekeben
elore is koszi -
Ősember
őstag
hello
nem értek sajnos a php-hoz, viszont le tudtam irni mire is lenne szükségemtehát a rendes parancsokat nem tudom
az elképzelés az, hogy van egy mysql adatbázis, az én oldalam és egy másik oldal ahonnan az árak frissülnek. az oldalon a termékek kódja úgy néz ki, hogy "www.site.com/.$termékazonotisó". a www.site.com adott, a termékazonositót meg a mysql adatbázisból nézné ki a rendszer az "itemID" oszlopból. minden infót egyébként megtaláltok itt a "kódban", hogy minek is kéne történnie pontosan. aki tud annak nagyon hálás lennék, ha segitene! köszönöm előre is!<?php
set_time_limit(300);
include("admin/include/db.php");
error_reporting(E_ALL);
$res=mysql_query("select * from products");
while($row=mysql_fetch_array($res))
{
$url=trim("http://www.site.com/".$itemID);
if found text: "Currently Unavailable"
mysql_query set isavailable='0', isoutofstock='0', isunavailable='1'
else search for string '<h3 class="zmp">'
mysql_query set price='content of string '<h3 class="zmp">''
if found text: "Notify"
mysql_query set isavailable='0', isoutofstock='1', isunavailable='0'
if found text: "Add Item"
mysql_query set isavailable='1', isoutofstock='0', isunavailable='0'
mysql_query set last_available_ts='current date'
}
?> -
Narancs
őstag
válasz
PazsitZ #4723 üzenetére
Igen, azok teljes html oldalak, amiket behív a parancs a középső div-be. Ha csak a body részt hagyom meg, ahogy az oldal ajánlja akkor a hibák száma felugrik 20-ról negyvenre. De így reggel friss fejjel belegondolva igazad lehet, vmit nem jól csinálhattam mikor kiszedtem a htmlt. Köszi a segítséget, megpróbálom még kijavítani az eredeti oldalt, ha nagyon nem megy akkor mehet Quentin tanácsa...
Köszi a segítséget mindenkinek, előre is, mert szvsz fogok még feltenni hülye kérdéseket
-
Quent1n
senior tag
válasz
Narancs #4719 üzenetére
Sajnos az ilyen CMS cuccok igénylik a normális tárhelyeket. Pl. Mediacenter, ezen nekem Joomla és WP röhögve megy. Ha ki van fizetve ha nem, érdemes elmenni máshova. Mivel évi 10ezer egy jobb tárhely nem hiszem, hogy egy kicsit komolyabb cégnek ez érvágás, cserébe egy stabil tárhelyet kaphatnak. Amikor én valakivel leülök weblapról beszélgetni azzal kezdem, hogy kell egy profi tárhely ez évi 10+ k, ha erre nem áldoz akkor kár folytatnunk a beszélgetést mert ez mindennek az alapja. Szerencsére idáig 10 ből 9 emberrel sikerült megértetnem, hogy mindenki érdeke, hogy a weblapja egy profi tárhelyen legyen.
-
Narancs
őstag
válasz
Sk8erPeter #4715 üzenetére
Mert már ott van a tárhely és domain, jövő márciusig kifizetve
Amúgy mennyit számít SEO-nál a teljesen valid oldal? Mert bakker, ahogy a dolgok jelenleg állnak, én nem tudom másképp megoldani a kis alap menümet, mint PHP GET-tel, amit a validátor nagyon kifogásol. Ezért akartam WP-t, valami nagyon személyre szabható témával (pl Atahualpa), mert az tuti valid lenne, csak nem tudom mennyit számít ez, mert ha alig akkor inkább nem szenvednék vele. (De érdekes, hogy freewebre felhúztam a WP-t, és mindegyik sablonnal 13 hibát dob a validátorral, mégpedig a felső fw-s reklám fejléc miatt)
-
Quent1n
senior tag
Sziasztok!
Eddig wampservert használtam minden hiba nélkül. Azonban ma érdekes hibába botlottam, mikor másnak probáltam telepíteni. A gépén Apache volt azt leszedtem. wampserver2.0g föl de az mbstring-dll -t nem birja nyitni-
A hiba: "This application has failed to start because php_mbstring.dll was not found. Re-installing the application may fix the problem. "
Újraraktam. Kb 10szer. Már fél napja bújom a netet megköszönném, ha valaki tudna segíteni mert így nem megy a phpmyadmin és az sqllite se ugye. Az oprendszer Win7. Próbáltam a 20.i-t s felrakni de az egyáltalán nem indult el és hibaüzit se dobott. Remélem valaki tud segíteni!
-
Narancs
őstag
válasz
PazsitZ #4711 üzenetére
Köszi de ez sajnos FW nekem meg UW kéne
Btw megpróbáltam a "rendes" fizetett tárhelyre feltenni, ugyanazt írta ki
Az ügyfélkód már nem tudom merre kószál, de 8 után nem kérik a telefonban, hanem rögtön kapcsolják a műszakis embert, szóval 8 után megpróbálpm telefonon kideríteni, hogyan kéne ennek mennie UW-n. Amúgy lehet az egész felesleges, csak azért akarom átállítani CMS-re a nagybátyámnak csinált oldalt mert az általam összelapátolt PHP get-es menürendszer minden csak nem valid.
De ha tudtok valami jobb megoldást mint a PHP get egy ilyen egyszerű menü megcsinálásához akkor felesleges ez az egész WP-t az uw-re projekt. -
PazsitZ
addikt
válasz
Sk8erPeter #4712 üzenetére
Shit, igazad van benéztem.
-
Narancs
őstag
Sziasztok!
WordPress-t próbáltam feltolni UW-s szerverre, elvileg működnie kéne, de miután beállítom a wp-config file-ban az adatbázis adatokat ezt a hibát dobja az oldal:
HIBA - 502
A PHP script tullepte a maximalis futasi idot!Mi a cica lehet a baja?
Előre is kösz!
-
zka67
őstag
válasz
Sk8erPeter #4705 üzenetére
Ja, van pár túlterhelt szerverük, de van elég sok, amik működnek faszán. Igazából szerencse kérdése, hogy épp melyikre kerül az accountod. Igazából úgy vettem észre, hogy a .com végűek jobban vannak terhelve mint a .net-esek.
Nekem végülis tökmindegy, hogy mire végződik, mert vagy hobbiszinten csinálom a weboldalakat, vagy a programjaimhoz használom online help-nek. Ott meg aztán végképp nem számít a végződés.
-
Sk8erPeter
nagyúr
Egy darabig én is használtam a 000webhostot, de közel sem voltam elájulva a sebességétől - sőt, sokszor kifejezetten lassú volt. A szolgáltatások valóban nagyon széleskörűek, az nagy előnye.
Ultraweb gyorsaságával speciel még nem volt gondom. A reklámcsík mondjuk gáz, és valszeg itt kevesebb szolgáltatás elérhető, mint 000webhoston. -
zka67
őstag
válasz
andrewbig #4702 üzenetére
Ultrawebnél tudok egy sokkal jobb ingyenes tárhelyet ajánlani: [link]
1500MB tárhely accountonként, korlátlan account, mysql és php (htaccess is megy rajta), és nem mellesleg a legnagyobb előnye, hogy reklámmentes. .com és .net végződések közül tudsz választani, de ha van saját domained, azt is tudod regisztrálni. A control panelje is nagyon jó. Ha érdekel és bármilyen segítségre van szükséged, írj egy pü-t.
A rendelkezésre állása is jó: [link]
-
andrewbig
csendes tag
Sziasztok !
Ultrawe.hu ingyenes tárhely szolgáltató
WordPress telepítés, látszólag működik, de amikor a webről az oldalt meg akarom nyitni502 hiba PHP timeout ????
Az időzités 15 secundum futási idő
Nem 15 másodperc múlva jelenik meg a hibaüzenet hanem, azonnal
Még nem piszkáltam bele a WP-be csak a MySQL elérés , usernév és jelszó lett beírva, amit el is fogadott
Mit tanácsoltok merre indulja el a hiba elhárítása végett
Ez szerver oldali hibaüzenet ugye...
(a fel FTP-zés nem TotalComm-al történt)
Várom a segítőkész hozzászólásokat
Üdv Joe -
Új hozzászólás Aktív témák
Hirdetés
- Milyen billentyűzetet vegyek?
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Anglia - élmények, tapasztalatok
- Milyen program, ami...?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen légkondit a lakásba?
- Honor Magic5 Pro - kamerák bűvöletében
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Allegro vélemények - tapasztalatok
- iPhone topik
- További aktív témák...
- Easun iSolar SMW 11kW Twin Hibrid inverter // Dupla MPPT // BMS // WiFi
- GAMER PC : RYZEN 7 5700G/// 32 GB DDR4 /// RX 6700 XT 12 GB /// 512 GB NVME
- GAMER MSI LAPTOP : 15,6" 144 HZ /// i5 12450H /// 16GB DDR4/// RTX 4050 6GB/// 1TB NVME
- Manfrotto 055 magnézium fotó-videófej Q5 gyorskioldóval
- Sony ECM-W2BT
- Bomba ár! Dell Latitude 3590 - i5-8GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- LG 77G3 - 77" OLED evo - 4K 120Hz 0.1ms - MLA - 2000 Nits - NVIDIA G-Sync - AMD FreeSync - HDMI 2.1
- AKCIÓ! Lenovo IS8XM LGA 1150 DDR3 alaplap garanciával hibátlan működéssel
- Apple iPhone 12 Pro Max 128GB Kártyafüggetlen 1Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged