Hogyan kell létrehozni új sql táblát php-ban?
<?php
ob_start();
header('Content-Type: text/html; charset=charset=UTF-8');
include "kapcs.php";
$vezeteknev=$_POST['vezeteknev'];
$keresztnev=$_POST['keresztnev'];
$emial=$_POST['email'];
$jelszo=md5($_POST['pass']);
$jelszo2=md5($_POST['pass2']);
$ipcim= $_SERVER['REMOTE_ADDR'];
$tID = (rand(99,1));
$rID = $keresztnev . $tID;
$nev=$_GET["q"];
if (empty($jelszo)&& empty($jelszo2)){ die("jelszo mező üres");}
else {
if ($jelszo!=$jelszo2){ die("A két jelszó nem egyezik");}
else {
if (!empty($vezeteknev))
{
if (!empty($keresztnev))
{
if (!empty($emial))
{
//$email=mysql_escape_string($email);
//$jelszo=md5($jelszo);
$_SERVER['REMOTE_ADDR'];
$query="INSERT INTO library (vezeteknev, keresztnev, email, jelszo, ipcim, RID, datum) values ('$vezeteknev', '$keresztnev', '$email', '$jelszo', '$ipcim', '$rID', now())";
"<br/>a kérés:$query<br/>";
mysqli_query($mysqllink,$query) or die("lekérdési hiba: ".mysqli_error($mysqllink));
///Új tábla létrehozása
$sql=("CREATE TABLE `$rID` (
`uID` bigint(20) NOT NULL AUTO_INCREMENT,
`dokumentum` varchar(30) NOT NULL,
`datum` DATE NOT NULL ,
PRIMARY KEY (`uID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 auto_increment=0;");
echo"Sikeresen regisztráltál.";
}}
}
else {echo"nincs email cím";}
}}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<center>
<a href="dbelep.php"><H1>Kattints ide a belépéshez. </H1></a>
</center>
</div>
</div>
</div>
</div>
<br>
<br>
<br>
</body>
</html>
be másoltam az egész php hogy jobban átlátható legyen.. és nem hoz létre új táblát. lehet nem is jól probálkozok :(
/amúgy sokféleképpen probálkoztam és tudom nem szokás sorba be íratni a dolgokat de most így van :D /
Pár nüansz:
- Felhasználótól érkező értéket SOHA nem fogadunk el nyersen. Egyrészt amit lehet validálunk (például az e-mail címet a filter_var függvénnyel - [link] - vagy reguláris kifejezéssel), másrészt vagy escapeljük (mysqli_real_escape_string), vagy PDO-t használunk.
- Önmagában az MD5 nem elegendő jelszó ellenőrzőösszegének elkészítéséhez. Minimum sózzuk (például: md5("veletlenkarakterekettartalmazohosszustring123".$jelszo)), vagy legalább kombináljuk más hash-függvényekkel (sha1(), sha256()) de még inkább crypt() függvény használata javallott.
- A hibajelzéseket tessék a HTML-kód <body> és </body> elemei közé rakni - ronda, ha egy nyers, az oldaltól elütő visszajelzést kap a látogató.
- HTML kódban:
* <!DOCTYPE html> hiányzik
* <title> sem árt
* <center> tag elavult: ott a CSS text-align:center;
* a 4 </div> tag nem zár semmit
* <br> tag nem a blokk térközének növelésére szolgál: ott a CSS margin és padding értéke
"de miért nem jó ha új táblákat hozok létre minden felhasznnálónak?"
Mert a szerver erőforrásait feleslegesen pazarlod.
"midnen válhasználónak naplózni akarom hogy milyen fájlokat tölt fel "
Akkor csinálsz egy felhasználó táblát az alábbi mezőkkel:
- uID - a felhasználó azonosítója (auto_increment, primary_key)
- vezeteknev
- keresztnev
- jelszo
- ipcim
- datum
És egy dokumentumok táblát:
- dID - dokumentum azonosítója (auto_increment, primary_key)
- uID - a feltöltő felhasználó azonosítója (az előző táblához kapcsolva)
- dokumentum
- datum
Botnetet veszel alapul, és három triviális hiba is mondatodban, én sem tudom ki az idióta.
"zeus botnet is minden nap új táblát hoz létre a jelentéseknek úgy hogy anyira nem rosz megközelítés"
Dehát kaptál normális választ, nem értem hogy mit panaszkodsz.
Az meg hogy a botnet mi fán terem, nem tudom. Egyébként honnan tudod hogy minden jelentéshez másik táblát készít?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!