Hirdetés

2024. június 9., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  MySQL topic

Hozzászólások

(#101) faster válasza Zoltán (#98) üzenetére


faster
nagyúr

Ennek a htmlnek minimum így kéne kinéznie:

<form action=''ellenorzes.php'' target=''_blank'' method=''post''>
<tr><td align=''left'' valign=''top''>
<b>NÉV:</b><br>
<input type=''text'' name=''nev'' value='''' maxlenght=''8''> <br><br>
<b>JELSZÓ:</b><br>
<input type=''password'' name=''jelszo'' value='''' maxlenght=''8''>
<input type=''submit'' name=''kuld'' value=''OK''>
</td></tr>
</form>

Az egybecsúszást úgy értettem, hogy az action attribútumot elkezdted idézőjellel, de nem zártad le, a targetnél pont fordítva.
Kifejezetten nehéz hibáktól hemzsegő kódban megtalálni a valódi hibát.

Ez is fölöslegesen van elbonyolítva:


$ilyennincs=''$nev'';
$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$ilyennincs' '');
if (mysql_num_rows($lekeres2) != 0)
{
while ( $row = mysql_fetch_array( $lekeres2 ) )
{
print ''van már ilyen név'';
}
}
else //minden ezen az ágon fut tovább, ha nincs ilyen név még.

Kezdjük azzal, hogy

$ilyennincs = $nev; // tök fölösleges ide az idézőjel (már másoknál is megfigyeltem, hogy így csinálja ($ilyennincs=''$nev'';) , de fel nem tudom fogni, hogy miért)


elég ennyi is:

$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$nev' '');
if (mysql_num_rows($lekeres2) != 0)
{
print ''van már ilyen név'';
}
else //minden ezen az ágon fut tovább, ha nincs ilyen név még.



Szóval, beírsz a formon pl. egy g betűt, és az nem lesz jó. Kiírásnál csak egy g-t éátsz, az adatbázisban is van egy g nevű user, mégsem találja meg?Biztso csak egy g betű kerül a $nev nevű változóba? Egy ilyen:

echo strlen($nev);

1-et kell, hogy kiírjon (1 db karakter esetén), ez is stimmel?

[Szerkesztve]

(#102) Zoltán válasza Szalma (#100) üzenetére


Zoltán
őstag

Hát ez mindenhogy jónak tűnik. <pre>változó</pre> -vel, szögletes zárójelekkel, meg natúr módon is...

(#103) Szalma válasza Zoltán (#102) üzenetére


Szalma
őstag

( :F )

Szeretettel:
Szalma

ui.: <pre>[$változó]</pre>..? Hát akkor többet tenni nem tudunk...

(#104) Zoltán válasza faster (#101) üzenetére


Zoltán
őstag

Az idézőjelet, mit fölöslegesnek írsz Én is annak tartom, nem is írtam eredetileg oda, de már mindenhogyan próbáltam. Ha egy darab ''g'' (vagy akármi más) nevet adok meg a fenti űrlapon, akkor jól ki is írja, hogy ''g'' és az echo strlen($nev); is ''1'' -et ír ki. Tehát biztos, hogy jó. A HTML űrlapot is kicseréltem az általad javasoltra. A php kódot is egyszerűsítettem, ahogy írtad. De továbbra is ugyanaz a helyzet: Tehát, ha megadom neki konkrétan, hogy ''g'' az amit ellenőrizni kell, hogy van-e, akkor jól megy, de ha ez a ''g'' a $nev változóban van, akkor úgy veszi ellenőrzés után, hogy nincs még ilyen és enged tovább az else ágon. Föl nem foghatom.

(#105) Zoltán válasza faster (#101) üzenetére


Zoltán
őstag

Itt egy táblázat, hogy jelenleg mi van az adatbázisban. Jól látszik, hogy van egy raklap ''g'' meg ''f'' nevű user. Bővebben: link

(#106) faster válasza Zoltán (#104) üzenetére


faster
nagyúr

Tehát, ha jól értem, így nem találja meg a rekordot:

$lekeres2 = mysql_query(''SELECT * FROM probatabla WHERE nev = '$nev' '');

és ez is igaz:

if($nev == ''g'') print ''Ebbe téllen gé van!'';



így viszont megtalálja:

$lekeres2 = mysql_query(''SELECT * FROM probatabla WHERE nev = 'g' '');



mert akkor ez voodoo mágia.

(#107) Zoltán válasza faster (#106) üzenetére


Zoltán
őstag

Pontosan.

MOD: Várjunk csak! Most akkor sem találja meg, ha konkrétam megadom a ''g'' -t!!!! Eddig emlékszem, jól ment, ha csak az ellenőrzést futtattam le , és akkor konkrétam megadtam a ''g''-t. Tehát akkor még ezt az ellenorző részt nem raktam be az ellenorzes.php -ba, így ott magában, nem tudtam változóval kipróbálni. TEhát nem az a gond, hogy változóban van a ''g'', hanem az, hogy beillezstettem ebbe a teljes PHP kódba. Mert önmagában működött, fentebb magyaráztátok el, hogy hogyan kell és jó is volt. Aztán illesztettem be a teljes PHP kódba, tehát az ellenorzes.php -be.

[Szerkesztve]

(#108) faster válasza Zoltán (#107) üzenetére


faster
nagyúr

Nevezd át a .php-t .txt-re egy kicsit, hadd töltsem le a forrást.
Megnézem, hátha felfedezek benne valamit...
Ja igen, és az urlt írd be légyszi, ahonnan le tudom tölteni.

[Szerkesztve]

(#109) Zoltán válasza faster (#108) üzenetére


Zoltán
őstag

Átneveztem. Meg MOD -oltam a fenti HSZ-em. url: www.ak48.tvn.hu/ellenorzes.txt


Most konkrétam van megadva a név, nem változóban.

Itt meg a tábla, mégegyszer: http://www.ak48.tvn.hu/index3.php

[Szerkesztve]

(#110) faster válasza Zoltán (#109) üzenetére


faster
nagyúr

hát nekem pedig jól működik.
Csináltam egy probatabla táblázatot egy nev varchar(255) mezővel, beleraktam egy g nevű usert

insert into probatabla set nev=''g''

és a program megtalálja.

[Szerkesztve]

(#111) Zoltán válasza faster (#110) üzenetére


Zoltán
őstag

Itt van a regisztróciós oldal:
http://www.ak48.tvn.hu/reg.html

Írj be egy ''g''-t. Aztán ezen az oldalon nézd meg, hogy egyel több ''g'' nevű sor lett, noha már volt egy csomó. http://www.ak48.tvn.hu/index3.php

???

(#112) faster válasza Zoltán (#111) üzenetére


faster
nagyúr

Persze azt hozzátenném, hogy pl. ezt a programrészt:

$kapcsolat = mysql_connect($sqlhost, $sqluser, $sqlpass) or die(''Nem lehet csatlakozni: ''.mysql_error().''<br>'');
print ''Sikerült a kapcsolat letrehozasa<br>'';
mysql_select_db($database) or die(''Nem lehet megnyitni az adatbázist: ''.mysql_error().''<br>'');
print ''Sikerült kiválasztani a ''.$database.'' adatbázist<br>'';


átraktam a program elejére, mert nem csak a beszúrásnál kell kapcsolódni az adatbázishoz, hanem a kiolvasás-ellenőrzés előtt is.

[Szerkesztve]

(#113) Zoltán


Zoltán
őstag

index3.php (ebben van a tábla) forrása: (ebben működik a $lekeres2 !!!!!!)

<?php
$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''37Ws8wHH2QdRg'';

$ujtabla = ''CREATE TABLE `probatabla` (''
. '' `id` INT(10) NOT NULL AUTO_INCREMENT, ''
. '' `nev` VARCHAR(8) NOT NULL, ''
. '' `jelszo` VARCHAR(10) NOT NULL, ''
. '' `email` VARCHAR(250) NOT NULL, ''
. '' `datum` VARCHAR(20) NOT NULL, ''
. '' `ip` VARCHAR(250) NOT NULL, ''
. '' PRIMARY KEY (`id`)''
. '' )'';

$nev = ''Belapapa'';
$jelszo = ''rugoka'';
$email = ''berugos@franconmail.hu'';
$datum = ''2004.11.27. - 18:10'';
$ip = ''111.222.333.444'';

$parancs = ''INSERT INTO `probatabla` ''
. ''(`nev`, `jelszo`, `email`, `datum`, `ip`) ''
. ''VALUES ''
. ''('$nev', '$jelszo', '$email', '$datum', '$ip')'';

$kapcsolat = mysql_connect($sqlhost, $sqluser, $sqlpass) or die(''Nem lehet csatlakozni: ''.mysql_error().''<br>'');
print ''Sikerült a kapcsolat letrehozasa<br>'';

mysql_select_db($database) or die(''Nem lehet megnyitni az adatbázist: ''.mysql_error().''<br>'');
print ''Sikerült kiválasztani a ''.$database.'' adatbázist<br>'';




$nev = ''Belapapa'';

$sorlekerdez = mysql_query(''SELECT * FROM `probatabla` WHERE nev like '$nev' '') or die(''Hiba a lekerdezeskor: ''.mysql_error().''<br>'');
print ''Sikerült lekerdezni az adatokat az adatbazisbol<br>'';

$sorok= mysql_num_rows($sorlekerdez) or die(''Itt a bibi, valami nem jo'');

print ''Sorok szama: ''.$sorok;


$email= ''aaa@fff.pl'';

$sorlekerdez2 = mysql_query(''SELECT * FROM `probatabla` WHERE email like '$email' '') or die(''Hiba a lekerdezeskor: ''.mysql_error().''<br>'');
print ''Sikerült lekerdezni az adatokat az adatbazisbol<br>'';

$sorok2= mysql_num_rows($sorlekerdez2) or die(''Itt a bibi, valami nem jo'');

print '' 'aaa@fff.pl' e-mailek szama: ''.$sorok2;



$ilyennincs=''g'';
$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$ilyennincs' '');
if (mysql_num_rows($lekeres2) != 0)
{
while ( $row = mysql_fetch_array( $lekeres2 ) )
{
print $row[''nev'';];
}
}
else
{
print ''<br>nincs még ilyen név0'';
}



$lekeres = mysql_query( ''SELECT * FROM probatabla
ORDER BY id DESC LIMIT 0,100 '');
while ($egysor = mysql_fetch_array( $lekeres ) )
{
$id=$egysor[id];
$nev=$egysor[nev];
$jelszo=$egysor[jelszo];
$datum=$egysor[datum];
$email=$egysor[email];
$ip=$egysor[ip];

print (''<br><table width=750 cellpadding=4 cellspacing=0
border=1 bordercolor=#000000>
<tr>
<td align=left>'');
print (''
<b>$id</b></td>
<td align=center><b>$nev</td>
<td align=center>
<b>$datum</b></td>
<td align=center>$jelszo</td>
<td align=center>$email</td>
<td align=center>$ip</td>
</tr>'');
}
print ''</table>'';

$ilyennincs=''ilyennincs'';
$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$ilyennincs' '');
if ($lekeres2 ='''')
{
print (''bocs, ilyen nincs'');
}


mysql_close($kapcsolat);

?>

(#114) steveetm válasza Zoltán (#111) üzenetére


steveetm
őstag

Nemértem miért kéne ennek másképp működnie. Az első mysql_querynél nincs megadva semmi adatbázis, semmi csatlakozás info, csak az insertnél.
Üdv.: steveetm

[Szerkesztve]

(#115) Zoltán válasza faster (#112) üzenetére


Zoltán
őstag

Igen, ez volt a gond. Pofám lesül.... :B Csak azért nem gyanakodtam erre, mert ugye egyébként lefut. Szólhatna, hogy nem tud csatlakozni az adatbázishoz...

Köszi szépen!

(#116) faster válasza Zoltán (#115) üzenetére


faster
nagyúr

Szivesen. Akkor viszont a g-betűt a programba beírva se működhetett ez a programrész.

Egyébként fejlesztés idejére érdemes a mysql_query helyett egy saját függvénnyel dolgozni, ami kiírja az adatbázis hibákat pl.:

sql.php:


<?
function sql_query($query) {
$res = mysql_query($query);
if(mysql_errno()) {
echo mysql_error().''<br>'';
echo ''<strong>$query</strong>'';
}
else {
return $res;
}
}
?>


a programban pedig:


...

require_once(''sql.php'');


...


$lekerdezes = sql_query(''...'');

[Szerkesztve]

(#117) Zoltán válasza steveetm (#114) üzenetére


Zoltán
őstag

Igen, mostmár megvan. CSak azért nem vettem ezt észre, mert eddig jól ment és mikor átraktam abba a progiba, ahol előtte nincs aadatbáziscsatlakozás, akkor egy más változtatás is volt (változó lett megadva konkrét érték helyett) és arra gyanakodtam. Illetve: mi a fenéért nem szól, hogy nem tud ellenőrizni, mert nincs kapcsolat az adatbázissal???!!!!??? Ehelyett miért kell azt csinálni, hogy úgytesz mintha ellenőrzött volna, és annak megfelelően fut tovább az egyik ágon. Ne fusson semerre, ha rossz!!:(((:((;]:O

(#118) Zoltán válasza faster (#116) üzenetére


Zoltán
őstag

Igen,de most már emlékszem, hogy a mikor a g-t beírtam, akkor még abban a file-omban volt, ahol van előtte csatlakozás....

(#119) faster válasza Zoltán (#117) üzenetére


faster
nagyúr

Használd a függvényt, amit beírtam, az kiírja a mysql hibákat is. Módosítottam az előző hszemet. Ha raksz az echo mysql_error() programsorok után egy exit-et, akkor meg is fog állni a program, ha hibába fut bele.

(#120) Zoltán válasza faster (#119) üzenetére


Zoltán
őstag

Nem akarok tovább mentegetőzni, de pont az is megnehezítette a hiba feltárását, hogy általában használok mysql_error() -t, így nem gondoltam, hogy pont most nem használtam. Komolyan ég az arcom.

(#121) faster válasza Zoltán (#120) üzenetére


faster
nagyúr

No problem, én is lusta lennék minden egyes lekérdezéshez még egy plussz mysql_error-t rakni, aztán kiszedegetni. Én is elkövettem már ezeket a hibákat.

Csinálj egy inlcude fájlt a gyakran használt funkcióknak, ilyen pl. az adatbázis kapcsolódás, vagy ez az sql_query, és include-old be minden scripted elejére, akkor nem lesznek ilyen problémák, hogy oda nem raksz mysql_error-t, ahol hibát vétesz (általában senki nem tudja előre, hol fog hibát véteni :) )

include.php:

<?

sql_connect() {
$server = ''localhost'';
$username = ..
...
mysql_connect(...);
mysql_select_db();
}
sql_query() {
...
}
?>


prog.php:

<?
require_once(''include.php'');
sql_connect();

...

$lekerdezes = sql_query(...);

?>

Én így szoktam csinálni.

[Szerkesztve]

(#122) faster válasza faster (#121) üzenetére


faster
nagyúr

Na, elrontottam, természetesen

function sql_connect()
és
function sql_query($query)

akart lenni a függvénydefiníció az include.php-ban.

(#123) Edguy


Edguy
csendes tag

Mi itt a hiba :


<?php
include (''connect.php'');
CREATE TABLE tablaneve - itt van a gond
(
azonosito INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (azonosito),
nev VARCHAR (8),
jelszo VARCHAR (10),
email VARCHAR (250),
datum VARCHAR (20),
ip VARCHAR (250));
?>



Ezt az üzenetet kapom : Parse error: parse error, unexpected T_STRING

(#124) VladimirR válasza Edguy (#123) üzenetére


VladimirR
nagyúr

az, hogy a create table nem php, hanem sql utasitas, s mint ilyet, csak a megfelelelo fuggvenyekkel tudod meghivni

<?php

$query = ''CREATE TABLE tablaneve ( ''
. ''azonosito INT NOT NULL AUTO_INCREMENT, ''
. ''PRIMARY KEY (azonosito), ''
. ''nev VARCHAR (8), ''
. ''jelszo VARCHAR (10), ''
. ''email VARCHAR (250), ''
. ''datum VARCHAR (20), ''
. ''ip VARCHAR (250) ''.
. ''); '';

mysql_query($query); // <-- ez fogja majd tenylegesen vegrehalytani a lekerdezest

?>




[Szerkesztve]

(#125) Edguy válasza Edguy (#123) üzenetére


Edguy
csendes tag

Még így se jó valami baja van ezzel . '');'';

(#126) VladimirR válasza Edguy (#125) üzenetére


VladimirR
nagyúr

1: ez csak egy kodreszlet, emellett csatlakoznod kell az adatbazishoz, meg ilyenek
2: remelem nem csak kimasoltad a kodot, ugyanis a PH! motorja az idezojeleket ( '' ) atalakitja ket aposztroffa ( ' )
3: az .'');''; elotti sor vegerol torold a pontot

[Szerkesztve]

(#127) Edguy válasza VladimirR (#126) üzenetére


Edguy
csendes tag

Azért annyira amatőr nem vagyok. Szóval a táblát nem a php-ben kell megnyitni, hanem az adatbázisban?

(#128) VladimirR válasza Edguy (#127) üzenetére


VladimirR
nagyúr

 

<?php
$db = mysql_connect(''localhost'', ''root'', ''jelszo'') OR die (''Connection Error to Server''); // itt kapcsolodsz az adatbazis szerverhez, a localhost, az az, hogy a sajat gepeden van az adatbazis, a root, az a felhasznalo, a jelszo meg a root felhasznalohoz tartozo jelszo -- ezeket az ertekeket csereld le a Nalad hasznalatosokhoz
mysql_select_db(''adatbazis'') OR die(''Connection Error to Database''); // itt valasztod ki, hogy melyik adatbazist kivanod hasznalni
$query = ''CREATE TABLE tablaneve ( ''
. ''azonosito INT NOT NULL AUTO_INCREMENT, ''
. ''PRIMARY KEY (azonosito), ''
. ''nev VARCHAR (8), ''
. ''jelszo VARCHAR (10), ''
. ''email VARCHAR (250), ''
. ''datum VARCHAR (20), ''
. ''ip VARCHAR (250) ''
. ''); ''; // ez a lekerdezes maga, amit vegre kivansz hajtani
mysql_query($query, $db); // ez pedig a lekerdezes vegrehalytasa, a fenti kapcsolaton
?>

(#129) faster válasza Edguy (#127) üzenetére


faster
nagyúr

A php és a mysql két külön program. A mysql az adatbázis kezelő, a php az alkalmazás szerver része. Természetesen adattáblát az adatbáziskezelőben kell létrehozni, ezt kétféleképen lehet:

1. belépsz az adatbázis szerver konzoljára, és létrehozod a megfelelő sql utasításokkal a táblát

2. php-ből hozzákapcsolódsz az adatbázis szerverhez, és úgy adod ki a megfelelő sql parancsokat. Ez az eset lett kitárgyalva.

(#130) Zoltán válasza faster (#122) üzenetére


Zoltán
őstag

A connect-áló függvényt értem, de a function sql_query($query) függvényt nem. Mondjuk mindegy, most nem sürgős. Jelenleg van egy ilyen connect.php filem:

<?php

$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''.....'';

$kapcsolat = mysql_connect($sqlhost, $sqluser, $sqlpass) or die(''Nem lehet csatlakozni: ''.mysql_error().''<br>'');
print ''Sikerült a kapcsolat letrehozasa<br>'';

mysql_select_db($database) or die(''Nem lehet megnyitni az adatbázist: ''.mysql_error().''<br>'');
print ''Sikerült kiválasztani a ''.$database.'' adatbázist<br>'';

?>


és ezt hívom be az akarmi.php file-ban, így:

include (''connect.php'');

(#131) faster válasza Zoltán (#130) üzenetére


faster
nagyúr

Mi nem érthető az sql_query függvényen? végrehajt egy mysql_query-t, aztán pedig megvizsgálja, hogy történt-e hiba a query végrehajtásakor, és ha történt, akkor kiírja az outputra a hiba szövegét.

Magára az include-olásra pedig azt tudom mondani, hogy így is megoldható a kódújrafelhasználás, de csak akkor, ha csak egyetlen funkció van, amit több fájlban akarsz felhasználni. Ha már több ilyen van, akkor persz meg lehet oldani úgy is, hogy minden egyes kódrészletet külön fájba raksz, és aztán azt include-olod be, amelyikre szükséged van, de ez egy idő után sok fájlhoz vezet, nem is beszélve arról, hogy az egyik kódrészletben nehezen lehet felhasználni egy másik kódrészletet.
Ráadásul figyelni kell arra, hogy az include-olt kódban nehogy véletlenül egy olyan nevű változót használj valamire, ami az őt behívó programban már valami egész más funkcióra használsz. Sokkal célszerűbb a függvények (function) használata, mert ez megoldja ezt a problémát is.

(#132) loszerafin válasza Edguy (#123) üzenetére


loszerafin
senior tag

Elvi hiba:
Mi a fenének akarsz php-ból táblát készíteni?
mysql konzollal sokkal egyszerűbb.

Vagy inkább egy szöveges fájlba írd be a táblakészítést, egy másikba a tábla törlést, egy harmadikba a véletlen adatokkal való feltöltést (sql parancsokkal).


Akkor már a php-re csak a látványos munka marad (pl. listázás, módosítás)

(#133) Zoltán válasza faster (#131) üzenetére


Zoltán
őstag

Nyilvánvaló, hogy elegánsabb, amit Te írsz, de nekem most súlyosabb hiányosságaim is vannak...

(#134) L3zl13 válasza loszerafin (#132) üzenetére


L3zl13
nagyúr

Szerencsére a PHPmyadmin készítői nem gondolkodtak ugyanígy... :DDD

Aki hülye, haljon meg!

(#135) faster válasza Zoltán (#133) üzenetére


faster
nagyúr

Sosem túl korai elsajátítani a jó programozástechnikát. Az sql_query használatát pedig azért ajánlottam, hogy gyorsabban kiderüljenek az adatbázislekérdezés problémák, amik nálam igen sűrűn előfordulnak.

[Szerkesztve]

(#136) Zoltán


Zoltán
őstag

Na, akkor (a fentieknek köszönhetően) van már egy szép kis regisztrációs oldalam. De most a beléptetéssel akadt problémám: Ellenőrzöm, hogy van-e az adatbázisban ilyen név, és azt is, hogy ilyen jelszó van-e, de azt nem tudom ellenőrizni, hogy ezek összetartoznak-e. Hogyan kell?

<?php
$jelszo= $_POST['jelszo';];
$nev = $_POST['nev';];
include (''connect.php'');

$lekeres1 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$nev' '');
if (mysql_num_rows($lekeres1) == 0)
{
while ( $row = mysql_fetch_array( $lekeres1 ) )
{
print ''Név/jelszó nem stimmel!'';
}
print ''Név/jelszó nem stimmel!'';
}

else
{

$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE jelszo= '$jelszo' '');
if (mysql_num_rows($lekeres2) == 0)
{
while ( $row = mysql_fetch_array( $lekeres2 ) )
{
print ''Rossz a jelszó!'';
}
print ''Rossz a jelszó!'';
}

else
{

header ( ''Location:feltolto.php'' );
exit();

}
}

?>

Én arra gondoltam, hogy így, de nem tudom helyes-e:

$lekeres1 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$nev' AND jelszo = '$jelszo' '');
if (mysql_num_rows($lekeres1) == 0)
{.......



[Szerkesztve]

(#137) Zoltán válasza faster (#135) üzenetére


Zoltán
őstag

Na, jó akkor ezt csak nem úszom meg, ugyanis kiderül: fogalmam sincs, mi az a sql_query. :B Ugyanis én még csak a mysql_query-ről hallottam. :B

(#138) L3zl13 válasza Zoltán (#136) üzenetére


L3zl13
nagyúr

A legszebb megoldás, ha egy lekérdezésben adod meg a két feltételt.


$lekeres1 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$nev' and jelszo= '$jelszo' '');



Így csak akkor lesz találat, ha a jelszó és a login is egyezik. Neked pedig pont erre van szükséged.

Aki hülye, haljon meg!

(#139) faster válasza Zoltán (#137) üzenetére


faster
nagyúr

#116-ban leírtam, ez egy saját függvény. Ugyanúgy kell használni, mint a mysql_query-t.

(#140) L3zl13 válasza Zoltán (#137) üzenetére


L3zl13
nagyúr

A sql_query-t fentebb írta faster (#116). Ez egy saját függvénye, amit ő szokott használni. Tulajdonképpen a mysql_query és a hibaüzi kiiratás egyben.

Aki hülye, haljon meg!

(#141) Zoltán válasza L3zl13 (#138) üzenetére


Zoltán
őstag

Nem lehet igaz!!!! Épp ebben a másodpercben írtam át a fenti HSZ-emet, hogy Én arra gondolok, hogy így ahogy most Te javasoltad! És ezt nem tanultam, hanem magamtól jöttem rá!!! :DD:DD:DD:DD:DD:DD:DD:DD

(#142) Zoltán válasza faster (#139) üzenetére


Zoltán
őstag

Bocs, csak már kifolyik a fülemen a php +mysql. Kicsit telítődtem. Legközelebb figyelmesebb leszek.:B

(#143) Zoltán


Zoltán
őstag

Oké, a jelszó és felhasználói név birtokában a gyerkőc belépett az adott oldalra. De ugye aki csak egyszerűen begépeli az url-t, az is belépett oda... Egyébként úgy tapasztalom, hogy sok weboldalon nem figyelnek erre. Tehát csak becopypastézom az url-t és nem kell belépben. Ilyen pl. az az oldal is, ahonnan most tanulom a mysql. :) (Mondjuk itt talán többet tanulok, mint ott...)

(#144) faster válasza Zoltán (#143) üzenetére


faster
nagyúr

Hát ez előfordul, bár azért szvsz a legtöbb oldalon figyelnek erre. Egyébként többek közt erre való a session kezelés, hogy ne lehessen csak úgy belépni akármilyen URL-re. Amióta a PHP-ben beépítve van a session kezelés, viszonylag egyszerű ezt a problémát orvosolni.

[Szerkesztve]

(#145) Zoltán válasza faster (#144) üzenetére


Zoltán
őstag

Oké, nemsokára úgyis a session-ok jönnek a php tanulás ütemtervemben. :) Addig meg a céloldalnak extrémhosszú és értelmetlen url-t adok. Sokat nem ér, de több a semminél.

(#146) loszerafin válasza L3zl13 (#134) üzenetére


loszerafin
senior tag

Aha, szóval a mysqladmin írói is olyan kódot készítettek, ami php-ből teljesen statikus adatbázist készít.
Tehát a mezőneveket, típusokat stb, azt NEM változtathatja a user. Hurrá.

(#147) VladimirR


VladimirR
nagyúr

olyat lehet csinalni, hogy van egy datetime mezo, de lekerdezeskor csak a honapot es napot mutassa (pl.: 05-25), vagy ezt utolag kell megoldanom, a kapott adatok vagdosgatasaval?

koszonom

(#148) L3zl13 válasza VladimirR (#147) üzenetére


L3zl13
nagyúr

select date_format(mezonev,'%m-%d') from tablanev ?

Aki hülye, haljon meg!

(#149) VladimirR válasza L3zl13 (#148) üzenetére


VladimirR
nagyúr

koszonom, nagyszeru

(#150) faster válasza loszerafin (#146) üzenetére


faster
nagyúr

Én is használtam már php-t DDL utasításokhoz, nincs mindenhol mysql konzol.

Útvonal

Fórumok  »  Szoftverfejlesztés  »  MySQL topic
Copyright © 2000-2024 PROHARDVER Informatikai Kft.