Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zdjęcie przy rejestracji
Forum PHP.pl > Forum > Przedszkole
ebate
Chciałbym, aby przy rejestracji na moją stronę było obowiązkowe dołączanie zdjęcia.

Mój formularz rejestracyjny wygląda następująco:

  1. <?php
  2.  
  3. require('conn.php');
  4.  
  5. if (isset($_POST['konto']) and isset($_POST['password']) and isset($_POST['password2']))
  6.  
  7. {
  8.  
  9. if ($_POST['password']==$_POST['password2'])
  10.  
  11. {
  12.  
  13. $konto = mysql_real_escape_string (trim($_POST['konto']));
  14.  
  15. $password = sha1(mysql_real_escape_string (trim($_POST['password'])));
  16.  
  17. $imie = mysql_real_escape_string (trim($_POST['imie']));
  18.  
  19. $drugie_imie = mysql_real_escape_string (trim($_POST['drugie_imie']));
  20.  
  21. $nazwisko = mysql_real_escape_string (trim($_POST['nazwisko']));
  22.  
  23. $email = mysql_real_escape_string (trim($_POST['email']));
  24.  
  25. $miasto = mysql_real_escape_string (trim($_POST['miasto']));
  26.  
  27. $plec = mysql_real_escape_string (trim($_POST['plec']));
  28.  
  29. $data_urodzenia = date($_POST['data_urodzenia']['rok'].'.'.$_POST['data_urodzenia']['miesiac'].'.'.$_POST['data_urodzenia']['dzien']);
  30.  
  31. $numer_telefonu = mysql_real_escape_string (trim($_POST['numer_telefonu']));
  32.  
  33. $numer_gg = mysql_real_escape_string (trim($_POST['numer_gg']));
  34.  
  35. $ile =mysql_query("SELECT * FROM `user` WHERE login = '$konto'");
  36.  
  37. $ile = mysql_num_rows($ile);
  38.  
  39. if (empty($_POST['konto']))
  40.  
  41. {
  42.  
  43. echo "Wpisz swój login!";
  44.  
  45. exit;
  46.  
  47. }
  48.  
  49. if (empty($_POST['password']))
  50.  
  51. {
  52.  
  53. echo "Wpisz swoje hasło!";
  54.  
  55. exit;
  56.  
  57. }
  58.  
  59. if (empty($_POST['imie']))
  60.  
  61. {
  62.  
  63. echo "Wpisz swoje imię!";
  64.  
  65. exit;
  66.  
  67. }
  68.  
  69. if (empty($_POST['plec']))
  70.  
  71. {
  72.  
  73. echo "Wybierz swoją płeć!";
  74.  
  75. exit;
  76.  
  77. }
  78.  
  79. if ($ile==0) {
  80.  
  81. $zapytanie="INSERT INTO user (login,password,imie,drugie_imie,nazwisko,email,miasto,plec,data_urodzenia,n
    umer_telefonu,numer_gg) VALUES('$konto','$password','$imie','$drugie_imie','$nazwisko','$email','$miasto','$plec','$data_urodzenia','$numer_telefonu','$numer_gg')"
    ;
  82.  
  83. mysql_query($zapytanie) or die("Wystąpił błąd" );
  84.  
  85. echo('Konto '.$konto.' zostalo utworzone.</br><a href=index.php>Kliknij, aby wrócić do Strony głównej</a>');
  86.  
  87.  
  88.  
  89. }
  90.  
  91. else
  92.  
  93. {
  94.  
  95. echo("Taki uzytkownik juz istnieje. Kliknij <a href=register.php>wstecz</a> aby zarejestrowac sie ponownie");
  96.  
  97. }
  98.  
  99. }
  100.  
  101. else echo ("Podane hasla nie zgadzaja sie.</br><a href=register.php>Wróc, aby wpisac hasła poprawnie</a>");
  102.  
  103. }
  104.  
  105.  
  106. else{
  107.  
  108. ?>
  109.  
  110. <html>
  111.  
  112. <body>
  113.  
  114. <h1>Rejestracja</h1>
  115.  
  116. <form method="post" action="upload.php" enctype="multipart/form-data">
  117. <input type="hidden" name="MAX_FILE_SIZE" value="30000">
  118.  
  119. Wybierz plik który chcesz umieścić na serwerze:<br>
  120.  
  121. <input type="file" name="pliczek" size="40"><br>
  122. <input type="submit" value="Wgraj plik"><br>
  123.  
  124. <strong>*Login:</strong><input name="konto" type="text" value="" /><br>
  125.  
  126. <strong>*Hasło:</strong><input name="password" type="password" value="" /><br>
  127.  
  128. <strong>*Powtorz hasło:</strong><input name="password2" type="password" value="" /><br>
  129.  
  130. <strong>*Imię:</strong><input name="imie" type="text" value="" /><br>
  131.  
  132. <strong>Drugie imię:</strong><input name="drugie_imie" type="text" value="" /><br>
  133.  
  134. <strong>Nazwisko:</strong><input name="nazwisko" type="text" value="" /><br>
  135.  
  136. <strong>Miasto:</strong><input name="miasto" type="text" value="" /><br>
  137.  
  138. <strong>*Płeć:</strong><select name="plec"><option value="Mężczyzna">Mężczyzna</option><option value="Kobieta">Kobieta</option></select><br>
  139.  
  140. <strong>E-mail:</strong><input name="email" type="text" value="" /><br>
  141.  
  142. <strong>Numer telefonu:</strong><input name="numer_telefonu" type="text" value="" /><br>
  143.  
  144. <strong>Numer Gadu-Gadu:</strong><input name="numer_gg" type="text" value="" /><br>
  145.  
  146. <strong>Data urodzenia:</strong><select name="data_urodzenia[dzien]"><?php for ($i=1; $i<=31; $i++){echo "<option value='$i'>$i</option>";}?></select> <select name="data_urodzenia[miesiac]"><?php for ($i=1; $i<=12; $i++){echo "<option value='$i'>$i</option>";}?></select> <select name="data_urodzenia[rok]"><?php for ($i=2011; $i>=1900; $i=$i-1){echo "<option value='$i'>$i</option>";} ?></select><br>
  147.  
  148. <script type="text/javascript">
  149. <!-- //
  150. function regulamin()
  151. {
  152. if(document.getElementById('reg').checked == true )
  153. {
  154. document.getElementById('dalej').disabled=false;
  155. }
  156. else
  157. {
  158. document.getElementById('dalej').disabled=true;
  159. }
  160. }
  161. // -->
  162. </script>
  163.  
  164. <b>Oświadczam iż zaakceptowałem regulamin</b>
  165. <input type="checkbox" id="reg" onclick="regulamin()" /><br />
  166. <input type="submit" name="submit" value="Rejestracja" id="dalej" disabled="disabled" style="font-size: 10pt; font-family: Tahoma; font-weight: bold" />
  167.  
  168. </form>
  169.  
  170. </body>
  171.  
  172. </html>
  173.  
  174. <?php
  175.  
  176. }
  177.  
  178.  
  179.  
  180. ?>


Tabela w bazie mysql ma następującą formę:

  1. <?
  2.  
  3. require 'conn.php';
  4.  
  5.  
  6.  
  7. $sql0="create database if not exists test";
  8.  
  9.  
  10. $sql1="create table if not exists user(
  11.  
  12. id int(11) NOT NULL auto_increment,
  13.  
  14. login varchar(50) NOT NULL,
  15.  
  16. password varchar (40) NOT NULL,
  17.  
  18. email varchar (30) NOT NULL,
  19.  
  20. imie varchar (20) NOT NULL,
  21.  
  22. drugie_imie varchar (20) NOT NULL,
  23.  
  24. nazwisko varchar (60) NOT NULL,
  25.  
  26. data_rejestracji timestamp NOT NULL,
  27.  
  28. miasto varchar (50) NOT NULL,
  29.  
  30. plec varchar (10) NOT NULL,
  31.  
  32. data_urodzenia DATE,
  33.  
  34. numer_telefonu varchar (12) NOT NULL,
  35.  
  36. numer_gg varchar (12) NOT NULL,
  37.  
  38. sciezka varchar(255) NOT NULL,
  39.  
  40. PRIMARY KEY (id))";
  41.  
  42.  
  43. echo('Baza danych utworzona poprawnie')
  44.  
  45. ?>
  46.  


A oto kod odpowiedzialny za upload zdjęcia do katalogu i zapis scieżki w tabeli mysql:

  1. <?
  2. move_uploaded_file($_FILES['pliczek']['tmp_name'],"pliki/".$_FILES['pliczek']['name']);
  3. ?>
  4. <?php
  5. $connection = mysql_connect("localhost","login","haslo");
  6. $db = mysql_select_db("baza_danych", $connection);
  7. $name = 'pliki/'.$_FILES['pliczek']['name'];
  8. $sql="INSERT INTO user (sciezka)
  9. VALUES
  10. ('$name')";
  11.  
  12. if (!mysql_query($sql))
  13. {
  14. die('Błąd: ' . mysql_error());
  15. }
  16. echo "Plik został zapisany!<br>";
  17. ?>


Do rzeczy:

Chciałbym, aby osoba rejestrująca się dodała zdjęcie i jednocześnie podała swoje dane. Klikając przycisk "Rejestracja" osoba rejestrująca się wysyłała jednocześnie zdjęcie (do katalogu, a ściezke do mysql) i dane do bazy. W przypadku wypełnienia wymaganych danych, a nei załączenia zdjęcia aby wyskoczyło "Załaduj (lub wyślij) odpowiednie zdjęcie".

Z góry dziekuje
croc
Tak za darmo? ph34r.gif
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.