Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mysql + Instalacja ( USER I HASLO )
Forum PHP.pl > Forum > Przedszkole
b4x
  1. <table class="logo" align="center" width="600" border="0">
  2. <tr align="center">
  3. <td><h1>Instalacja CMS</H1></TD>
  4. </TR>
  5. <tr>
  6. <td><B>Poniżej wpisz dane:</B>
  7. <form ACTION="install.php?mode=install" method="post">
  8. <br />Serwer bazy danych MySql:
  9. <br /><input TYPE="textarea" name="host" value="localhost">
  10. <br />Użytkownik bazy danych MySql:
  11. <br /><input TYPE="textarea" name="user" value="">
  12. <br />Hasło bazy danych MySql:
  13. <br /><input TYPE="textarea" name="pass" value="">
  14. <br />Nazwa bazy danych MySql:
  15. <br /><input TYPE="textarea" name="db" value="">
  16.  
  17. <hr>Twoja nazwa admistratora:
  18. <br /><input TYPE="textarea" nname="admin" value="">
  19. <br />Twoje hasło:
  20. <br /><input TYPE="textarea" name="pass1" value="">
  21. <br />Powtórz Twoje hasło:
  22. <br /><input TYPE="textarea" name="pass2" value="">
  23. <br />
  24. <br /><input TYPE="submit" name="submit" value="INSTALUJ">
  25. </FORM></TD>
  26. </TR>
  27. </TABLE>
  28. </BODY>
  29. </HTML>';
  30. }
  31. else if ($_GET['mode']=='install')
  32. {
  33. $admin=$_POST['admin'];
  34. $pass1=$_POST['pass1'];
  35. $pass2=$_POST['pass2'];
  36. if ($pass1<>$pass2)
  37. {
  38. die('Hasła admina różni&plusmn; się od siebie');
  39. exit();
  40. $h=$_POST['host'];
  41. $u=$_POST['user'];
  42. $p=$_POST['pass'];
  43. $d=$_POST['db'];
  44.  
  45. $ppp=fopen('conf.inc.php',w);
  46. @fwrite($ppp,"<?php
  47. if (!defined('IN_PG'))
  48. {
  49. die ('Próba włamania');
  50. exit();
  51. }
  52. &#092;$_host='$h';
  53. &#092;$_user='$u';
  54. &#092;$_pass='$p';
  55. &#092;$_db='$d';
  56. ?>");
  57. @fclose('conf.inc.php');
  58. define('IN_PG',true);include('conf.inc.php');
  59. if (!mysql_connect($_host,$_user,$_pass))
  60. {
  61. die ('Nie udało się poł&plusmn;czyć z baz&plusmn; danych: '.$host.'.');
  62. exit();
  63. }
  64. if (!mysql_select_db($_db))
  65. {
  66. die ('Bł&plusmn;d wybierania bazy "'.$_db.'" z mysql.');
  67. exit();
  68. }
  69. #---
  70. @mysql_query("DROP TABLE IF EXISTS admin;");
  71. @mysql_query("CREATE TABLE admin (
  72. `username` varchar(64) NOT NULL default '',
  73. `pass` varchar(255) NOT NULL default ''
  74. ) TYPE=MyISAM;");
  75. #
  76. @mysql_query("INSERT INTO `admin` VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3');");
  77. #---
  78. @mysql_query("DROP TABLE IF EXISTS `config`;");
  79. @mysql_query("CREATE TABLE IF NOT EXISTS `config` (
  80. `conf_name` varchar(255) NOT NULL default '',
  81. `conf_value` text NOT NULL,
  82. KEY `conf_name` (`conf_name`)
  83. ) TYPE=MyISAM;");
  84. #


mam tutaj problem :/

@mysql_query("INSERT INTO `admin` VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3');"); dokladnie tutaj snitch.gif wprowadza tylko dane zawarte w tym ... tongue.gif
jak to zmienic zeby wprowadzalo dane zawarte w formularzu ?
w00t
  1. <?php
  2.  
  3. @mysql_query("INSERT INTO `admin` VALUES (\"$admin\"\"$pass1\")");
  4.  
  5. ?>


Jeśli dobrze zrozumiałem chcesz do zapytania wstawic zmienne formularza :]
Pozatym troche dziwnie to jest zrobione, za kazdym razem usuwa tabele ;o, no ale każdy ma swój projekt smile.gif
b4x
A jak zrobic zeby hash sie tworzyl ? tongue.gif
nospor
Cytat
A jak zrobic zeby hash sie tworzyl
A, to juz jest skomplikowana operacja. zeby ją wykonac, trzeba posiąść niesamowitą umiejetność korzystania z manuala smile.gif
http://pl.php.net/manual/en/ref.strings.php
masz tam miedzy innymi funkcje, co robią hash winksmiley.jpg
b4x
  1. <?php
  2. @chmod('conf.inc.php',0777);
  3. $chmod=substr(sprintf('%o', fileperms('conf.inc.php')), -3);
  4. if (!is_writeable('conf.inc.php'))
  5. {
  6. die('Plik conf.inc.php musi mieć prawa do zapisu (777)!
  7. <br />Obecnie jego prawa to: '.$chmod.'
  8. <br />Instalacja nie może zostac ukończona.');
  9. exit();
  10. }
  11. if (!isset($_GET['mode']))
  12. {
  13. <html>
  14. <head>
  15. <style TYPE="text/css">';
  16. readfile('style.css');
  17. echo'</STYLE>
  18. </HEAD>
  19. <body>
  20. <table class="logo" align="center" width="600" border="0">
  21. <tr align="center">
  22. <td><h1>Instalacja CMS</H1></TD>
  23. </TR>
  24. <tr>
  25. <td><B>Poniżej wpisz dane:</B>
  26. <form ACTION="install.php?mode=install" method="post">
  27. <br />Serwer bazy danych MySql:
  28. <br /><input TYPE="textarea" name="host" value="localhost">
  29. <br />Użytkownik bazy danych MySql:
  30. <br /><input TYPE="textarea" name="user" value="">
  31. <br />Hasło bazy danych MySql:
  32. <br /><input TYPE="textarea" name="pass" value="">
  33. <br />Nazwa bazy danych MySql:
  34. <br /><input TYPE="textarea" name="db" value="">
  35.  
  36. <hr>Twoja nazwa admistratora:
  37. <br /><input TYPE="textarea" nname="admin" value="">
  38. <br />Twoje hasło:
  39. <br /><input TYPE="textarea" name="pass1" value="">
  40. <br />Powtórz Twoje hasło:
  41. <br /><input TYPE="textarea" name="pass2" value="">
  42. <br />
  43. <br /><input TYPE="submit" name="submit" value="INSTALUJ">
  44. </FORM></TD>
  45. </TR>
  46. </TABLE>
  47. </BODY>
  48. </HTML>';
  49. }
  50. else if ($_GET['mode']=='install')
  51. {
  52. $admin=$_POST['admin'];
  53. $pass1=$_POST['pass1'];
  54. $pass2=$_POST['pass2'];
  55. if ($pass1<>$pass2)
  56. {
  57. die('Hasła admina różni&plusmn; się od siebie');
  58. exit();
  59. } 
  60. $h=$_POST['host'];
  61. $u=$_POST['user'];
  62. $p=$_POST['pass'];
  63. $d=$_POST['db'];
  64.  
  65. $ppp=fopen('conf.inc.php',w);
  66. @fwrite($ppp,"<?php
  67. if (!defined('IN_PG'))
  68. {
  69. die ('Próba włamania');
  70. exit();
  71. }
  72. \$_host='$h';
  73. \$_user='$u';
  74. \$_pass='$p';
  75. \$_db='$d';
  76. ?>");
  77. @fclose('conf.inc.php');
  78. define('IN_PG',true);include('conf.inc.php');
  79. if (!mysql_connect($_host,$_user,$_pass))
  80. {
  81. die ('Nie udało się poł&plusmn;czyć z baz&plusmn; danych: '.$host.'.');
  82. exit();
  83. }
  84. if (!mysql_select_db($_db))
  85. {
  86. die ('Bł&plusmn;d wybierania bazy "'.$_db.'" z mysql.');
  87. exit();
  88. }
  89. #---
  90. @mysql_query("DROP TABLE IF EXISTS admin;");
  91. @mysql_query("CREATE TABLE admin (
  92. `username` varchar(64) NOT NULL default '',
  93. `pass` varchar(255) NOT NULL default ''
  94. ) TYPE=MyISAM;");
  95. #
  96. crypt
  97. $hash = crypt($pass1);
  98. @mysql_query("INSERT INTO `admin` VALUES (\"$u\", \"$hash")");
  99. #---
  100. @mysql_query("DROP TABLE IF EXISTS `config`;");
  101. @mysql_query("CREATE TABLE IF NOT EXISTS `config` (
  102. `conf_name` varchar(255) NOT NULL default '',
  103. `conf_value` text NOT NULL,
  104. KEY `conf_name` (`conf_name`)
  105. ) TYPE=MyISAM;");
  106. #
  107. @mysql_query("INSERT INTO `config` VALUES ('week1', 'Niedziela|Czwartek|10:00|22:00');");
  108. @mysql_query("INSERT INTO `config` VALUES ('week2', 'Pi&plusmn;tek|Sobota|11:00|23:00');");
  109. @mysql_query("INSERT INTO `config` VALUES ('s', '10cm');");
  110. @mysql_query("INSERT INTO `config` VALUES ('m', '20cm');");
  111. @mysql_query("INSERT INTO `config` VALUES ('l', '30cm');");
  112. @mysql_query("INSERT INTO `config` VALUES ('sn', 'Mała');");
  113. @mysql_query("INSERT INTO `config` VALUES ('mn', '&brvbar;rednia');");
  114. @mysql_query("INSERT INTO `config` VALUES ('ln', 'Duża');");
  115. @mysql_query("INSERT INTO `config` VALUES ('3pizza', '1');");
  116. #---
  117. @mysql_query("DROP TABLE IF EXISTS `news`;");
  118. @mysql_query("CREATE TABLE IF NOT EXISTS `news` (
  119. `id` int(5) NOT NULL auto_increment,
  120. `data` date NOT NULL default '0000-00-00',
  121. `tresc` text NOT NULL,
  122. PRIMARY KEY (`id`)
  123. ) TYPE=MyISAM AUTO_INCREMENT=4 ;");
  124. #
  125. @mysql_query("INSERT INTO `news` VALUES (1, '2005-08-16', 'Nasza strona www otwarta!');");
  126. #---
  127. @mysql_query("DROP TABLE IF EXISTS `pizza`;");
  128. @mysql_query("CREATE TABLE IF NOT EXISTS `pizza` (
  129. `nazwa` varchar(255) NOT NULL default '',
  130. `sklad` varchar(255) NOT NULL default '',
  131. `s` varchar(16) NOT NULL default '',
  132. `m` varchar(16) NOT NULL default '',
  133. `l` varchar(16) NOT NULL default ''
  134. ) TYPE=MyISAM;");
  135. #---
  136. @mysql_query("DROP TABLE IF EXISTS `promocje`;");
  137. @mysql_query("CREATE TABLE IF NOT EXISTS `promocje` (
  138. `nazwa` varchar(255) NOT NULL default '',
  139. `tresc` text NOT NULL
  140. ) TYPE=MyISAM;");
  141. #---
  142. @mysql_query("DROP TABLE IF EXISTS `towar`;");
  143. @mysql_query("CREATE TABLE IF NOT EXISTS `towar` (
  144. `nazwa` varchar(255) NOT NULL default '',
  145. `typ` int(2) NOT NULL default '0',
  146. `cena` varchar(16) NOT NULL default '',
  147. `jednostka` varchar(16) NOT NULL default ''
  148. ) TYPE=MyISAM;");
  149. #---
  150. @mysql_query("DROP TABLE IF EXISTS `typy`;");
  151. @mysql_query("CREATE TABLE IF NOT EXISTS `typy` (
  152. `nazwa` varchar(255) NOT NULL default '',
  153. `pozycja` int(2) NOT NULL default '0',
  154. KEY `pozaycja` (`pozycja`)
  155. ) TYPE=MyISAM;");
  156. @mysql_query("INSERT INTO `typy` VALUES ('Napoje', 1);");
  157. header('Location: index.php');
  158. }
  159. ?>


Tak wyglada plik install.php ... tongue.gif

I cos mi nie instaluje użytkownika i haslo niewchodzi ;/
w00t
lol tongue.gif

  1. <?php
  2.  
  3. $sql = "INSERT INTO admin VALUES (\"$u\"\"$hash\")";
  4. @mysql_query($sql);
  5.  
  6. ?>


Literówka?
sorka ze zrobilem po swojemu tongue.gif
nospor
bardziej mi chodzilo o funkcje md5() lub sha1() winksmiley.jpg

kod co pokazales wywali ci parse errory:
  1. <?php
  2.  
  3. //...
  4. $hash = crypt($pass1);
  5. //...
  6.  
  7. ?>
bo niby co to ma byc? tak masz w kodzie, czy teraz tylko ci sie taki blad zrobil?
b4x
Napotkano następujący błąd: Dane nieprawidłowe !
Tak jakby haslo niewchodzilo :/
w00t
jak sie logujesz przy logowaniu musisz shashowac haslo jeszcze raz
b4x
nici sad.gif
nospor
do hashowania uzyj md5(). pole na haslo w bazie daj 32 znaki. powywalaj wszystkie malpy, bo tylko tracisz na poczatku info o bledach
  1. <?php
  2.  
  3. //....
  4. mysql_query("CREATE TABLE admin (
  5.   `username` varchar(64) NOT NULL default '',
  6.   `pass` varchar(32) NOT NULL default ''
  7. ) TYPE=MyISAM;");
  8.  
  9. $hash = md5($pass1);
  10. mysql_query("INSERT INTO `admin` VALUES ('$u', '$hash')");
  11. //....
  12.  
  13. ?>


przy logowaniu też musisz haslo potraktowac funkcją md5()

  1. <?php
  2.  
  3. //$login - login, ktore wpisal uzytkownik do logowania
  4. //$pass - haslo ktoe wpisal uzytkownik do logowania
  5. $pass = md5($pass);
  6. $sql = "select * from admin where username='$login' and pass='$pass'";
  7. //a tu se juz obrob to zapytanie
  8.  
  9. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.