- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gban: Ingyen kellene, de tegnapra
- Szevam: Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
Új hozzászólás Aktív témák
-
Zoltán
őstag
Sziasztok!
Írtam ezt a kódot:
<?php
$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''...törölve...'';
$kapcsolat=mysql_connect($sqlhost, $sqluser, $sqlpass);
if (! $kapcsolat) die (''Nem lehet csatlakozni'');
print ''Sikerült a kapcsolat!'';
mysql_select_db($database)
or die (''Nem lehet megnyitni az adatbázist:''.mysql_error() );
print ''Sikerült kiválasztani a $database adatbázist!'';
mysql_close ($kapcsolat)
CREATE TABLE elsotablam
(
azonosito INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (azonosito),
nev VARCHAR (8),
jelszo VARCHAR (10),
email VARCHAR (250),
datum VARCHAR (20),
ip VARCHAR (250));
)
?>
De a 17. sorra ( Create table........) hibát ír. Addig biztos, hogy jó, amíg csatlakozik az adatbázishoz, csak a tábla fejlécét nem tudom létrehozni. Mit írhattam el?
Köszi előre is! -
Zoltán
őstag
válasz Tele von Zsinór #43 üzenetére
''ad1'' -Erre nem tudok, mit mondani, egyszerűen ilyen töketlen vagyok. Elnézést kérek.
''ad2'' -mert nem tudom, hogyan kell. Megírnád? Köszi!
[Szerkesztve] -
Zoltán
őstag
Szóval itt tartok:
<?php
$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''törölve'';
$kapcsolat=mysql_connect($sqlhost, $sqluser, $sqlpass);
if (! $kapcsolat) die (''Nem lehet csatlakozni'');
print ''Sikerült a kapcsolat!'';
mysql_select_db($database)
or die (''Nem lehet megnyitni az adatbázist:''.mysql_error() );
print ''Sikerült kiválasztani a $database adatbázist!'';
mysql_query(
CREATE TABLE elsotablam //ez lesz itt a tábla neve
(
azonosito INT NOT NULL AUTO_INCREMENT, //INT-egész szám
PRIMARY KEY (azonosito),
nev VARCHAR (8),
jelszo VARCHAR (10),
email VARCHAR (250),
datum VARCHAR (20),
ip VARCHAR (250));
)
);
mysql_close ($kapcsolat)
?>
Kedves Hozzáértők: Mondjátok el légyszi, hogy hogyan kellene helyesen használni a my_sql_query- t! Kökő!
[Szerkesztve] -
Zoltán
őstag
Most sikerült kapcsolódni az adatbázishoz, de semmit sem ír kia a $sorok-ra.
<?php
$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''3660qHhJyNkw6'';
$kapcsolat=mysql_connect($sqlhost, $sqluser, $sqlpass);
if (! $kapcsolat) die (''Nem lehet csatlakozni'');
print ''Sikerült a kapcsolat!'';
mysql_select_db($database)
or die (''Nem lehet megnyitni az adatbázist:''.mysql_error() );
print ''Sikerült kiválasztani a $database adatbázist!'';
mysql_query(''
CREATE TABLE probatabla
azonosito INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (azonosito),
nev VARCHAR (8),
jelszo VARCHAR (10),
email VARCHAR (250),
datum VARCHAR (20),
ip VARCHAR (250));
'');
$nev=''Anna'';
$jelszo=''bingo777'';
$email=''annana@franconmail.hu'';
$datum=''2004.11.27. - 17:20'';
$ip=''555.666.777.888'';
$parancs = ''INSERT INTO probatabla
(azonosito, nev, jelszo, email, datum, ip)
VALUES
('$azonosito','$nev','$jelszo','$email','$datum','$ip')'';
$sorlekerdez = mysql_query(''SELECT * FROM probatabla'');
$sorok= mysql_num_rows($sorlekerdez);
print ''$sorok'';
mysql_close ($kapcsolat)
?>
Tudtok ajánlani valami jó mysql tutorialt, mert amit én találtam az semmire se jó, mint az fentebb látszik. Köszi. -
Zoltán
őstag
Így (is) próbálom létrehozni a táblát:
mysql_query(''
CREATE TABLE probatabla
(azonosito INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (azonosito),
nev VARCHAR (8),
jelszo VARCHAR (10),
email VARCHAR (250),
datum VARCHAR (20),
ip VARCHAR (250);)
'');
Csatlakozni tudok az adatbázishoz, de a tábla nem jön létre. -
Zoltán
őstag
''bocsesz a kimaradasert,'' -ugyan, én örülök, hogy segítesz, amikor tudsz.
You have an error in your SQL syntax near ';) ' at line 10
Ezt a hibát írja ki.
Csak az a furcsa, hogy a 10. sorban még olyan kód van, hogy csatlakozzon az adatbázishoz, ami sikerül is, ki is írja, hogy oké! -
Zoltán
őstag
Most így próbáltam:
<?php
$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''.....'';
$kapcsolat=mysql_connect($sqlhost, $sqluser, $sqlpass);
if (! $kapcsolat) die (''Nem lehet csatlakozni'');
print ''Sikerült a kapcsolat!'';
mysql_select_db($database)
or die (''Nem lehet megnyitni az adatbázist:''.mysql_error() );
print ''Sikerült kiválasztani a $database adatbázist!'';
mysq_query(''create table probatabla ( id int(10) not_null, nev varchar(8), jelszo varchar(10), email varchar (250), datum varchar (20), ip varchar (250), primary key(id));'');
echo(mysql_error());
$nev=''Anna'';
$jelszo=''bingo777'';
$email=''annana@franconmail.hu'';
$datum=''2004.11.27. - 17:20'';
$ip=''555.666.777.888'';
$parancs = ''INSERT INTO probatabla
(id, nev, jelszo, email, datum, ip)
VALUES
('$id','$nev','$jelszo','$email','$datum','$ip')'';
mysql_query($parancs);
echo(mysql_error());
$sorlekerdez = mysql_query(''SELECT * FROM probatabla'');
$sorok= mysql_num_rows($sorlekerdez);
print ''$sorok'';
echo(mysql_error());
mysql_close ($kapcsolat)
?>
ez eddig a legjobb, mert lefut, semmi hibát nem ír ki a sok echo(mysql_error()); ellenére sem, meg kiírja, hogy sikerült csatlakozni, viszont még mindig nem írja ki a $sorok -at. Pedig utána van egy echo(mysql_error()); és így sem ír ki hibát.
Ki érti ezt? A tvn.hu -n próbálkozom. -
Zoltán
őstag
válasz VladimirR #65 üzenetére
Begépeltem betűről-betűre, le is fut, csatlakozik is az adatbázishoz (mint eddig mindig) viszont tovább most se jut, ezt írja ki:
Sikerült a kapcsolat létrehozása
Sikerült kiválasztani a db_ak48 adatbázist
Hiba a tabla létrehozásánál: You have an error in your SQL syntax near ''probatabla' ( 'id' int(10) not_null, 'nev' varchar(8) not null, 'jelszo' varc' at line 1 -
Zoltán
őstag
válasz VladimirR #67 üzenetére
NOT NULL-t kijavítottam, de még mindig ezt írja ki:
Sikerült a kapcsolat létrehozása
Sikerült kiválasztani a db_ak48 adatbázist
Hiba a tabla létrehozásánál: You have an error in your SQL syntax near ''probatabla' ( 'id' int(10) NOT NULL, 'nev' varchar(8) NOT NULL, 'jelszo' varc' at line 1
Idézőjelek-aposztrófok persze ki lettek rendesen cserélve. Az általad linkelt oldalakat pedig sajnos nem tudom elérni.
Már arra is gondoltam, hogy ilyen nevű tábla esetleg már létezik, azért nem tudom létrehozni. Hogyan tudom ellenőrizni, hogy milyen táblák vannak?
[Szerkesztve] -
Zoltán
őstag
válasz VladimirR #67 üzenetére
Na most fogtam magam és egyszerűen becopypastéztem a Te kódodat (és persze kicseréltem az aposztrófokat) és most jó! Csak azt nem értem, hogy ha Én írom be pontosan ugyanezt (szintaktikai hiba nélkül, hisz lefut, nem szól a php, hogy ebben és ebben a sorban hiba van), akkor miért nem jó? Meg 2 könyvet is megnéztem, hogy hogyan kell pontosan mit-hova írni és úgy csináltam. Nem értem. Örülök, hogy végre jó, csak bosszant, hogy nem tudom, hol volt a hiba. (Az meg mégsem mehet, hogy minden egyes mysql ténykedésemkor rohanjak ide, hogy írd le légyszi helyettem, mert csak úgy megy )
Köszönöm szépen!!
MOD: Most vettem észre, hogy az általad írt aposztróf máshogy néz ki, mint az általam írt! A tied döntött, az enyém (1-es fölötti shiftel) meg egyenes. (Összehasonlítottam a két kódot, (két notepadot egymás után gyorsan kapcsolgatva) így vettem észre). Ez meg mi a szösz lehet? Fontosak az aposztrófok vagy elhagyhatók, esetleg idézőjellel helyetesíthetők?
Köszi
[Szerkesztve] -
Zoltán
őstag
Megpróbáltam a következő sor adatot is feltölteni a táblába, de ezt írta ki:
Sikerült a kapcsolat letrehozasa
Sikerült kiválasztani a db_ak48 adatbázist
Hiba a lekerdezes kozben: Duplicate entry '0' for key 1
Gondolom azért, mert nem növeli autómatikusan a sorok számát. Erre jó az AUTO_INCREMENT , ugye?
Hogyan tudom ezt utólag belerakni a táblába?
Egyébként így próbáltam a 2. sort beletenni:
<?php
$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''37Ws8wHH2QdRg'';
$ujtabla = ''CREATE TABLE `probatabla` (''
. '' `id` INT(10) NOT NULL, ''
. '' `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` ''
. ''(`id`, `nev`, `jelszo`, `email`, `datum`, `ip`) ''
. ''VALUES ''
. ''('$id', '$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>'';
mysql_query($parancs, $kapcsolat) or die(''Hiba a lekerdezes kozben: ''.mysql_error().''<br>'');
print ''Sikerült beilleszteni az adatokat az adatbazisba<br>'';
$sorlekerdez = mysql_query(''SELECT * FROM `probatabla`'') 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;
mysql_close($kapcsolat);
?>
Tehát csak annyit csináltam, hogy kivettem a táblakészítést és kicseréltem a feltöltendő sor adatait. -
Zoltán
őstag
válasz VladimirR #71 üzenetére
Oké , köszi, akkor ez most rendben van. Letöröltem a 2 táblát és kezdtem előről. Most van egy ''probatablam'' , abban benne van az első sor (az Annás), autoincremant van, így id -t nem adok meg. Aztán az alábbi kóddal be akartam tenni a következő sort is, úgy tűnik bele is rakta, de nem tudja kiválasztani a ''Belapapa'' -s sort. Így próbáltam:
<?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>'';
mysql_query($parancs, $kapcsolat) or die(''Hiba a lekerdezes kozben: ''.mysql_error().''<br>'');
print ''Sikerült beilleszteni az adatokat az adatbazisba<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;
mysql_close($kapcsolat);
?>
Erre ezt írta ki:
Sikerült a kapcsolat letrehozasa
Sikerült kiválasztani a db_ak48 adatbázist
Sikerült beilleszteni az adatokat az adatbazisba
Hiba a lekerdezeskor: Unknown column 'Belapapa' in 'where clause'
Tehát úgy tűnik bele tette a 2. sort, de Belapapa nevűt nem talál.
MOD: biztos, hogy betette a 2. sort, mert a sorok számát jól le tudom kérdezni, de Belapapa-t sehol sem talál. Hogyan keressem? Illetve tudnál ajánlani egy rendes mysql (elektronikus) könyvet, mert úgy tűnik semmi sincs jól abban amit én találtam. Köszi!
[Szerkesztve] -
Zoltán
őstag
Egy éve még Én is hazajárogattam hétvégére.... Régi szép idők. Bár ha belegondolok, most is elég jó Te hova utaztál haza? Én Kvárra. Na, nosztagia OFF.
Szóval köszi, hogy számontartottad. Meg amúgy is jó, hogy benézett ide még egy hozzáértő arc, mert VladimirR segítőkészségével már kezdtem visszaélni... -
Zoltán
őstag
Olyat szeretnék csinálni, hogy a mysql táblázatomba ne lehessen már meglévő néven regisztrálni. Tehát adott egy tábla, amiben mondjuk van egy név és egy jelszó egy sorban. Egy űrlapon valaki meg akarja adni a nevét ($nev) és a jelszavát ($jelszo), ezek bekerülnek a táblázatba egy új sorba, a $nev a ''nev'', a $jelszo meg a ''jelszo'' oszlopba. De nekem ellenőriznem kell, hogy van-e már ilyen név. Arra gondoltam, hogy egy ilyennel oldanám meg:
$ellenorzes = mysql_query( ''SELECT * FROM tabla
WHERE nev='$nev' '');
$nev -ben ugye a most megadott név van. Ha ez sikeresen lefut, tehát nem talál ilyen nevet, akkor tenném csak be a most megadott nevet és jelszót a táblázatba, egyébként kiírnám, hogy ilyen már van. Csak az a problémám, hogy nem tudom, hogy mi van, ha talál ilyen sort a SELECT? Vagy ha nem talál? Akkor mit csinál a SELECT? -
Zoltán
őstag
Köszi!
Közben kipróbáltam, hogy mi van akkor, ha olyat akarok a SELECT-el kiválasztani, ami nincs:
$ilyennincs=''ilyennincs'';
$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$ilyennincs' '');
if ($lekeres2 !='''')
print (''$lekeres2'');
else
print ''0'';
( Biztos vagyok benne, hogy nincs olyan nevű emberke, hogy ''ilyennincs'' )
Ez szépen le is fut, de ezt írja ki:
Resource id #9
Ami azért furcsa, mert a 9. ID-jű emberke neve: ''őő'' , amint azt ki is írja, lásd: Bővebben: link
Ha tudod, hogy miért van ez, írd meg légyszi! Köszi! -
Zoltán
őstag
válasz VladimirR #82 üzenetére
Akkor most jól megy, ha olyat írok be ami nem létezik, de ha létező nevet, akkor nem ír ki semit, sőt a később jövő sorok sem futnak le. Most így áll:
$ilyennincs=''g'';
$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$ilyennincs' '');
if (mysql_num_rows($lekeres2) != 0)
{
while ($row = $result->fetch_assoc())
{
print ($row[''nev'');
}
}
else
{
print ''<br>nincs még ilyen név0'';
}
''g'' nevű emberke van és semmit sem ír ki. Meg az ezek utáni sorok sem futnak le (egy másik lekérdezés, ami eddig jól ment, meg akkor is jó, ha olyat adok meg $ilyennincs -nek, ami nincs.
Most mé' nem jó ? -
Zoltán
őstag
válasz VladimirR #92 üzenetére
Helyzet így is ugyanaz, mint a #91-ben. Nem írja ki a nevet és a progi sem fut tovább, tehát nem listázza ki az egész táblát (az jönne ezután). Ha nemlétező nevet írok be, akkor jól kiírja, hogy ilyen nincs és fut tovább a progi, tehát egy táblázatban kiírja, hogy mik vannak a táblában.
MOD: Na, rájöttem, így a jó a while:
while ( $row = mysql_fetch_array( $lekeres2 ) )
{
print $row[''nev'';
}
Most jó, örülök. Köszi mindhármótoknak!
[Szerkesztve] -
Zoltán
őstag
Agyam eldobom! Ha nem egy konkrét nevet adok meg, hanem egy véltozóban lévőt, akkor mindenképpen úgy érzékeli, hogy nincs még ilyen név:
Az user megad egy nevet, amin regelni szeretne, ez lenne a $nev
$ilyennincs=$nev;
$lekeres2 = mysql_query(''SELECT * FROM probatabla
WHERE nev= '$ilyennincs' '');
if (mysql_num_rows($lekeres2) != 0)
{
while ( $row = mysql_fetch_array( $lekeres2 ) )
{
print ''Már van ilyen név!'';
}
}
else
{
print ''<br>nincs még ilyen név0'';
}
Eddig jól ment, ha mondjuk: $ilyennincs=''g'';
ekkor jól kiírja, hogy ilyen nevű (g) már van. De ha változót írok oda, akkor meg mindenképpen úgylátja, hogy még nincs és engedi regelni.
Hogyan adhatok meg változót $ilyennincs-nek? -
Zoltán
őstag
Mit jelent trimmelni? Én vagyok a felhasználó és én adom meg egy űrlapon a nevet. Az űrlap:
<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'></FORM> -
Zoltán
őstag
-
Zoltán
őstag
Jelenleg ez a php kód:
<?php
$datum= date(''Y.m.d. - H:i'',time()); //a dátum kinyerése
$ip=''$REMOTE_ADDR''; //az ip kinyerése
$email= ''aaa@fff.pl''; //csak úgy megadok most egy e-mail címet.
$nev = $_POST['nev'; // ez ugye a html űrlapról jön át
$jelszo = $_POST['jelszo'; // ez ugye a html űrlapról jön át
print ''$nev''; //ellenőrzés, tényleg az van benne, amit a html űrlapon megadok.
$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.
{
print ''<br>nincs még ilyen név0'';
$uzenet='''';
if ($nev=='''')
$uzenet .= ''Nem adtad meg a nevedet!<br>\n'';
if (strlen ($nev )>8)
$uzenet .=''Ne má' a név max. 8 karakter lehet!<br>\n'';
if ($jelszo=='''')
$uzenet .= ''Nem adtad meg a jelszavad!<br>\n'';
if (strlen ($jelszo )>8)
$uzenet .=''Ki bírja ezt megjegyezni???<br>\n'';
if ($uzenet !='''')
{
print (''
<font color=#aa0000 size=+1>
<b>$uzenet</b></font>'');
exit();
}
else //ha hibaüzi sincs, akkor fut tovább
{
$database=''db_ak48'';
$sqlhost=''localhost'';
$sqluser=''ak48'';
$sqlpass=''37Ws8wHH2QdRg'';
$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>'';
mysql_query (''INSERT INTO probatabla (nev, jelszo, email, datum, ip)
VALUES ('$nev', '$jelszo', '$email', '$datum', '$ip')'',
$kapcsolat);
exit();
}
}
?> -
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.
-
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
-
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] -
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);
?> -
Zoltán
őstag
válasz steveetm #114 üzenetére
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!!
-
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''); -
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] -
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...)
Új hozzászólás Aktív témák
- Crypto Trade
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Starfield
- BestBuy topik
- Aliexpress tapasztalatok
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Alapértelmezett konfiguráción sok Core CPU-nak lehet stabilitási gondja
- Milyen program, ami...?
- Milyen hangkártyát vegyek?
- Futás, futópályák
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest