Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 22 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok NapísalOffline : 05.12.2007 19:45

takze

vytvoril som tabulku:

Kód:
CREATE TABLE IF NOT EXISTS `tabulka1` (
  `cislo` int(3) NOT NULL auto_increment,
  `email` varchar(50) collate cp1250_czech_cs NOT NULL,
  `meno` varchar(20) collate cp1250_czech_cs NOT NULL,
  `priezvisko` varchar(20) collate cp1250_czech_cs NOT NULL,
  `obec` varchar(50) collate cp1250_czech_cs NOT NULL,
  `vek` int(3) NOT NULL,
  PRIMARY KEY  (`cislo`)


do tabulky davam udaje z formulara

Kód:

$pripojenie = mysql_connect("localhost", "***", "***");

mysql_select_db("tabulka1", $pripojenie);

$poziadavka = "INSERT INTO tabulka1 (email, meno, priezvisko, obec, vek) ";

$poziadavka .= "VALUES (\"$email\", \"$meno\", \"$priezvisko\", \"$obec\", \"$vek\");";

mysql_query($poziadavka) or die ("Stala sa chyba v spojeni s DB !");

mysql_close($pripojenie);

echo "Dakujeme. <br> Tvoje údaje boli odoslane ... ";



vsetko uz pekne funguje ...

no a pomohli by ste mi s tym, aby som do DB, resp. do tabulky tabulka1 nezadaval rovnake udaje, t.j. aby mi pri zadavani hodnot kontrolovalo v databaze, ci sa uz dane udaje nevyskytuju ... napriklad ak je uz jozko mrkvicka zadany v DB, aby mi ho nedovolilo zadat este raz ...

ak uz uzivatel existuje v DB, malo by php vyplut nejaky text, ze "dany uzivatel uz existuje a podobne ..."

snad rozumiete :)


Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 22.11.07
Prihlásený: 26.02.10
Príspevky: 253
Témy: 1
Bydlisko: 127.0.0.1
Príspevok NapísalOffline : 05.12.2007 20:17

povedzme ze si uz formular odoslal a zistujes ci zadany nick uz existuje. ked nie regne ho. ked ano vypise error. tak to musis spravit tak ze vytiahnes data z databazi kde nick = $_POST['nick'] a ked ma dotaz viac vysledkov ako 0 tak uz je taky zaznam cize kod:

Kód:
$sql = 'SELECT id FROM users WHERE nick='.$_POST['nick'];
$result = mysql_query($sql);
$nums = mysql_num_rows($result);

if ($nums != 0)
{
   print 'Takyto nick uz je registrovany';
}
else
{
  $sql = 'INSERT INTO users bla bla...';
}







_________________
PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber...
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 05.12.2007 20:40

nick je malo, to je ako keby som kontroloval len meno, ale ved ludia mozu mat rovnake meno ... mohol by si mi to upravit tak, povedzme aby kontrolovalo meno, priezvisko a mesto? proste 3 hodnoty ... potom je uz mala sanca ze sa najdu taki 2ja ludia ...


Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 05.12.2007 20:44

ved si to prerob na 3krat a potom napr urob tak ze
Kód:
if($nums_meno!==0 and $nums_priezvisko!==0 and $nums_mesto!==0)
{echo 'uz existuje';}
else
{echo 'moze byt';}

a btw vl4kn0 chyba ti tam jedno rovna sa: if ($nums != 0) ma byt if ($nums !== 0) :D


Offline

Správca fóra
Správca fóra
overenie, ci udaje v tabulke uz existuju

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 05.12.2007 20:51

v tom selecte proste pridas dalsie podmienky, ktore potrebujes:

Kód:
$sql = "SELECT id FROM users WHERE nick='{$_POST['nick']}' AND priezvisko='{$_POST['priezvisko']}' AND mesto='{$_POST['mesto']}'";







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 05.12.2007 21:01

Drako píše:
vl4kn0 chyba ti tam jedno rovna sa: if ($nums != 0) ma byt if ($nums !== 0) :D
a odkedy ? nejak mi to uslo. kedy to zas zmenili??cio?







_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 22.11.07
Prihlásený: 26.02.10
Príspevky: 253
Témy: 1
Bydlisko: 127.0.0.1
Príspevok NapísalOffline : 05.12.2007 21:12

drago ale vobec mi tam to rovnasa nechyba tak nefantaziruj:D
3 znaky su tam len na overenie ci sa rovna aj typ v tomto pripade kedze obydva typi su integer by to vyhodnocovalo spravne a bolo by to uplne zbytcone:D
a k tomu overovaniu viac inputov. mozes si to upravit ako len chces. to je natebe. ale overovanie mena by som zo zasady nedaval. kedze urcite existuju 2ja ludia co sa volaju rovnako. keby chces overovat napr nick a mail nepoviem. ale meno je zbytocne..







_________________
PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber...
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 05.12.2007 21:52

no ja som pocul ze ak chces porovnavat tak musis dat 2x rovna sa a ak chce priradovat tak staci jedno alebo to tak nieje???


Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 22.11.07
Prihlásený: 26.02.10
Príspevky: 253
Témy: 1
Bydlisko: 127.0.0.1
Príspevok NapísalOffline : 05.12.2007 22:00

ono je to tak
jedno rovna sa = je priradenie hodnoty
2 rovnasa == porovnavanie
3rovnasa === porovnavanie hodnoty a typu
prve je myslim jasne druhe tiez
az na to ze nerovna sa nahradzas to prve rovna sa ! cize !=
a pri troch !== to byb bolo porovnanie typu. cize napr v tretom priklade

$i = 1;

if ($i == true) // vracia true
if ($i ==1 ) vracia true
if ($i === 1) vracia true lebo 1==1 a int == int
if ($i === true) vracia false lebo 1==1 ale int nerovna sa boolean
a to iste mas ale s negaciou != a !== len prve rovnasa nahradzas vykricnikom







_________________
PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber...
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 06.12.2007 9:51

aha, to som mal vediet skor :D dikes


Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 06.12.2007 10:02

dikes za vsetky odpovede ...
no idem to skusit ... budem vas informovat ;)


Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 07.12.2007 12:52

skusil som to, ale vypisalo chybu , brrrr.

takze skusil som to takto (len meno testujem zatial):

Kód:
$pripojenie = mysql_connect("localhost", "***", "***");

mysql_select_db("dulius", $pripojenie);


//$sql = "SELECT id FROM tabulka1 WHERE meno='{$_POST['meno']}' AND priezvisko='{$_POST['priezvisko']}' AND obec='{$_POST['obec']}'";

$sql = 'SELECT id FROM tabulka1 WHERE meno='.$_POST['meno'];
$result = mysql_query($sql);
$nums = mysql_num_rows($result);

if ($nums != 0)
{echo 'take meno uz existuje';}
else
{

$poziadavka = "INSERT INTO tabulka1 (email, meno, priezvisko, obec, vek) ";

$poziadavka .= "VALUES (\"$email\", \"$meno\", \"$priezvisko\", \"$obec\", \"$vek\");";

mysql_query($poziadavka) or die ("Stala sa chyba v spojeni s DB !");

mysql_close($pripojenie);

echo "Ïakujeme. <br> Tvoje údaje boli odoslane ... <a href=\"vypis.php\">Preh¾ad podporovate¾ov</a>";

}


a vypisalo chybu:

Kód:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\VertrigoServ\www\index3.php on line 206


206 line je tento: $nums = mysql_num_rows($result);

asi s tymi premennymi niekde robim chybu...


Offline

Správca fóra
Správca fóra
overenie, ci udaje v tabulke uz existuju

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 07.12.2007 13:04

retazec v sql musi byt uzatvoreny do uvodzoviek alebo apostrofov

Kód:
$sql = "SELECT id FROM tabulka1 WHERE meno='".$_POST['meno']."'";







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 07.12.2007 13:17

stenley píše:
retazec v sql musi byt uzatvoreny do uvodzoviek alebo apostrofov

Kód:
$sql = "SELECT id FROM tabulka1 WHERE meno='".$_POST['meno']."'";

v tom to asi nebude, vypisuje tu istu chybu ...


Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 07.12.2007 13:18

select id ... to id tam ma byt? nema tam byt nieco ine?
co to znamena?

co som robil nejake pokusy, stale som daval select *, akoze vyber vsetkeho ...


Offline

Správca fóra
Správca fóra
overenie, ci udaje v tabulke uz existuju

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 07.12.2007 13:20

hmm a ta premenna $_POST['meno'] existuje? alebo si naozaj pripojeny k databaze? vyskusaj si ten prikaz napr v phpmyadmine, ci ti pojde...

id je nazov stlpca v tabulke, ak ho tam nemas, chyba bude v tom... znamena to, ze ti ziska z tabulky len tuto polozku, nic ine...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 07.12.2007 13:37

jasne, sakra ... ja som to skopiroval s tym id, pisal som, ze moja tabulka je taka:
Kód:
CREATE TABLE IF NOT EXISTS `tabulka1` (
  `cislo` int(3) NOT NULL auto_increment,
  `email` varchar(50) collate cp1250_czech_cs NOT NULL,
  `meno` varchar(20) collate cp1250_czech_cs NOT NULL,
  `priezvisko` varchar(20) collate cp1250_czech_cs NOT NULL,
  `obec` varchar(50) collate cp1250_czech_cs NOT NULL,
  `vek` int(3) NOT NULL,
  PRIMARY KEY  (`cislo`)


takze po prepisani
$sql = "SELECT id FROM tabulka1 WHERE meno='".$_POST['meno']."'";

na: $sql = "SELECT meno FROM tabulka1 WHERE meno='".$_POST['meno']."'";

mi to uz funguje
vdaka


Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 07.12.2007 14:26

no, a skusil som overit naraz 3 udaje ... meno, priezvisko a obec ...
ale nejde to ... zapise mi do tabulky aj ked su tieto 3 hodnoty rovnake ...

kod:

Kód:
$pripojenie = mysql_connect("localhost", "***", "***");

mysql_select_db("dulius", $pripojenie);


//$sql = "SELECT meno FROM tabulka1 WHERE  - toto slo v pohode, len s menom

$sql = "SELECT meno,priezvisko,obec FROM tabulka1 WHERE meno='{$_POST['meno']}' AND priezvisko='{$_POST['priezvisko']}' AND obec='{$_POST['obec']}'";


$result = mysql_query($sql);
$nums = mysql_num_rows($result);

if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0)   

//if ($nums != 0) - toto som mal predtym, ked len meno som kontroloval

{echo 'take meno, priezvisko, obec uz existuje';}

else
{

$poziadavka = "INSERT INTO tabulka1 (email, meno, priezvisko, obec, vek) ";

$poziadavka .= "VALUES (\"$email\", \"$meno\", \"$priezvisko\", \"$obec\", \"$vek\");";

mysql_query($poziadavka) or die ("Stala sa chyba v spojeni s DB !");

mysql_close($pripojenie);


}


kde robim chybu?


Offline

Správca fóra
Správca fóra
overenie, ci udaje v tabulke uz existuju

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 07.12.2007 14:35

chybu robis v tom, ze bezhlavo pouzivas kody, ktore ti sem niekto napise a nevies, co jednotlive prikazy znamenaju...

co podla teba znamna tento kus kodu?
Kód:
if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0)

je to uplne zle, v tvojom pripade nepouzitelne...

daj si tam namiesto toho toto:
Kód:
if($nums>0)

a malo by to ist







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 07.12.2007 14:50

stenley píše:
chybu robis v tom, ze bezhlavo pouzivas kody, ktore ti sem niekto napise a nevies, co jednotlive prikazy znamenaju...

co podla teba znamna tento kus kodu?
Kód:
if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0)

je to uplne zle, v tvojom pripade nepouzitelne...

daj si tam namiesto toho toto:
Kód:
if($nums>0)

a malo by to ist

podla mna ten kus kodu
Kód:
if($nums_meno != 0 and $nums_priezvisko !=0 and $nums_obec !=0)

znamena, ze ak sucasne nie su nulove tieto 3 hodnoty, teda nums obsahuje nejake pole s 3 hodnotami a tie 3 hodnoty by mali byt nulove , vtedy to moze zapisat ... ale asi to zle chapem a potom rovnako aj ti ludia, co mi to sem napisali :(


Offline

Správca fóra
Správca fóra
overenie, ci udaje v tabulke uz existuju

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 07.12.2007 15:04

pre lepsie pochopenie, premenna $nums obsahuje len jednu hodnotu tykajucu sa poctu vysledkov (riadkov), ktore vratil select (v tvojom pripade), cize obsahuje nejake cislo, ale ak nastala chyba, tak vracia false

ty tie premenne ($nums_meno, $nums_priezvisko, $nums_obec) ani nemas definovane, cize sa automaticky vykona vetva else - pridanie noveho riadku do tabulky...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
overenie, ci udaje v tabulke uz existuju

Registrovaný: 20.01.07
Prihlásený: 12.02.24
Príspevky: 401
Témy: 87
Príspevok Napísal autor témyOffline : 10.12.2007 12:40

dikes za objasnenie


Odpovedať na tému [ Príspevkov: 22 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Overenie hodnoty v tabulke

v PHP, ASP

1

399

17.06.2009 22:26

mienkofax Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. overenie hodnoty v tabulke

v PHP, ASP

1

588

25.02.2007 16:25

m@-nX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Text v tabulke

v HTML, XHTML, XML, CSS

2

454

28.01.2010 19:30

DARSON Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Otvaranie v tabulke

v HTML, XHTML, XML, CSS

3

620

05.12.2009 22:13

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. chyba v tabulke

v Databázy

13

826

01.09.2009 20:10

dessert Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. poradie v tabulke

v Assembler, C, C++, Pascal, Java

11

501

07.07.2010 21:55

hudi1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Border v tabulke

v HTML, XHTML, XML, CSS

11

547

11.09.2008 21:05

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vymenit riadky v tabulke

v JavaScript, VBScript, Ajax

4

541

27.12.2010 11:15

DeeJay3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] UPDATE v tabulke

v PHP, ASP

3

383

02.03.2009 12:58

jtomcik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Background image na tabulke

v HTML, XHTML, XML, CSS

4

351

01.09.2013 22:13

89Aquarius Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako pridať tabuľke collation

v Databázy

2

776

22.11.2010 17:43

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zoradenie dat v tabulke

v Databázy

3

626

26.05.2009 6:46

arno Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Po tabulke permanentne okno

v PHP, ASP

2

417

02.08.2011 11:51

Miko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmena poradia v tabulke

v Databázy

6

776

01.10.2009 9:38

jtomcik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zoradenie cisel v tabulke

v PHP, ASP

4

661

05.08.2009 17:38

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. obrázok v tabulke na pozadí

v HTML, XHTML, XML, CSS

2

649

11.08.2008 10:33

MANIAC Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra