Aktív témák
-
szicsu
őstag
Hi!!
Hogy tudom a bönészőt visszavezetni a header(); függvénnyel oda, ahonnan érkezet?
köszi
[Szerkesztve] -
szicsu
őstag
Köszi a tippeket, hamarosan meg is nézem
-
darabka
tag
Amiből mindent, olyat nem...
Van a ''nagy fekete PHP könyv'', szerintem talán az a legkorrektebb... Az igazság az, hogy a PHP alap utasításkészletét és vezérlési szerkezeteit három nap alatt meg lehet tanulni, az összes hülye függvényére meg egy élet is kevés. Az alapokat nagyon be kell betonozni, a fent említett könyvben sztem minden függvény benne van, ami akár a haladó szintű programozáshoz is bőven sok, innentől pedig rengeteg gyakorlás. -
szicsu
őstag
HI!
Tudnátok ajánlani egy nagyon jó könyvet ebben a témában, amiből az ember mindent megtanulhat
köszi -
cucka
addikt
á, olyan körülményesen oldjátok meg
function levag($s,$h)
{
$i=$h;
while (($i>0)&&($i<strlen($s))&&(!ctype_space($s[$i])||ctype_space($s[$i-1])))
{$i--;}
if ($i==0){$i=$h;}
return substr($s,0,$i);
}
$s a szöveg, $h meg a hosszúsága a kimeneti szövegnek. ha a hossz kisebb, mint az első szó hossza, akkor üres string visszaadása helyett félbevágja a szót, szerintem ez így praktikus.
[Szerkesztve] -
-
faster
nagyúr
Eleve timestampet kell tárolni az adatbázisban, és akkor kiírásnál úgy formázod a dátumodat, azt a részét iratod ki, amelyikre szükséged van, nem kényszerülsz str_replace-es hackekre.
Vagy, ha datetime típusú a mező,. és mysql -ről van szó, akkor timestampként kell kiolvasni:
SELECT UNIX_TIMESTAMP(datum) AS datum FROM ...
[Szerkesztve] -
szicsu
őstag
válasz
vakondka #365 üzenetére
őőőő
Akkor pontosítom a problémát:
adatbázisban eltároltam egy datumot, a mező tipus ''date''.
Tehát minden dátumot ''éééé-hh-nn'' formátumban tárol el.
Eddig nem is lenne semmik gond, de amikor ki akarom iratni, akkor is így írja ki.
de nekem meg a kötőjel ( - ) helyett kettős pont kellene( : ), azaz ''éééé:hh:nn'' ilyen formátumba kellene -
darabka
tag
válasz
Jester01 #369 üzenetére
Ebben igazad van, adatbázisban nyilván nem való sztringként tárolni a dátumot, de a táblából nyert asszociatív (vagy numerikus indexelésű) tömbben már csak egyszerű szöveggel van dolgunk. Egyébként az strftime() valóban rugalmasabb, ha a fejlesztő teszem azt több nyelven is szeretne dátumszerű adatokat publikálni.
[Szerkesztve] -
szicsu
őstag
Támadt mégegy problémám:
az adatbázisból lekérek egy dátumot, és ilyen formában írja ki (2006-07-10),
de nekem ilyen (2006.07.10) kellene.
Tudnátok ebben is segíteni? -
szicsu
őstag
HI!
Lenne egy kérdésem.
<?
$parancs=''select * from naptar'';
$eredmeny=mysql_query($parancs);
while ($sor = mysql_fetch_array($eredmeny)){
?>
<tr>
<td><?=$sor[''nev'']?></td>
<td><?=$sor[''helyszin'']?></td>
<td><?=$sor[''datum'']?></td>
<td><?=$sor[''idopont'']?></td>
<td><?=$sor[''egyebek'']?></td>
<td><?=$sor[''leiras'']?></td>
</tr>
<?
}
?>
Evvel a kódórészlettel kiiratom egy listába a naptar tábla tartalmát.
Azt szeretném, hogy csak az első 7 elem írodjon csak ki.
Tudnátok segíteni? -
Krémes Feka
csendes tag
válasz
Krémes Feka #357 üzenetére
Na basszus... Jellemző...
Amint segítséget kérek meg is találom a hibát.. És ahogy azt illik egy félreütés =\ ($f_return, nem $t_return) Pedig kb hárommilliószor néztem át -
faster
nagyúr
A substr-vel az a gond,hogy a szó közepén is darabol. Én erre a szövegkivonatolásra ezt a függvény használom:
function truncate($content,$max) {
if(strlen($content)>$max) {
$content = substr($content,0,$max);
for($xx=strlen($content);$xx>0;$xx--) {
if(!ctype_space($content{$xx-1}) and !ctype_punct($content{$xx-1})) {
$content = substr($content,0,strlen($content)-1);
}
else {
$content .= '' ...'';
break;
}
}
}
return $content;
} -
Krémes Feka
csendes tag
Hali!
Problémába botlottam egy egyszerűsített fórum készítése közben:
Van egy function-öm, a következő:
function tabla_sorkeres($tabla, $mi, $mennyi)
{
$f_query = ''SELECT * FROM $tabla WHERE $mi = $mennyi'';
$f_result = mysql_query($f_query) or die(mysql_error());
$f_return = mysql_fetch_array($f_result);
return $t_return;
}
Itt (meg másik 99 helyen) pedig meghívom:
switch($megjelenit){
case ''forum'':
$path_data = tabla_sorkeres(forums, forum_id, $forum);
echo ''$path_data[forum_name] >>>
break;
case ''topic'':
$path_data = tabla_sorkeres(topics, topic_id, $topic);
$path_data2 = tabla_sorkeres(forums, forum_id, $path_data[forum]);
echo ''$path_data2[forum_name] >>> $path_data[topic_name] >>>'';
break;
};
Amit akarnék vele:
1) megkeresni azt a sort, ahol a topic_id / forum_id a megjeleníteni kívánt topic/fórum azonosítója. ''topic'' esetén begyüjteném az ''anyafórum'' tulajdonságait is ($path_data[forum] ennek a fórumnak az id-je)
2)kiírnám az útvonalat
Probléma:
''forum'' esetén nem írja ki a fórumnevet, ''topic'' esetén meg ilyen szépet ír, hogy: ''You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1''
Ha valaki tudna segíteni megköszönném -
szicsu
őstag
Hi!
hogy tudnám azt megcsinálni, hogy egy adatbázisban az egyik mezőben lévő ''hosszú'' szöveg első x karakterét iratom ki ez egyik helyre, máshová meg az égszet.
bízom benne, hogy érthető voltam
Köszi a segítséget -
Briganti
tag
hm ... alulbecsultem a mysql-t:))
sorbarendezem igy hogy:
$q_query = mysql_query(''SELECT * FROM game ORDER BY jovedelem DESC'');
na de ha nekem 2 usernek ugyanyannyi jovedelme van, akkor a penze szerint kellene sorba rakja, tehat akkor lenne egy ilyen fontossagi sorrend hogy: jovedelem->penz, s gondoltam hogy atjavitom ugy hogy:
$q_query = mysql_query(''SELECT * FROM game ORDER BY jovedelem,penz DESC'');
de azt hiszem igy nem fontossagi sorendet adok meg ... -
Briganti
tag
es meg egy kerdes:
en egy tablazatbol hogy tudom az elemeket valamelyik oszlop szerint novekvo sorrenbe megjeleniteni? a jo oreg buborekos rendezes, vagy az ilyenek itt mukodnek, vagy erdemes veluk dolgozni? mar reg csinaltam, s nem akarom potyara atnenzi, ugyhogy megvarom hogy hallam erdemese butykolni vele -
Briganti
tag
csinaltunk egy kissebbecske online jateko, es a regisztralasnal elszeretnem menteni az ip-t is, es en igy kertem le az ip-t hogy: $ip = getenv('REMOTE_ADDR'); de az uw-n mindegy hogy honnan regisztral valaki, ugyis azt irja hogy: 127.0.0.1, wajon az uw a hibas, vagy en nemjol kerem az ip-t ... de pl a srv-n mukodott ...
-
cucka
addikt
-
Briganti
tag
... es meg valami
pl a $_SESSION['lajika'meddig tartja meg erteket, azt valahogy lehet anulalni, vagy csak siman egyenlove kell tenni egy '' '' -l?
-
Briganti
tag
vagy valami iesmit, csak oranket futtatni egy php-t ... ahoz a szerveren kell legyen valami kulonleges cucc, vagy meglehet azt oldani sima php scriptel vagy hasonloval ?
-
Briganti
tag
meg is van a kovetkezo kerdes:
belepesnel nekem beirja a datumot egy adatbazisba, es kovetkezo belepeskor is lekeri a datumot, es kiszamolya hogy hany nappal tobb ... ezt hogy lehet megoldani ... ha en beirom hogy $date1 - $date2 biztos nem fog mukodni, s nekem a kulombseget napokba kellene visszaadja -
Briganti
tag
mostmar valahogy megoldodott, mar tudom mi lesz a kov problemam, de meg nem ertem el odaig :)))
-
Briganti
tag
ajavitottam az iset-t igy:
if ((isset($user)) and ($user!='''')) { ...
es beszurtam az egeszet a </body> tab ele, de ugysem mukodik, mar kifogytam az otletekbol .... -
Briganti
tag
atjavitottam, es az kizart hogy ilyen bejegyzes nincs, mert mivel kezdo vagyok igyhat egyet megneztem biztosra hogy be van irva, es azzal dolgozok egyelore ...
de kulonben van egy olyan erzesem, hogy valamiert nem futatja a php-t, mert az isset-re nem ir ki semmit (gondolom valamit ki kene irjon az elso sorba vagy valami), lehet hogy nem igy kell felirni, de valamelyik forumban talatam egy hasonlot :)
<?php
include(''dbconnect.php'');
session_start();
$user=$_SESSION['login'];
if (isset($user) != '''') {
echo ''Ez nem ures'';
}
else
{
echo ''Ez tenyleg ures'';
}
$sel=mysql_query(''SELECT * FROM game WHERE user='$user''');
$row = mysql_fetch_array($sel, MYSQL_ASSOC)
$e_penz= $row['penz'];
$e_ember= $row['ember'];
$e_gep=$row['gep'];
$e_datum=$row['datum'];
?>
<html>
...
[Szerkesztve] -
cucka
addikt
válasz
Briganti #335 üzenetére
először: ha a lekérdezésed több sort ad vissza, akkor abból csak az utolsót fogod eltárolni az $e_ kezdetű változókban. használj 2dimenziós tömböt, sorait akár a $row-ból is felépítheted, nem kell minden mezővel külön pöcsölni.
másodszor: ha a lekérdezésed mindig egy sort ad vissza, akkor az a ciklus fölösleges
harmadszor: ha a lekérdezés véletlenül nem ad vissza egyetlen sort sem, akkor azt hogyan kezeled le?
negyedszer: biztos vagy benne, hogy a $_SESSION['login'létezik? ellenőrizd isset()-el.
-
Briganti
tag
en igy probalkoztam:
ezt betettem a <html> tag ele:
<?php
include(''dbconnect.php'');
session_start();
$user=$_SESSION['login'];
$sel=mysql_query(''SELECT * FROM game WHERE user='$user''');
while ($row = mysql_fetch_array($sel, MYSQL_ASSOC))
{
$e_penz= $row[''penz''];
$e_ember= $row[''ember''];
$e_gep=$row[''gep''];
$e_datum=$row[''datum''];
}
?>
es valahol a <body> tag utan a sok kalamajkaba beszurtam egy iet:
<td><?php echo ''$user'' ?></td>
probalkoztam az echo helyett a print-l is, de ugyse mukodik ... gondolom megint valami banalis szarsagon akadtam el :)) -
Briganti
tag
pls segitsetek ... html-be akarom kiiratni egy adatbazis adatait ... hogy lehet ezt megoldani?
-
Briganti
tag
loool, megint hulyeseg miatt ...
-
Briganti
tag
s meg egy abszolut hulyesegen akadtam el ....
header(''Location: ..\game\index.html'');
ezt hogy kell helyesen beirni, mert sehogysem jovok ra :)
demonstralom a konyvtarfat: :))
\
-\reg - \login.html ... log.php => s masikba kene atmenni
-\game - \index.html
ugy tudom hogy siman html-be ez igy helyes: ..\game\index.html -
Briganti
tag
most akkor jovok egy kerdesel, amibe van egy kis html is ...
van egy login oldal, beloginol valaki, es betolti a logged.html, es ezen a html-n kiszeretnem iratni egy adatbazis egyes cellait ...
azt hiszem valami olyasmi kellene hogy egy php adjon at ertekeket a html-nek ... ilyen lehetseges?
[Szerkesztve] -
Briganti
tag
ha jo, de en nem tudom meg mi a jelszava
[Szerkesztve] -
-
Briganti
tag
ha igy kodolom md5-l hogy(vagyis azt hiszem igy kell) :
$str = 'apple' ;
$kodolt=md5 ( $str ) ;
akkor ez visszafele hogylesz ... tehat ha en ezt bele irom egy tablazatba hogy szedem ki hogy olvashato is legyen ... -
cucka
addikt
sőt, a ''sózás'' akár kézzel is elvégezhető. másrészt igaz, hogy az md5 algoritmusra találtak egy brute force-nál hatékonyabb kulcsütközés-generáló algoritmust, de az sem annyira gyors, hogy feltétlenül megérje pöcsölni vele. persze ha banknak fejlesztenék szoftvert, akkor mást használnék, általános esetben viszont szerintem elégséges lehet az md5 által nyújtott védelem is.
-
Briganti
tag
ha nem kodoljuk a jelszavat es ugy tegyuk egy tablaba, akkor konnyen ki lehet szedni?marmint egy kivulallo ki tudja szedni?
-
cucka
addikt
1. fejben vagy papíron kitalálod, pontosan milyen legyen a regisztrálás menete
2. létrehozod a szükséges táblát az adatbázisban, amelynek az oszlopai a júzer adatai lesznek. lásd sql doksi, create table utasítás
3. megírod a regisztráláshoz szükséges űrlapot html-ben. küldéshez használj POST-ot
4. megírod a php kódot, ami az űrlapban található adatokat kiszedi a POST tömbből és ellenőrzés után beírja az adatbázisba. ajánlott és etikus a jelszavakat lekódolva tárolni (lásd md5 nevű függvény, valószínüleg minden elterjedt adatbázisban megtalálható).
ez így a legegyszerűbb, lehet bonyolítani mindenfélével (konfirmáló email, biztonsági ellenőrzések, satöbbi). mi a kérdés? és esetleg nézz utána, mit a szintaxis szó jelentése -
szicsu
őstag
HI!
most ismerkedek csak a nyelvel.
Tudnátok segíteni abban ,hogy kellene egy registrálást megalkotni.
nekem az is elég, ha a szintaxisát elárulnátok.
ill milyen adatbázist kell mellé alkotni
Válaszokat előre is köszönöm -
Briganti
tag
woahhhh, es lass csodat, ez is megy
-
Briganti
tag
nahat nekem most se jott ossze ...
a login oldalon amelyik php ellenorzi nicket, es jelszot megadtam egy olyat hogy:
$user=$_POST['username';
$_SESSION['login'= $user;
es a masik php-ba probaltam hivatkozni ra hogy:
$sesion=''$_SESSION['login''';
echo ''User: $sesion'';
es azt mondja nekem hogy: Notice: Undefined variable: _SESSION in...
[Szerkesztve] -
VladimirR
nagyúr
válasz
Briganti #310 üzenetére
lehet session-el, es cookie-val
elobbi esetben a $_SESSION tomb-be irod be, hogy milyen felhasznaloval leptel be, meg hogy egyaltalan be vagy lepve, majd ezt kesopbb ugyanonnan ki is tudod olvasni (ezesetben a php file-ok elejen meg kell hivnod a session_start fuggvenyt)
cookie eseten pedig a getcookie es a setcookie fuggvenyek segitsegevel -
Briganti
tag
eddig minden ok, mostmar tisztaban vagyok a get-l is, de meg nem fogytam ki a kerdesekbol
ha nekem van egy login oldalam, es be is loginolok, es akkor a header parancs atiranyit az _index.html -re, es ebben van meg egy form es mondjuk az action=''valami.php'' ... na mar most en kene dolgozzak a valami.php-ban azzal a nickel amivel bejelentkeztem, en azt honnan tudom kiszedni, vagy hogy tudok hozzajutni ... van egy olyan megerzesem hogy cookie-val kell, de itt eleg keves (1-2) a cookie-s tema, ugyhogy muszaly itt megkerdezzem ... -
cucka
addikt
válasz
Briganti #308 üzenetére
GET az az url-ben továbbítja a változókat. előnyös ha csak kevés adatra van szükség, illetve így bookmark-olni is lehet az oldalt. pl. oldal.php?vált1=ert1&valt2=ert2 . lásd pl. google, ahol a keresés összes paraméterét az url-ben küldi át.
POST a háttérben történik az adatcsere, jó, ha nagy mennyiségű adatról van szó, ha nem szeretnéd kitenni az url-be az adatokat (pl. jelszó). lásd pl. bármilyen űrlap, ahol jelszót kell beírni, vagy prohardveren a hosszászólás-szerkesztő oldal.
[Szerkesztve] -
Briganti
tag
akko most jon meg egy lama kerdes
mi a kulombseg a POST es a GET method kozott, es meiket jobb hasznalni?
-
Briganti
tag
megint koszi, ez is megoldodott ... hihetetlen hogy milyen aprosagokon akadok el, magamtol sose jottem volna ra
nem latok vagy nincs itt olyan hogy pontozni kell a valazsokat ...
[Szerkesztve] -
burgatshow
veterán
válasz
Briganti #303 üzenetére
Mér nem úgy csinálod a lekérdezést, hogy a selectbe beleszúrod:
''SELECT * FROM users WHERE username='$user' and password='$pasw'''
Ha van visszatérési értéke (értsd létezik ezekkel a keresési feltételekkel record) akkor belépteted, ha meg nincs tehát a visszatérési érték 0* akkor meg nem lépteted be.
* 0 = nincs ezekkel a keresési feltételekkel rekord így logikus, hogy nem lesz fetchelendő érték(ek)
Ami pedig a header-t illeti:
Gondolom a beléptető scripted egy másik php fájlba van beincludeolva, ha igen, akkor logikus, hogy azt a hibát dobja, miszerint a headers already sent by... mert a header paramétereket a fileok leges legeléjbe kell beszúrni. Tehát, ha egy másik fájlba hívtad be a beléptető scripted, akkor a lefutás után, az ''anya'' file már elküldte a header információkat, tehát már nem tudod módosítani. Nem tudom érthető volt-e...
Egyébként a header referenciája: [link]
Mod: Ketten is megelőztek...
[Szerkesztve] -
faster
nagyúr
válasz
Briganti #303 üzenetére
Header előtt nem lehet kiírás. Egyébként nem értem, miért így vizsgálod meg a password helyességét, azt ugyanúgy belerakhatod a select WHERE részébe.
$sel=mysql_query(''SELECT * FROM users WHERE username='$user' AND pasw='$pasw''');
if(mysql_num_rows($sel)) {
// beléphet
}
else {
// név vagy jelszó nem stimmel
}
[Szerkesztve] -
Briganti
tag
hellosztok
most a header()-l nemvagyok tisztaba, tudom hogy mar volt errol szo, mert olvastam valameik topivban, de az sem segitett sokat ...
en azt szeretnem, hogy van egy login oldal es ha valaki beirja a rossz jelszot, akkor egy megadott oldalt toltson be ....
igy nez ki a login.php:
<?php
require(''dbconnect.php'');
$user=$_POST['username';
$pasw=$_POST['pasw';
$sel=mysql_query(''SELECT * FROM users WHERE username='$user' '');
$row = mysql_fetch_array($sel, MYSQL_ASSOC);
$e_pasw= $row[''pasw'';
if ($pasw != $e_pasw) {
echo ''Mekkora kocsog vagy, jegyezd meg a jelszavad'';
header(''Location:list.html''); (itt elore die volt, de nem az kell)
}
else {
echo ''<br>Beleptel! Most fasza csoro vagy!<br><br><br>'';
}
echo ''<b><a href=\''list.php\''> Admin Page</a></b><br>'';
echo ''<b><a href=\''index.html\''> Index page</a></b><br>'';
?>
es erre kiad egy ilyen hibat:
Warning: Cannot modify header information - headers already sent by (output started at f:\z_program files\easyphp1-8\www\reg\dbconnect.php:11) in f:\z_program files\easyphp1-8\www\reg\login.php on line 14
es ez van a dbconnect.php-ba:
<?php
// set your infomation.
$dbhost='localhost';
$dbusername='root';
$dbuserpass='';
$dbname='users';
// connect to the mysql database server.
$link_id = mysql_connect ($dbhost, $dbusername, $dbuserpass);
echo ''Connection OK!''.|. ''<br>'';
// select the specific database name we want to access.
if (!mysql_select_db($dbname)) die(mysql_error());
echo(''\n Selection OK!'');
echo ''<br>'';
?> -
Briganti
tag
ok, en nagyon szepen koszi!!
Aktív témák
Hirdetés
- Honor 200 Pro - mobilportré
- Renault, Dacia topik
- VoLTE/VoWiFi
- Háztartási gépek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kormányok / autós szimulátorok topikja
- Riasztó topik
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- Nintendo Switch 2
- Kerékpárosok, bringások ide!
- További aktív témák...
- MSI Sword 15 A12VF 15.6" FHD IPS i7-12650H RTX 4060 16GB 512GB NVMe gar
- GAMER PC : RYZEN 7 7800X3D /// 32 GB DDR5/// RX 9070 XT 16GB /// 1TB NVME
- Eladó garanciális Hohem iSteady V2S gimbal
- Creative 3D Blaster 3Dfx Voodoo Banshee PCI (CT6760)
- Samsung Galaxy S22 Ultra 12/256GB Megkímélt,Kétkártyás,Tartozékaival. 1 év Garanciával!
- AKCIÓ! HP Victus 16-R1002NF Gamer notebook - i7 14700HX 16GB RAM 1TB SSD RTX 4070 8GB WIN11
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR4 512GB SSD RTX 5060 Ti 16GB Zalman i3 NEO Enermax 650W
- Mini PC, tiny PC HP Fujitsu Esprimo i5-7500T
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W docking station (3TR87AA)
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest