Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]rejestracja - przesłanie danych do bazy
Roller
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.04.2014

Ostrzeżenie: (0%)
-----


Witam. Potrzebuje małej pomocy. Ja sam głupek nie mogę sobie poradzić.
Opiszę sytuacje:
Mam stronkę, szybkie logowanie. Wpisuje dane jeśli nie ma ich w bazie to dodaje i mnie loguje przenoszac na kolejna strone. Natomaist podczas trwania tej sesji wchodze na kolejna strone i tam chce przeprowadzic szybka rejestracja, która doda do bazy nowe 3 rekordy. (nazwa, opis, pozniej jeszcze tematyka).
Rekordy maja byc dodane do zalogowanej obecnie sesji.
Jeśli trwa już zalogowana sesja to dodaje poprzez formularz dodatkowe rekordy do użytkownika w bazie danych.

Czyli do jego ID i NICKU doda: nazwa, opis, tematyka, ranga.

Ranga będzie losowo przyznawana (bez powtórzeń).

Następnie w kolejnym pliku gdy sprawdzi w sesji czy zgadza się NICK i RANGA to da mu dostęp do pewnej funkcji.

Rekordy mam utworzone w tabeli, chodź nie wiem czy o prawidłowych właściwiościach.

  1. <?php
  2. require_once('cfg.inc.php');
  3. require_once('libs/ShoutBox.class.php');
  4. require_once('libs/ShoutBoxDBMysql.class.php');
  5.  
  6. ini_set( 'display_errors', 'On' );
  7. error_reporting( E_ALL );
  8.  
  9. ?>
  10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  11. <html>
  12. <head>
  13. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  14. <title>ShoutBox</title>
  15. </head>
  16. <body>
  17. <?php
  18. require_once('libs/ShoutBox.class.php');
  19. require_once('libs/ShoutBoxDBMysql.class.php');
  20. $er = array();
  21. $jl = false; //w ifach jesli damy to na true, to na podstawie tego przekierujemy na strone shouta.
  22. if (!empty($_POST) && $_SESSION['nick']){
  23. if (empty($_POST['nazwa']))
  24. $er[] = 'Podaj nazwa';
  25. if (empty($_POST['opis']))
  26. $er[] = 'opis';
  27. if (empty($_POST['color']))
  28. $color = '000000';
  29. else{
  30. if (preg_match('/^[0-9a-f]{6}$/i',$_POST['color']))
  31. $color = $_POST['color'];
  32. else
  33. $er[] = 'Podany kolor jest nieprawidłowy';
  34. }
  35. if (empty($er)){
  36. $nazwa = htmlspecialchars($_POST['nazwa'], ENT_QUOTES);
  37. ShoutBoxDBMysql::MysqlConnect();
  38. $sql = 'select ID, NICK from ShoutBoxUser where nazwa=\''.$nazwa.'\'';
  39. $res = mysql_query($sql);
  40. if (!$res)
  41. $er[] = 'Błąd bazy danych';
  42. else{
  43. if (mysql_numrows($res) > 0){
  44. $row = mysql_fetch_array($res);
  45. $nick = $row['nick'];
  46. if ($nick == ($_SESSION['nick'])){
  47. $_SESSION['nazwa'] = $nazwa;
  48. $_SESSION['opis'] = $opis;
  49. $_SESSION['id'] = $row['ID'];
  50. if (file_exists('online.txt'))
  51. unlink('online.txt');
  52. $up = array();
  53. if ($cfg_shoutbox['user_activity'])// || isset($_POST['savecolor']))
  54. $up[] = 'LAST_ACTIVE_TIME=now()';
  55. if (isset($_POST['savecolor']))
  56. $up[] = "COLOR='$color'";
  57. if (!empty($up))
  58. mysql_query('update ShoutBoxUser set '.implode(',',$up). ' where ID='.$row['ID']);
  59. $_SESSION['justlogged'] = true;
  60. $jl = true;
  61.  
  62. //
  63. }
  64. else
  65. $er[] = 'Taki login już istnieje, a ty podałeś błędne hasło';
  66. } else { //brak takiego loginu to dodajemy do bazy i logujemy
  67. $sql = "insert into ShoutBoxUser values (null, '$nazwa', '$color', now())";
  68. $res = mysql_query($sql);
  69. if ($res)
  70. $er[] = 'Błąd bazy danychhh';
  71. else {
  72. $_SESSION['nazwa'] = $nazwa;
  73. $_SESSION['id'] = mysql_insert_id();
  74. $_SESSION['justlogged'] = true;
  75. $jl = true;
  76. if (file_exists('online.txt'))
  77. unlink('online.txt');
  78. }
  79. }
  80. }
  81. }
  82. }
  83. if ($jl){//po poprawnym zalogowaniu przenosimy na strone shouta
  84. echo 'dziala';
  85. }
  86.  
  87. if (!empty($er)){
  88. echo '<div style="color:red">';
  89. foreach ($er as $error)
  90. echo $error.'<br />';
  91. echo '</div>';
  92. }
  93. ?>
  94. <form method="post">
  95. <table>
  96. <tr>
  97. <td><label>nazwa: </label></td>
  98. <td><input type="text" name="nazwa" /></td><td> (jesli jestes nowy - podaj nowy nick, jeśli masz już konto - podaj swój nick)</td>
  99. </tr><tr>
  100. <td><label>opis: </label></td>
  101. <td><input type="text" name="opis" /></td><td>(jesli jestes nowy - podaj nowe hasło, jeśli masz już konto - podaj swoje hasło)</td>
  102. </tr><tr>
  103. <td><label>Kolor: </label></td>
  104. <td><input type="text" name="color" /></td><td>(podaj kolor, pod jakim chcesz być widziany. Kolor w postaci RRGGBB, np: FF00FF)</td>
  105. </tr><tr>
  106. <td colspan="3"><input type="checkbox" name="savecolor" checked="checked" />Zapisać kolor w bazie</td>
  107. </tr>
  108. <tr>
  109. <td colspan="3"><input type="submit" value="Start" /></td>
  110. </tr>
  111. </table>
  112. </form>
  113. <p>Nick "blocked" nie będzie mógł pisać.</p>
  114. </body>
  115. </html>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 14:00