Autor | Zpráva | ||
---|---|---|---|
rovi Profil |
#1 · Zasláno: 18. 9. 2014, 20:32:54
V tomhle případě nevkládej v dotazu vůbec id a jeho hodnotu ''. Mmnt, upravím post...
|
||
lionel messi Profil |
michal454454:
Ten query, kt. vkladáš užívateľa (riadok 54, registrace.php): $sql= mysql_query("INSERT INTO uzivatele VALUES (NULL,'$nick','$md5_heslo','$email')") or die(mysql_error()); Ešte jedna poznámka, na ostrom produkčnom serveri nepoužívaj konštrukciu or die , hodí sa len na localhost.
|
||
michal454454 Profil |
#3 · Zasláno: 18. 9. 2014, 20:41:32
takze od zacatku mam tedy vytvoren databazi my sql wsalbiondat která je pripojena přes connect.php k registraci.php
všechno na první pohled funguje akorát to vypisuje upozorneni s tou zastaralosti verze.. takze by snad se mělo jit normalne ne localu zaregistrovat do databaze ne? nebo to musím udelat přes web server a vytvořit si na localu jinou databazi? jinak uz to vazne nechapu..diky za odpovedi |
||
rovi Profil |
#4 · Zasláno: 18. 9. 2014, 20:44:17
Musíš vynechat ty '' v dotazu
$sql = "INSERT INTO uzivatele VALUES($nick,$md5_heslo,$email)"; |
||
lionel messi Profil |
michal454454:
„takze by snad se mělo jit normalne ne localu zaregistrovat do databaze ne?“ Idem to skúsiť. Píše mi: Nastala chyba v pripojeni k databazi. |
||
lionel messi Profil |
rovi:
„Musíš vynechat ty '' v dotazu“ Radšej nech to uvedie tak, ako som písal v [#3], lepšie napísať pár znakov navyše, než sa diviť chybovej hláške column count doesn' match value count .
|
||
michal454454 Profil |
Dobra vlozim sem ty zdrojove kody ještě a ted by mi zajímalo co tedy na tom musim zmenit aby to fungovalo.. databazi nechám MySQL samotnou
connect.php <?php $db_server = 'localhost'; $db_login = 'root'; $db_password = "wsalbion789"; $db_name = 'wsalbiondat'; $spojeni = MySQL_Connect($db_server ,$db_login, $db_password); MySQL_Select_DB($db_name)or die('<p style="color: #CC0000">Nastala chyba v pripojeni k databazi'); mysql_query("set names utf8"); ?> fanszona(registrace).php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; UTF-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script src="jssslider.js"></script> <link rel="stylesheet" type="text/css" href="stylefanszona.css"> <title>WEST SANDWICH ALBION</title> </head> <body> REGISTRACE do FANSZÓNY <form action="#" method="post"> <table> <tr> <td>Nick: </td> <td><input type="text" name="nick" value="<?php if(isset($_POST["nick"])){echo $_POST["nick"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td>Heslo: </td> <td><input type="password" name="heslo" value="" size="25" tabindex="2" /></td> </tr> <tr> <td>Ověření hesla: </td> <td><input type="password" name="over_heslo" value="" size="25" tabindex="3" /></td> </tr> <tr> <td>Email: </td> <td><input type="text" name="email" value="<?php if(isset($_POST["email"])){echo $_POST["email"];}?>" size="25" tabindex="4" /></td> </tr> <tr> <td colspan="2"><input type="submit" name="submit" value="Registrovat se" /></td> </tr> </table> </form> <?php include "./connect.php";/* připojení k databázi */ if(isset($_POST['submit'])) { $nick = mysql_real_escape_string($_POST['nick']); $heslo = mysql_real_escape_string($_POST['heslo']); $over_heslo = mysql_real_escape_string($_POST['over_heslo']); $md5_heslo = md5($heslo); $email = mysql_real_escape_string($_POST['email']); /* — KONTROLA ZADANÝCH ÚDAJŮ — */ $user_check = mysql_query("SELECT login FROM uzivatele WHERE login='".$nick."'"); if($nick==""){echo"Nebyl vyplněn nick!";} else if(mysql_num_rows($user_check)){echo"Tento nick používá již jiný uživatel.";} else if($heslo==""){echo"Nebylo vyplněno heslo";} else if($over_heslo==""){echo"Nebylo vyplněno ověřovací heslo";} else if($heslo!=$over_heslo){echo"Vyplněná hesla se neshodují";} else if($email==""){echo"Nebyl vyplněn email";} else{ $sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error()); echo"Registrace byla úspěšně dokončena!"; } } ?> </body> </html> Tvorba databaze podle předlohy mysql> CREATE TABLE uzivatele (id INT(11) default NULL auto_increment, login var char(40) default NULL, heslo varchar(32) default NULL, email varchar(50) default NULL, PRIMARY KEY (id)) ENGINE=MyISAM default CHARSET=utf8; Query OK, 0 rows affected (0.16 sec) |
||
rovi Profil |
#8 · Zasláno: 18. 9. 2014, 21:06:17
lionel messi
byls rychlejší než má reakce. Určitě je lepší napsat pár znaků navíc než dumat, kde je chyba... |
||
michal454454 Profil |
#9 · Zasláno: 18. 9. 2014, 21:11:47
Prosím reknete mi co mam zmenit tedy v tech jednotlivých zdrojových kodech tak aby DB fungovala... diky moc :)
|
||
rovi Profil |
#10 · Zasláno: 18. 9. 2014, 21:15:39
Však už jsme Ti to postnuli. Jak máš sql dotaz pod [quote] nebyl vyplněn email [/quote] tak ho uprav a místo '' tam napiš NULL
|
||
michal454454 Profil |
#11 · Zasláno: 18. 9. 2014, 21:17:59
ted nevím který řádek myslíš je to tohle..?
$sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error()); echo"Registrace byla úspěšně dokončena!"; |
||
lionel messi Profil |
#12 · Zasláno: 18. 9. 2014, 21:20:00
michal454454:
„ted nevím který řádek myslíš je to tohle..?“ Áno. |
||
michal454454 Profil |
#13 · Zasláno: 18. 9. 2014, 21:21:53
jako místo tech uvozovek napsat co? nic? nechat to bez nich?
|
||
lionel messi Profil |
#14 · Zasláno: 18. 9. 2014, 21:22:33
michal454454:
„jako místo tech uvozovek napsat co?“ NULL |
||
michal454454 Profil |
#15 · Zasláno: 18. 9. 2014, 21:23:39
takze to bude takto?
$sql= mysql_query(NULLINSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')NULL) or die(mysql_error()); echo"Registrace byla úspěšně dokončena!"; |
||
rovi Profil |
#16 · Zasláno: 18. 9. 2014, 21:27:10
To ne, koukni na příspěvek [#3]
|
||
michal454454 Profil |
#17 · Zasláno: 18. 9. 2014, 21:31:39
takze je mam jenom vymazat ty "? nebo ja ted nevim uz..
|
||
lionel messi Profil |
$sql= mysql_query("INSERT INTO uzivatele VALUES (NULL,'$nick','$md5_heslo','$email')") or die(mysql_error()); echo"Registrace byla úspěšně dokončena!"; |
||
michal454454 Profil |
#19 · Zasláno: 18. 9. 2014, 22:03:43
Ted to funguje akorát jedine mi to porad vypisuje tu chybu s tou verzi databaze jinak uživatel se normalne zaregistruje, nevite ještě jak bych to varovani na tu verzi odstranil...? diky a vadit to nejak nevadi ne?
|
||
lionel messi Profil |
michal454454:
„nevite ještě jak bych to varovani na tu verzi odstranil...?“ Spôsobov je viacero. Napríklad na začiatok súboru connect.php napíš: <?php ini_set("display_errors", "Off"); error_reporting(0); musí to byť na úplnom začiatku, ešte pred pripojením k db. |
||
michal454454 Profil |
ok diky.. a potom tedy k registraci a prihlaseni na webhostingu budu potrebovat vyuzit databaze primo na tom jejich serveru tak například vyuzit databaze na webzdarma..? jinak to nepujde teda..
|
||
rovi Profil |
#22 · Zasláno: 18. 9. 2014, 22:32:57
To už je jedno jaký server s databází použiješ. Jestli máš veřejnou ip adresu, tak to můžeš používat i tu, co máš na localhostu, ale s tvou veřejnou ip. Ale k tomu je spousta dalšího řešení. Např. nefunkčnost webu při vypnutým tvojím pc.
Založ databázi na endoře a vyplň údaje v connect.php. OT: To máš toto jako maturitní práci? Jakou školu to děláš? Proč ses pustil do tohoto zadání, když to vůbec neovládáš? Jasně, děláš pokroky, ale máš hodně co dohánět. Budeš řešit např. práva uživatelů? Co administrační rozhraní? Strukturálně to bude pěkná prasárna. Doporučuju oddělit logiku (php skripty) od html zobrazení, aby se v tom alespoň někdo vyznal. Všimni si, že tvé kódy už mají skoro sto řádků... Za chvíli budeš mít milion souborů s miliardama řádků duplicitního kódu, který bude značně nestabilní. Pošli mi fb na admin@rovis.tk a pokecáme... Třeba ti pomůžu i s tim vedením DMP. Klidně špatně, ale alespoň se naučíš základy. Btw. jaké máš zadání DMP? |
||
michal454454 Profil |
#23 · Zasláno: 18. 9. 2014, 22:41:17
rovi:
ok uz jsem ti poslal email s fb |
||
Časová prodleva: 10 let
|
0