| Autor | Zpráva | ||
|---|---|---|---|
| Mudraon Profil * |
#1 · Zasláno: 14. 3. 2011, 21:14:13
Zdravim ...
Mam tu takovy problem... Chci si do mysql zapsat nejaky uzivatele ale vubec nevim proc mi to nechce pridavat driv mi tohle problemy nedelalo ale tedka porste nevim co s tim ... Connect to MySQL <?php
$mysqlServer = 'localhost';
$mysqlLogin = 'upimage.707.cz';
$mysqlHeslo = '*********';
$mysqlDatabaze = 'upimage_707_cz';
$link = mysql_connect($mysqlServer, $mysqlLogin, $mysqlHeslo);
if ( $link )
{
mysql_select_db( $mysqlDatabaze );
//echo 'Pripojeno';
}
else
{
Header("Location: ./error/mysql.html");
}
php?>a tady je script na pridani do mysql <? include "include/connect.php" ?>
<?
switch ($_GET[pg])
{
default:
echo"<a href='?pg=registration'> aaa </a>";
break;
case 'registration':
if($login=="" or $pass=="" or $email=="")
{
echo
"
<form method='post'>
Login : <input type='text' name='login'><br>
Password : <input type='password' name='pass'><br>
Email : <input type='text' name='email'><br>
<input type='submit' value='Registruj se'>
</form>
";
}
else
{
$user_vyber = MySQL_Query("SELECT * FROM user");
//-------------------------------------------------------
while ($user_db = MySQL_Fetch_Array($user_vyber))
{
if($login == $user_db[login])
{
$exist = "1";
}
}
if($exist == "1")
{
echo "Tento účet už existuje zvolte prosím jíný";
}
else
{
echo "Pridano";
$sha_pass = sha1($pass);
$ip = $_SERVER['REMOTE_ADDR'];
MySQL_Query("INSERT INTO user VALUES('','$login','$sha_pass','$email','$ip')");
}
}
break;
}
?>Tabulka vypada nasledovne : ID - Login - Password - Email - IP (INT AI - VARCHAR - VARCHAR - VARCHAR - VARCHAR) Dekuji za vsechny odpovedi... |
||
| TomasJ Profil |
#2 · Zasláno: 14. 3. 2011, 21:19:13 · Upravil/a: TomasJ
V 2. kódu řádek 3. a 29. nemá to být v uvozovkách nebo apostrofech? $_GET['pg'] a $user_db['login'] (nevím zda to být musí nebo ne).
MySQL_Query("INSERT INTO user (ID, Login, Password, Email, IP) VALUES('','$login','$sha_pass','$email','$ip')"); |
||
| Mudraon Profil * |
#3 · Zasláno: 14. 3. 2011, 21:27:00
TomasJ:
Bohuzel tyto rady nepomohly :-( porad se nic nestane :-( |
||
| TomasJ Profil |
#4 · Zasláno: 14. 3. 2011, 21:28:38 · Upravil/a: TomasJ
Mudraon:
Před MySQL_Query("INSERT INTO..."); dej echo "<br>".mysql_error()."<br>"; A pak napiš co ti to vypsalo. |
||
| Tori Profil |
#5 · Zasláno: 14. 3. 2011, 21:29:30 · Upravil/a: Tori
Mudraon:
Řádek 11: if($login=="" or $pass=="" or $email=="") K ověření existence uživatele: Je zbytečné tahat všechny řádky tabulky, když můžete použít ...WHERE `login` = '$login' TomasJ: Pokud neexistuje konstanta login, PHP to vyhodnotí jako nedefinovanou konstantu s hodnotou 'login'. Je samozřejmě lepší psát řetězce do apostrofů/uvozovek. |
||
| TomasJ Profil |
#6 · Zasláno: 14. 3. 2011, 21:32:07
Tori:
Pravda, tento kousek kódu mi úplně vypadl :) |
||
| Mudraon Profil * |
#7 · Zasláno: 14. 3. 2011, 21:35:43
Tori:
Diky ten register_globals me uplne vypadl taky sem dlouho php nedelal tak me to uplne vypadlo uz mi to vypise pridano ale v db se nic neukaze :-( |
||
| Mudraon Profil * |
#8 · Zasláno: 14. 3. 2011, 21:37:28
Pardon pardon ukaze se to tam asi byl nakej skluz uz to tam vidim :) Diky moc za pomoc :)
|
||
| Mudraon Profil * |
#9 · Zasláno: 14. 3. 2011, 21:38:17
Jen bych mel jeste takovej dotaz jestli ty regoster_globals muzu nejak zapnout ?
|
||
| TomasJ Profil |
#10 · Zasláno: 14. 3. 2011, 21:38:40 · Upravil/a: TomasJ
Mudraon:
MySQL_Query("INSERT INTO user (ID, Login, Password, Email, IP) VALUES('','$login','$sha_pass','$email','$ip')");EDIT: Mudraon: register_globals on do .htaccess, ale nedoporučuji zapínat, jsou nebezpečné. |
||
| TomasJ Profil |
#11 · Zasláno: 14. 3. 2011, 21:39:38 · Upravil/a: TomasJ
Omlouvám se za DP, smaže to prosím někdo z adminů? Děkuji. Původní text tohoto postu je v předchozím pod EDITEM.
|
||
| Tori Profil |
#12 · Zasláno: 14. 3. 2011, 21:42:14
Mudraon:
„Jen bych mel jeste takovej dotaz jestli ty regoster_globals muzu nejak zapnout ?“ Je to bezpečnostní riziko, proto jsou už většinou vypnuté. Jestli chcete číst nezávisle z POST i GET, tak použijte $_REQUEST, ale zapnuté globals neradím. |
||
| Mudraon Profil * |
#13 · Zasláno: 14. 3. 2011, 21:43:08
TomasJ:
Oki tak nezapinat takze jen takova technicka ... kdyz pouziju $neco = $_POST['neco'] tak uz se to da pocitat ze nebezpecne ? |
||
| TomasJ Profil |
#14 · Zasláno: 14. 3. 2011, 21:45:51 · Upravil/a: TomasJ
Mudraon:
Toto už se dá považovat za bezpečné, zápis je správný (až na to že chybí na konci středník (';')). Zpět k tématu, už jde vkládání do mysql? |
||
| Mudraon Profil * |
#15 · Zasláno: 14. 3. 2011, 21:47:49
TomasJ:
Ano ano vsechno funguje jak ma :-) Diky moc btw ano strednik sem v tom zapomnel ;) |
||
| 1Pupik1989 Profil |
#16 · Zasláno: 14. 3. 2011, 21:49:42
Navíc pokud je ID autoincrement, pak se tam nevkládá žádná hodnota a úplně se to vynechá.
MySQL_Query("INSERT INTO user (Login, Password, Email, IP) VALUES('$login','$sha_pass','$email','$ip')"); |
||
| Tori Profil |
#17 · Zasláno: 14. 3. 2011, 21:50:59
Mudraon:
Ještě by to chtělo ošetřit data, která posíláte do databáze (teda ty z formuláře): mysql_real_escape_string nebo intval. |
||
| Kajman_ Profil * |
#18 · Zasláno: 14. 3. 2011, 21:51:30
TomasJ:
„Toto už se dá považovat za bezpečné“ Možná kdyby tam bylo ještě použito mysql_real_escape_string na vkládané řetězce do dotazů. |
||
|
Časová prodleva: 15 let
|
|||
0