Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Duple stvari u mysql bazi

[es] :: MySQL :: Duple stvari u mysql bazi

[ Pregleda: 1971 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.



+3 Profil

icon Duple stvari u mysql bazi13.02.2010. u 21:37 - pre 139 meseci
Pozdrav,
napravio sam skriptu za registriranje na sajt (da se korisnici registruju) e sad zanima me kako da napravim da se nemogu korisnici registrovati sa jednim e maiom i korisnickim imenom više puta evo kako sam podesio naredbu za stvaranje tablice

CREATE TABLE `korisnici` (
`idkorisnici` int(11) NOT NULL AUTO_INCREMENT,
`korisnickoime` varchar(20) NOT NULL,
`lozinka` varchar(30) NOT NULL,
`ime` varchar(100) NOT NULL,
`prezime` varchar(200) NOT NULL,
`email` varchar(200) NOT NULL default '',
PRIMARY KEY (`idkorisnici`)
);



Hvala vam unaprijed na pomoći
 
Odgovor na temu

vilyu
Web Developer
Beograd, Srbija

Član broj: 1188
Poruke: 444



+2 Profil

icon Re: Duple stvari u mysql bazi13.02.2010. u 21:55 - pre 139 meseci
Samo proveri da tog emaila i korisnickog imena nema u tabeli. A mozes da na korisnickoime stavis index UNIQUE.
Pera električar 0637129710, BG, preporučujem.
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.



+3 Profil

icon Re: Duple stvari u mysql bazi13.02.2010. u 23:36 - pre 139 meseci
dali mi možete malo bolje objasniti ne razumjem kako to da uradim jeli treba ubaciti nešto u mysql bazu ili nekako drugacije?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15437
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2342 Profil

icon Re: Duple stvari u mysql bazi14.02.2010. u 06:04 - pre 139 meseci
http://dev.mysql.com/doc/refman/5.1/en/create-table.html

Citat:

A UNIQUE index creates a constraint such that all values in the index must be distinct. An error occurs if you try to add a new row with a key value that matches an existing row. For all engines, a UNIQUE index allows multiple NULL values for columns that can contain NULL.


dakle ako napravis tabelu da bude:
Code:

CREATE TABLE `korisnici` (
  `idkorisnici` int(11) NOT NULL AUTO_INCREMENT,
  `korisnickoime` varchar(20) NOT NULL,
  `lozinka` varchar(30) NOT NULL,
  `ime` varchar(100) NOT NULL,
  `prezime` varchar(200) NOT NULL,
  `email` varchar(200) NOT NULL default '',
  PRIMARY KEY (`idkorisnici`),
  UNIQUE KEY `u_email` (`email`)
);


neces moci da ubacis korisnika sa emailom koji vec postoji. obrati paznju da ishendlujes sve greske koje ti mysql vrati kada probas da radis insert kako bi u svojoj aplikaciji mogao da znas da li je insert prosao ili je pukao i zasto.

isto tako mozes pre nego uradis insert, iz svoje aplikacije, da uradis select i proveris da li korisnik vec postoji pa u odnosu na odgovor nastavis dalje
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.



+3 Profil

icon Re: Duple stvari u mysql bazi14.02.2010. u 20:30 - pre 139 meseci
kako sad da postavim da kad korisnik unese mail koji već postoji u bazi da mu ispise "E-mail koji ste unijeli već postoji"

evo kako sam uradio

naredba za stvaranje tablice

CREATE TABLE `korisnici` (
`idkorisnici` int(11) NOT NULL AUTO_INCREMENT,
`ime` varchar(100) NOT NULL,
`prezime` varchar(200) NOT NULL,
`lozinka` varchar(30) NOT NULL,
`email` varchar(200) NOT NULL DEFAULT '',
`spol` varchar(100) NOT NULL,
`dan` decimal(10,0) NOT NULL default '0',
`mjesec` decimal(10,0) NOT NULL default '0',
`godina` decimal(10,0) NOT NULL default '0',
PRIMARY KEY (`idkorisnici`),
UNIQUE KEY `u_email` (`email`)
);




kod za upis

Code:
<?

if (!$_POST["SBunos"])

{
?>

<form method="post"  action="">
<b>Ime: </b>
<input type="text" name="ime" size="50"><br />
<b>Prezime: </b>
<input type="text" name="prezime" size="50"><br />
<b>Lozinka: </b>
<input type="text" name="lozinka" size="50"><br />
<b>E-mail: </b>
<input type="text" name="email" size="50"><br />

<b>Odaberi spol: </b>
<select name="spol">
<option>muško</option>
<option>žensko</option>
</select><br />

<b>Datum rodjenja: </b>
<b>Dan: </b>
<select name="dan">
<option>01</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select> 
<b>Mjesec: </b>
<select name="mjesec">
<option>Januar</option>
<option>Februar</option>
<option>Mart</option>
<option>April</option>
<option>Maj</option>
<option>Juni</option>
<option>Juli</option>
<option>Avgust</option>
<option>Septembar</option>
<option>Oktobar</option>
<option>Novembar</option>
<option>Decembar</option>
</select> 
<b>Godina: </b>
<select name="godina">
<option>1992</option>
<option>1991</option>
<option>1990</option>
<option>1989</option>
<option>1988</option>
<option>1987</option>
<option>1986</option>
<option>1985</option>
<option>1984</option>
<option>1983</option>
<option>1982</option>
<option>1981</option>
<option>1980</option>
<option>1979</option>
<option>1978</option>
<option>1977</option>
<option>1976</option>
<option>1975</option>
<option>1974</option>
<option>1973</option>
<option>1972</option>
<option>1971</option>
<option>1970</option>
</select><br />

<input type="submit" name="SBunos" value="Registriraj se" style="margin: 5px 0px 0px 0px;">
</form>

<?

} else {

include "Postavke.php";

$imebaze="INSERT INTO korisnici (ime, prezime, lozinka, email, spol, dan, mjesec, godina)

VALUES ('$_POST[ime]', '$_POST[prezime]', '$_POST[lozinka]', '$_POST[email]', '$_POST[spol]', '$_POST[dan]', '$_POST[mjesec]', '$_POST[godina]')";


if (mysql_query($imebaze))
{

if (empty($_POST[ime]))
{
echo "<center>Niste upisali <b>Ime</b>! </center>";
echo "<center><a href=\"javascript:history.back()\">Nazad</a></center>";

}

if (empty($_POST[prezime]))
{
echo "<center>Niste upisali <b>Prezime</b>! </center>";
echo "<center><a href=\"javascript:history.back()\">Nazad</a></center>";

}

if (empty($_POST[lozinka]))
{
echo "<center>Niste upisali <b>Lozinku</b>! </center>";
echo "<center><a href=\"javascript:history.back()\">Nazad</a></center>";

}

if (empty($_POST[email]))
{
echo "<center>Niste upisali <b>E-mail</b>! </center>";
echo "<center><a href=\"javascript:history.back()\">Nazad</a></center>";

}
else{

echo "Uspješno ste se registrirali!";

}

}

else{

echo "Nastala je greška pri registraciji!<br>" . mysql_error();

}


}

?>




i sta mislite dali je se to moglo kako jednostavnije uraditi. Hvala na pomoći
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15437
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2342 Profil

icon Re: Duple stvari u mysql bazi14.02.2010. u 20:46 - pre 139 meseci
mnogo ti ovo ne valja ...
pocni od: http://php.net/manual/en/security.database.sql-injection.php
nastavi na http://en.wikibooks.org/wiki/PHP_Programming/SQL_Injection

i onda mozes da porazmislis o php forumu .. posto je ovaj ipak vezan direktno za mysql ..

dalje ... nemoj nikada da korisniku izbacujes direkt mysql gresku .. to je ok za tebe da znas koja je greska bila ali inkad to nemoj da delis sa korisnicima.

pre nego uradis taj insert - odradi select count(*) from ... where email = ... i proveri da li ima taj mail ili ne .. pa znas da vratis nazad informaciju da li email postoji ili ne
 
Odgovor na temu

[es] :: MySQL :: Duple stvari u mysql bazi

[ Pregleda: 1971 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.