Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Sřg
 

Opret bruger-system virker ikke optimalt?

Hejsa Rowlers.


Har siddet og opgradet lidt i mit opret bruger-system, men har valgt at bruge en anden metode da den Danni viste mig i denne tråd ikke virkede, prøvede jeg en anden, en ven havde vist mig, dog virkede den heller ikke, den viser felter osv. men når jeg med vilje skriver forkert for at se om dens fejlmeddelser virker, melder den ikke fejl, tilgengæld bliver den først fejlmeddelse i rækken vist selvom man ikke har skrevet noget, og selvom man skriver korrekt, viser den, den stadig og når jeg kigger i dben ligger oplysningerne der heller ikke..
Min kode ser således ud:
  1. <select size="1" name="aarstal">
  2. <option selected="selected">Ikke angivet</option>
  3. <option>1900</option>
  4. <option>1901</option>
  5. <option>1902</option>
  6. <option>1903</option>
  7. <option>1904</option>
  8. <option>1905</option>
  9. <option>1906</option>
  10. <option>1907</option>
  11. <option>1908</option>
  12. <option>1909</option>
  13. <option>1910</option>
  14. <option>1911</option>
  15. <option>1912</option>
  16. <option>1913</option>
  17. <option>1914</option>
  18. <option>1915</option>
  19. <option>1916</option>
  20. <option>1916</option>
  21. <option>1917</option>
  22. <option>1918</option>
  23. <option>1919</option>
  24. <option>1920</option>
  25. <option>1921</option>
  26. <option>1922</option>
  27. <option>1923</option>
  28. <option>1924</option>
  29. <option>1925</option>
  30. <option>1926</option>
  31. <option>1927</option>
  32. <option>1928</option>
  33. <option>1929</option>
  34. <option>1930</option>
  35. <option>1931</option>
  36. <option>1932</option>
  37. <option>1933</option>
  38. <option>1934</option>
  39. <option>1935</option>
  40. <option>1936</option>
  41. <option>1937</option>
  42. <option>1938</option>
  43. <option>1939</option>
  44. <option>1940</option>
  45. <option>1941</option>
  46. <option>1942</option>
  47. <option>1943</option>
  48. <option>1944</option>
  49. <option>1945</option>
  50. <option>1946</option>
  51. <option>1947</option>
  52. <option>1948</option>
  53. <option>1949</option>
  54. <option>1950</option>
  55. <option>1951</option>
  56. <option>1952</option>
  57. <option>1953</option>
  58. <option>1954</option>
  59. <option>1955</option>
  60. <option>1956</option>
  61. <option>1957</option>
  62. <option>1958</option>
  63. <option>1959</option>
  64. <option>1960</option>
  65. <option>1961</option>
  66. <option>1962</option>
  67. <option>1963</option>
  68. <option>1964</option>
  69. <option>1965</option>
  70. <option>1966</option>
  71. <option>1967</option>
  72. <option>1968</option>
  73. <option>1969</option>
  74. <option>1970</option>
  75. <option>1971</option>
  76. <option>1972</option>
  77. <option>1973</option>
  78. <option>1974</option>
  79. <option>1975</option>
  80. <option>1976</option>
  81. <option>1977</option>
  82. <option>1978</option>
  83. <option>1979</option>
  84. <option>1980</option>
  85. <option>1981</option>
  86. <option>1982</option>
  87. <option>1983</option>
  88. <option>1984</option>
  89. <option>1985</option>
  90. <option>1986</option>
  91. <option>1987</option>
  92. <option>1988</option>
  93. <option>1989</option>
  94. <option>1990</option>
  95. <option>1991</option>
  96. <option>1992</option>
  97. <option>1993</option>
  98. <option>1994</option>
  99. <option>1995</option>
  100. <option>1996</option>
  101. <option>1997</option>
  102. <option>1998</option>
  103. <option>1999</option>
  104. <option>2000</option>
  105. </select>
  106. <br>
  107. <b>Måned:</b>
  108. <br>
  109. <select size="1" name="month">
  110. <option selected="selected">Ikke angivet</option>
  111. <option>Januar</option>
  112. <option>Februar</option>
  113. <option>Marts</option>
  114. <option>April</option>
  115. <option>Maj</option>
  116. <option>Juni</option>
  117. <option>Juli</option>
  118. <option>August</option>
  119. <option>September</option>
  120. <option>Oktober</option>
  121. <option>November</option>
  122. <option>December</option>
  123. </select>
  124. <br>
  125. <b>Dato:</b>
  126. <br>
  127. <select size="1" name="date">
  128. <option selected="selected">Ikke angivet</option>
  129. <option>1</option>
  130. <option>2</option>
  131. <option>3</option>
  132. <option>4</option>
  133. <option>5</option>
  134. <option>6</option>
  135. <option>7</option>
  136. <option>8</option>
  137. <option>9</option>
  138. <option>10</option>
  139. <option>11</option>
  140. <option>12</option>
  141. <option>13</option>
  142. <option>14</option>
  143. <option>15</option>
  144. <option>16</option>
  145. <option>17</option>
  146. <option>18</option>
  147. <option>19</option>
  148. <option>20</option>
  149. <option>21</option>
  150. <option>22</option>
  151. <option>23</option>
  152. <option>24</option>
  153. <option>25</option>
  154. <option>26</option>
  155. <option>27</option>
  156. <option>28</option>
  157. <option>29</option>
  158. <option>30</option>
  159. <option>31</option>
  160. </select>
  161. <br>
  162. <b>Email:</b>
  163. <br>
  164. <input type="text" name="email">
  165. <br>
  166. <input type="submit" value="Opret bruger" name="register_user">
  167. </form>
Nogle der kan sige mig hvad jeg har gjort galt?

OBS - Send helst koden i citat bokse istedet for kode-bokse tak :)
Sidst redigeret 21:44 31/07/2010

Pointfordeling

Forfatteren har lukket trĺden og har valgt at fordele de 10 point sĺledes:
Nicklas. 10 point
Oprettet af:

PHP

Point afsat: 10

Lukket
21:43 31/07/2010
Det der er jo bare de forskellige tekstbokse? Det har intet med databasen at gøre...
Oprettet af:

Kommentar
22:02 31/07/2010
Ja, kunne du evt vise os noget kode? :P
Oprettet af:

Kommentar
22:03 31/07/2010
Ups, glemte koden, kom til kun at sende tekstboksene, i får den lige:
  1. <?php
  2. session_start();
  3. include("config.php");
  4. $username = $_POST['username'];
  5. $usernamelen = strlen($username);
  6. $password1 = $_POST['password1'];
  7. $passwordlen = strlen($password1);
  8. $password2 = $_POST['password2'];
  9. $alder1 = $_POST['aarstal'];
  10. $alder2 = $_POST['month'];
  11. $alder3 = $_POST['date'];
  12. $email = $_POST['email'];
  13. $emaillen = strlen($email);
  14. if(usernamelen < 4)
  15. {
  16. echo "Dit brugernavn skal være på mindst 4 tegn!";
  17. }
  18. elseif(password1 != password2)
  19. {
  20. echo "Dine to passwords er ikke ens!";
  21. }
  22. elseif(passwordlen < 5)
  23. {
  24. echo "Dit brugernavn skal være på mindst 5 tegn!";
  25. }
  26. elseif(emaillen < 5)
  27. {
  28. echo "Din email er ikke gyldig!";
  29. }
  30. else
  31. {
  32. mysql_query("INSERT INTO users(username, password, email)VALUES('$username', '$password', '$email')");
  33. echo "Din bruger er nu oprettet!";
  34. }
  35. ?>
  36. <title>Opret bruger</title>
  37. <h2>Opret bruger</h2>
  38. <br>
  39. <br>
  40. <br>
  41. <form method="post" action="#">
  42. <b>Brugernavn:</b>
  43. <br>
  44. <input type="text" name="username">
  45. <br>
  46. <b>Password:</b>
  47. <br>
  48. <input type="password" name="password1">
  49. <br>
  50. <b>Gentag password:</b>
  51. <br>
  52. <input type="password" name="password2">
  53. <br>
  54. <b>Alder:</b>
  55. <br>
  56. <b>Årstal:</b>
  57. <br>
  58. <select size="1" name="aarstal">
  59. <option selected="selected">Ikke angivet</option>
  60. <option>1900</option>
  61. <option>1901</option>
  62. <option>1902</option>
  63. <option>1903</option>
  64. <option>1904</option>
  65. <option>1905</option>
  66. <option>1906</option>
  67. <option>1907</option>
  68. <option>1908</option>
  69. <option>1909</option>
  70. <option>1910</option>
  71. <option>1911</option>
  72. <option>1912</option>
  73. <option>1913</option>
  74. <option>1914</option>
  75. <option>1915</option>
  76. <option>1916</option>
  77. <option>1916</option>
  78. <option>1917</option>
  79. <option>1918</option>
  80. <option>1919</option>
  81. <option>1920</option>
  82. <option>1921</option>
  83. <option>1922</option>
  84. <option>1923</option>
  85. <option>1924</option>
  86. <option>1925</option>
  87. <option>1926</option>
  88. <option>1927</option>
  89. <option>1928</option>
  90. <option>1929</option>
  91. <option>1930</option>
  92. <option>1931</option>
  93. <option>1932</option>
  94. <option>1933</option>
  95. <option>1934</option>
  96. <option>1935</option>
  97. <option>1936</option>
  98. <option>1937</option>
  99. <option>1938</option>
  100. <option>1939</option>
  101. <option>1940</option>
  102. <option>1941</option>
  103. <option>1942</option>
  104. <option>1943</option>
  105. <option>1944</option>
  106. <option>1945</option>
  107. <option>1946</option>
  108. <option>1947</option>
  109. <option>1948</option>
  110. <option>1949</option>
  111. <option>1950</option>
  112. <option>1951</option>
  113. <option>1952</option>
  114. <option>1953</option>
  115. <option>1954</option>
  116. <option>1955</option>
  117. <option>1956</option>
  118. <option>1957</option>
  119. <option>1958</option>
  120. <option>1959</option>
  121. <option>1960</option>
  122. <option>1961</option>
  123. <option>1962</option>
  124. <option>1963</option>
  125. <option>1964</option>
  126. <option>1965</option>
  127. <option>1966</option>
  128. <option>1967</option>
  129. <option>1968</option>
  130. <option>1969</option>
  131. <option>1970</option>
  132. <option>1971</option>
  133. <option>1972</option>
  134. <option>1973</option>
  135. <option>1974</option>
  136. <option>1975</option>
  137. <option>1976</option>
  138. <option>1977</option>
  139. <option>1978</option>
  140. <option>1979</option>
  141. <option>1980</option>
  142. <option>1981</option>
  143. <option>1982</option>
  144. <option>1983</option>
  145. <option>1984</option>
  146. <option>1985</option>
  147. <option>1986</option>
  148. <option>1987</option>
  149. <option>1988</option>
  150. <option>1989</option>
  151. <option>1990</option>
  152. <option>1991</option>
  153. <option>1992</option>
  154. <option>1993</option>
  155. <option>1994</option>
  156. <option>1995</option>
  157. <option>1996</option>
  158. <option>1997</option>
  159. <option>1998</option>
  160. <option>1999</option>
  161. <option>2000</option>
  162. </select>
  163. <br>
  164. <b>Måned:</b>
  165. <br>
  166. <select size="1" name="month">
  167. <option selected="selected">Ikke angivet</option>
  168. <option>Januar</option>
  169. <option>Februar</option>
  170. <option>Marts</option>
  171. <option>April</option>
  172. <option>Maj</option>
  173. <option>Juni</option>
  174. <option>Juli</option>
  175. <option>August</option>
  176. <option>September</option>
  177. <option>Oktober</option>
  178. <option>November</option>
  179. <option>December</option>
  180. </select>
  181. <br>
  182. <b>Dato:</b>
  183. <br>
  184. <select size="1" name="date">
  185. <option selected="selected">Ikke angivet</option>
  186. <option>1</option>
  187. <option>2</option>
  188. <option>3</option>
  189. <option>4</option>
  190. <option>5</option>
  191. <option>6</option>
  192. <option>7</option>
  193. <option>8</option>
  194. <option>9</option>
  195. <option>10</option>
  196. <option>11</option>
  197. <option>12</option>
  198. <option>13</option>
  199. <option>14</option>
  200. <option>15</option>
  201. <option>16</option>
  202. <option>17</option>
  203. <option>18</option>
  204. <option>19</option>
  205. <option>20</option>
  206. <option>21</option>
  207. <option>22</option>
  208. <option>23</option>
  209. <option>24</option>
  210. <option>25</option>
  211. <option>26</option>
  212. <option>27</option>
  213. <option>28</option>
  214. <option>29</option>
  215. <option>30</option>
  216. <option>31</option>
  217. </select>
  218. <br>
  219. <b>Email:</b>
  220. <br>
  221. <input type="text" name="email">
  222. <br>
  223. <input type="submit" value="Opret bruger" name="register_user">
  224. </form>
Oprettet af:

Kommentar
06:53 01/08/2010
Du sætter også kun username, password, email ind i databasen?

Måske alle de andre felter ikke også skulle have en plads :(?
Oprettet af:

Afslĺet svar
09:37 01/08/2010
Har valgt ikke at sætte alder ind i databasen endnu, da man vidst kun kan sætte en variabel af gangen ind i en tabel?
Har prøvet med en array men virkede ikke.
Oprettet af:

Kommentar
09:39 01/08/2010
Så sæt dem ind enkelt vis. Altså month, year, day

Også udskrive dem som $vis['month'] $vis['year'] $vis['day'] Altså på den måde..
Oprettet af:

Kommentar
09:44 01/08/2010
mysql_query("INSERT INTO users(username, password, alder, email)VALUES('$username', '$password', '$alder[0], $alder[1], $alder[2]')")
Eller hvad? Men tror nu ikke det er problemet..
Sidst redigeret 09:50 01/08/2010
Oprettet af:

Kommentar
09:49 01/08/2010
fra linie 14 til 26 må du da få nogle errors over at du ikke har $ foran.
Oprettet af:

Kommentar
10:39 01/08/2010
Så er det rettet, nu virker noget af det, nu melder den de to første fejlmeddelser jeg har lavet, men de to sidste meddelser viser den ikke.. og selvom jeg skriver rigtigt i password melder den stadig fejl..
Oprettet af:

Kommentar
10:45 01/08/2010
Kør nogle for loops til at generere de der uendelig lange option lister.
Oprettet af:

Kommentar
15:33 01/08/2010
Kunne være en idé, men nu har jeg koden, så det burde ikke være nødvendigt nu, slet ingen der ved hvad der er galt?
Oprettet af:

Kommentar
16:48 01/08/2010
Må man se disse fejlmeddelelser? :-)
Og post lige den opdaterede kode...
Oprettet af:

Kommentar
18:50 01/08/2010
Fejlmeddelserne er nogle jeg selv har lavet til koden som f.eks, "Dine to passwords skal være ens!" de andre kan ses i koden, problemet er bare, de først to fejlmeddelser virker fint, men når den er nået til at tjekke password tjekker den dem og så stopper den..
Den opdaterede kode:
<?php
session_start();
include("config.php");
$username = $_POST['username'];
$usernamelen = strlen($username);
$password1 = $_POST['password1'];
$passwordlen = strlen($password1);
$password2 = $_POST['password2'];
$alder1 = $_POST['aarstal'];
$alder2 = $_POST['month'];
$alder3 = $_POST['date'];
$email = $_POST['email'];
$emaillen = strlen($email);
if($usernamelen < 4)
{
echo "Dit brugernavn skal være på mindst 4 tegn!";
}
elseif($password1 != password2)
{
echo "Dine to passwords er ikke ens!";
}
elseif($passwordlen < 5)
{
echo "Dit password skal være på mindst 5 tegn!";
}
elseif($emaillen < 5)
{
echo "Din email er ikke gyldig!";
}
else
{
mysql_query("INSERT INTO users(username, password, email)VALUES('$username', '$password', '$email')");
echo "Din bruger er nu oprettet!";
}
?>
<title>Opret bruger</title>
<h2>Opret bruger</h2>
<br>
<br>
<br>
<form method="post" action="#">
<b>Brugernavn:</b>
<br>
<input type="text" name="username">
<br>
<b>Password:</b>
<br>
<input type="password" name="password1">
<br>
<b>Gentag password:</b>
<br>
<input type="password" name="password2">
<br>
<b>Alder:</b>
<br>
<b>Årstal:</b>
<br>
<select size="1" name="aarstal">
<option selected="selected">Ikke angivet</option>
<option>1900</option>
<option>1901</option>
<option>1902</option>
<option>1903</option>
<option>1904</option>
<option>1905</option>
<option>1906</option>
<option>1907</option>
<option>1908</option>
<option>1909</option>
<option>1910</option>
<option>1911</option>
<option>1912</option>
<option>1913</option>
<option>1914</option>
<option>1915</option>
<option>1916</option>
<option>1916</option>
<option>1917</option>
<option>1918</option>
<option>1919</option>
<option>1920</option>
<option>1921</option>
<option>1922</option>
<option>1923</option>
<option>1924</option>
<option>1925</option>
<option>1926</option>
<option>1927</option>
<option>1928</option>
<option>1929</option>
<option>1930</option>
<option>1931</option>
<option>1932</option>
<option>1933</option>
<option>1934</option>
<option>1935</option>
<option>1936</option>
<option>1937</option>
<option>1938</option>
<option>1939</option>
<option>1940</option>
<option>1941</option>
<option>1942</option>
<option>1943</option>
<option>1944</option>
<option>1945</option>
<option>1946</option>
<option>1947</option>
<option>1948</option>
<option>1949</option>
<option>1950</option>
<option>1951</option>
<option>1952</option>
<option>1953</option>
<option>1954</option>
<option>1955</option>
<option>1956</option>
<option>1957</option>
<option>1958</option>
<option>1959</option>
<option>1960</option>
<option>1961</option>
<option>1962</option>
<option>1963</option>
<option>1964</option>
<option>1965</option>
<option>1966</option>
<option>1967</option>
<option>1968</option>
<option>1969</option>
<option>1970</option>
<option>1971</option>
<option>1972</option>
<option>1973</option>
<option>1974</option>
<option>1975</option>
<option>1976</option>
<option>1977</option>
<option>1978</option>
<option>1979</option>
<option>1980</option>
<option>1981</option>
<option>1982</option>
<option>1983</option>
<option>1984</option>
<option>1985</option>
<option>1986</option>
<option>1987</option>
<option>1988</option>
<option>1989</option>
<option>1990</option>
<option>1991</option>
<option>1992</option>
<option>1993</option>
<option>1994</option>
<option>1995</option>
<option>1996</option>
<option>1997</option>
<option>1998</option>
<option>1999</option>
<option>2000</option>
</select>
<br>
<b>Måned:</b>
<br>
<select size="1" name="month">
<option selected="selected">Ikke angivet</option>
<option>Januar</option>
<option>Februar</option>
<option>Marts</option>
<option>April</option>
<option>Maj</option>
<option>Juni</option>
<option>Juli</option>
<option>August</option>
<option>September</option>
<option>Oktober</option>
<option>November</option>
<option>December</option>
</select>
<br>
<b>Dato:</b>
<br>
<select size="1" name="date">
<option selected="selected">Ikke angivet</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<br>
<b>Email:</b>
<br>
<input type="text" name="email">
<br>
<input type="submit" value="Opret bruger" name="register_user">
</form>
Oprettet af:

Kommentar
18:53 01/08/2010
Lille ven dog, du har glemt et $ foran password2, se om det ikke hjælper :-)

My bad, kigger lige videre...
Sidst redigeret 19:18 01/08/2010
Oprettet af:

Kommentar
19:15 01/08/2010
<?php
session_start();
include("config.php");
$username = $_POST['username'];
$usernamelen = strlen($username);
$password1 = $_POST['password1'];
$passwordlen = strlen($password1);
$password2 = $_POST['password2'];
$alder1 = $_POST['aarstal'];
$alder2 = $_POST['month'];
$alder3 = $_POST['date'];
$email = $_POST['email'];
$emaillen = strlen($email);

if (!$_POST['register_user']) {
}
elseif ($usernamelen < 4)
{
echo "Dit brugernavn skal være på mindst 4 tegn!";
}
elseif($password1 != $password2)
{
echo "Dine to passwords er ikke ens!";
}
elseif($passwordlen < 5)
{
echo "Dit password skal være på mindst 5 tegn!";
}
elseif($emaillen < 5)
{
echo "Din email er ikke gyldig!";
}
else
{
mysql_query("INSERT INTO users(username, password, email)VALUES('$username', '$password', '$email')");
echo "Din bruger er nu oprettet!";
}
?>



Så burde den være der ;-)
Oprettet af:

Accepteret svar

Point modtaget: 10
19:32 01/08/2010
Så virker det :) Har lige et til hurtigt spørgsmål; Hvordan er det man gør sådan at man kun kan oprette enbruger med et bestemt brugernavn?
Oprettet af:

Kommentar
19:35 01/08/2010
$result = mysql_query("SELECT username FROM users WHERE username = '$username'");

if (mysql_num_rows($result) == $_POST['username'] {
die("Brugeren eksisterer allerede. :-)");
} elseif { mysql_query("INSERT INTO

Osv :-)
Oprettet af:

Kommentar
19:57 01/08/2010
Cookie skrev kl. 16:48 d. 01/08/2010
Kunne være en idé, men nu har jeg koden, så det burde ikke være nødvendigt nu, slet ingen der ved hvad der er galt?

Holy.. det der er nok en af de dårligste holdninger man overhovedet kan have til udvikling af software. Din kode skal være pæn at se på, og nem at rette til, overskuelig, dynamisk, DRY. Nogensinde hørt om refactoring?
Desværre er alt sammen noget, som man sjældent hører folk i PHP-verdenen implementere i deres systemer..
Oprettet af:

Kommentar
18:31 03/08/2010
Du skal vćre oprettet og logget ind for at svare pĺ en trĺd
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes