Mam problem z dodaniem avataru(zdjecia) ze swojego dysku.Mam na razie wybór avataru z podanych avatarów. Każdy ma przypisany numer który bierze później z bazy i wyswietla w profilu. Lecz tutaj jest inaczej. Musi zmienić nazwę dodawanego zdjecia na liczbe od 60 co dodanie w bazie dodaje +1 (czyli 61,62,63) żeby numerki się w folderze nie powtarzały. Nie potrafie tego zrobic oto kody:
  1. <?
  2. $sel = mysql_query("SELECT user FROM user WHERE user='$user'") or die (mysql_error()); // pobieram z tabeli dane dotyczace uzytkownika o danym loginie. Można pobrać to z sesji jeśli je się wczesniej ustawi
  3. while($s = mysql_fetch_array($sel))
  4. $user_id = $s['id']; // przypisuje id usera.
  5. $data = date('Y.m.d H:i'); // Aktualna data
  6. $plik_tmp = $_FILES['plik']['tmp_name'];
  7. $plik_nazwa = $_FILES['plik']['name'];
  8. $plik_rozmiar = $_FILES['plik']['size'];
  9.  
  10. if(isset($plik_tmp) && isset($plik_nazwa) && ($plik_rozmiar)){ //sprawdzamy czy wszystko jest ok z plikiem
  11. $sp = explode(".",$plik_nazwa); // funkcja explode rozdziela string wedlug jakiegoś kryterium. W tym wypadku według kropki
  12. if($sp[1] == "jpg") { // sprawdzamy jakie rozszerzenie ma plik który wysyłamy
  13. $up = move_uploaded_file($_FILES['plik']['tmp_name'],'images/avatars/'.$_FILES['plik']['name']); // przenosimy plik do katalogu avatar
  14. if ($up) // jeśli przenoszenie wykonało się poprawnie
  15. {
  16.  
  17. $sciezka_do_pliku = "images/avatars/$plik_nazwa"; // ustawiamy ścieżke pliku
  18.  
  19. // Sprawdzamy jakie rozszerzenie miał plik i wykonujemy dla niego nowy obrazek;
  20.  
  21. elseif($sp[1] == "jpg") {
  22. $img = imagecreatefromjpeg($sciezka_do_pliku);
  23. }
  24.  
  25. else {echo 'Możesz dodać avatar o rozszerzeniu jpg. Inne są nieobsługiwane.';}
  26.  
  27. $a = imagesx($img); // pobieramy szerokość i wysokość
  28. $b = imagesy($img);
  29.  
  30. if($a > $b){ //Zmieniamy wielkość obrazka w tym wypadku szerokość musi być 150 a wysokość proporcjonalna.
  31. $na = 49;
  32. $nb = 60 * ($b / $a);
  33. }elseif($a < $b){
  34. $na = 49 * ($a / $b);
  35. $nb = 60;
  36. }else{
  37. $na = 49;
  38. $nb = 60;
  39. }
  40.  
  41. $new_img = imagecreatetruecolor($na, $nb); // tworzymy nowy obrazek o danych wymiarach
  42. $cz = ImageColorAllocate($new_img,8 ,24 ,40); // tworzenie koloru. atrybuty to kolejno nowy obrazek i 3 kolory RGB - Red Green Blue
  43.  
  44. ImageFill($new_img,1,1,$cz); // tworzenie tła obrazka
  45. imagecopyresampled($new_img, $img, 0, 0, 0, 0, $na, $nb, $a, $b);
  46.  
  47. unlink('images/avatars/'.$user_id.'.jpg'); // usuwamy poprzedni plik avataru użytkownika
  48. @imagejpeg($new_img, "images/avatars/".$user_id.".jpg", 100); // cyfra 9 oznacza jakosc miniaturki, osobiscie polecam wartosc 100
  49.  
  50. $sciezka_do_pliku2 = "images/avatars/$user_id.jpg"; // ustawiamy ścieżke nowego pliku która będzie nam potrzebna do poźniejszej aktualizacji profilu użytkownika w bazie.
  51.  
  52. $a1 = mysql_query("UPDATE user SET avatar='$sciezka_do_pliku2' WHERE user='$user'") or die (mysql_error());
  53. }}}
  54. ?>

  1. <tr>
  2. <td>Ścieżka do pliku:</td>
  3. <td><form enctype="multipart/form-data" method="POST" target="avatar.php"><input name="plik" type="file" /><input type="submit" value="Wyślij"></form></td>
  4. <td class="podpowiedz">Wrzuć swój avatar z dysku.</td>
  5. </tr>


  1. <?php
  2. include "baza.php";
  3. $title = 'Registration';
  4. include "gora.php";
  5. define("OK", 0);
  6. define("ALL", 1);
  7. define("HASLA", 2);
  8. define("EMAILE", 3);
  9. define("REGULAMIN", 4);
  10. define("NICK", 5);
  11. define("HASLO", 6);
  12. define("EMAIL", 7);
  13. define("PEMAIL", 8);
  14. define("WP", 9);
  15. define("NAZWA_ZAJETA", 10);
  16. define("EMAIL_ZAJETY", 11);
  17. define("PANSTWO", 12);
  18. define("AVATAR", 13);
  19. function rejestruj($user, $haslo, $email, $imie, $miasto, $skype, $opis, $plec, $data, $panstwo, $avatar) {
  20. if(!isSet($_POST['user']) || !isSet($_POST['haslo']) || !isSet($_POST['haslo2']) || !isSet($_POST['email']) || !isSet($_POST['email2'])) {
  21. return ALL;
  22. } else if($_POST['haslo'] !== $_POST['haslo2']) {
  23. return HASLA;
  24. } else if($_POST['email'] !== $_POST['email2']) {
  25. return EMAILE;
  26. } else if(!isSet($_POST['regulamin'])) {
  27. return REGULAMIN;
  28. } else if(!isset($_POST['panstwo'])) {
  29. return PANSTWO;
  30. } else if(!isset($_POST['avatar'])) {
  31. return AVATAR;
  32. }
  33.  
  34. $dlugoscUser = strlen($_POST['user']);
  35. $dlugoscHaslo = strlen($_POST['haslo']);
  36. $dlugoscEmail = strlen($_POST['email']);
  37.  
  38. if($dlugoscUser < 3) {
  39. return NICK;
  40. } else if($dlugoscHaslo < 6) {
  41. return HASLO;
  42. } else if($dlugoscEmail < 5) {
  43. return EMAIL;
  44. } else if(strpos($_POST['email'], '@') === false) {
  45. return PEMAIL;
  46. }
  47. include "baza.php";
  48. $query = "SELECT COUNT(*) FROM user WHERE user='$user' ";
  49.  
  50. if(!$result = mysql_query($query)) {
  51. echo('An error has occurred: Instruction SELECT...');
  52. }
  53. if(!$row = mysql_fetch_row($result)) {
  54. echo('An error has occurred: Incorrect query results...');
  55. } else {
  56. if($row[0] > 0) {
  57. return NAZWA_ZAJETA;
  58. }
  59. }
  60.  
  61. $query = "SELECT COUNT(*) FROM user WHERE email='$email' ";
  62.  
  63. if(!$result = mysql_query($query)) {
  64. echo('An error has occurred: Instruction SELECT...');
  65. }
  66. if(!$row = mysql_fetch_row($result)) {
  67. echo('An error has occurred: Incorrect query results...');
  68. } else {
  69. if($row[0] > 0) {
  70. return EMAIL_ZAJETY;
  71. }
  72. }
  73. mysql_query("INSERT INTO user SET user='$user', haslo='$haslo', email='$email', imie='$imie', miasto='$miasto', skype='$skype', opis='$opis', plec='$plec', data_rej='$data', panstwo='$panstwo', avatar=$avatar, ip='".$_SERVER["REMOTE_ADDR"]."', kasa=5500, refleks=1, przyspieszenie=1, hamowanie=1, skrecanie=1, zmeczeniemax=100, wychodzenie=1, sledzenie=1 ");
  74. $ranking = mysql_fetch_row(mysql_query("SELECT id FROM user WHERE user='$user'"));
  75. mysql_query("UPDATE user SET ranking='".$ranking[0]."' WHERE user='$user'");
  76.  
  77. $count = mysql_affected_rows();
  78.  
  79. if($count <> 1) {
  80. echo "Registration Failed!";
  81. } else {
  82. return OK;
  83. }
  84. }
  85.  
  86. if(isSet($_SESSION['street-race'])) {
  87. echo "You can not register a new user because you are logged. First <a href='wyloguj.php'>Logout</a>";
  88. } else if(!isSet($_POST['user']) || !isSet($_POST['haslo']) || !isSet($_POST['haslo2']) || !isSet($_POST['email']) || !isSet($_POST['email2'])) {
  89. echo "To register, go <a href='rejestracja.php'>here</a>";
  90. } else {
  91.  
  92. $user = htmlspecialchars(trim(mb_strtolower($_POST['user'], "utf-8")));
  93. $haslo = md5(htmlspecialchars($_POST['haslo']));
  94. $email = htmlspecialchars($_POST['email']);
  95. if(isSet($_POST['imie'])) {
  96. $imie = htmlspecialchars($_POST['imie']);
  97. } else {
  98. $imie = '';
  99. }
  100. if(isSet($_POST['miasto'])) {
  101. $miasto = htmlspecialchars($_POST['miasto']);
  102. } else {
  103. $miasto = '';
  104. }
  105. if(isSet($_POST['skype'])) {
  106. $skype = (int)htmlspecialchars($_POST['skype']);
  107. } else {
  108. $skype = '';
  109. }
  110. if(isSet($_POST['opis'])) {
  111. $opis = htmlspecialchars($_POST['opis']);
  112. } else {
  113. $opis = '';
  114. }
  115. if(isSet($_POST['plec'])) {
  116. $plec = htmlspecialchars($_POST['plec']);
  117. } else {
  118. $plec = '';
  119. }
  120. if(isset($_POST['panstwo'])) {
  121. $panstwo = htmlspecialchars($_POST['panstwo']);
  122. } else {
  123. $panstwo = '';
  124. }
  125. if(isset($_POST['avatar'])) {
  126. $avatar = htmlspecialchars($_POST['avatar']);
  127. } else {
  128. $avatar = 1;
  129. }
  130. $data = date("Y-m-d");
  131.  
  132. $val = rejestruj($user, $haslo, $email, $imie, $miasto, $skype, $opis, $plec, $data, $panstwo, $avatar);
  133.  
  134. if($val == OK) {
  135. echo("You have been correctly registered. You can now log in using your username and password.");
  136. } else if($val == ALL) {
  137. echo("Fill in all required fields! <br /><a href='java script:history.go(-1)'>back</a><br />");
  138. } else if($val == HASLA) {
  139. echo("Enter the correct two of the same password! <br /><a href='java script:history.go(-1)'>back</a><br />");
  140. } else if($val == EMAILE) {
  141. echo("Enter the correct two of the same email address! <br /><a href='java script:history.go(-1)'>back</a><br />");
  142. } else if($val == HASLO) {
  143. echo("Your password must be at least 6 characters! <br /><a href='java script:history.go(-1)'>back</a><br />");
  144. } else if($val == EMAIL) {
  145. echo("Your email address is incorrect! <br /><a href='java script:history.go(-1)'>back</a><br />");
  146. } else if($val == PEMAIL) {
  147. echo("Please enter a valid email address. <br /><a href='java script:history.go(-1)'>back</a><br />");
  148. } else if($val == NAZWA_ZAJETA) {
  149. echo("This username is already taken! <br /><a href='java script:history.go(-1)'>back</a><br />");
  150. } else if($val == EMAIL_ZAJETY) {
  151. echo("Someone has already use this email address! <br /><a href='java script:history.go(-1)'>back</a><br />");
  152. } else if($val == PANSTWO) {
  153. echo("Incorrect country. <br /><a href='java script:history.go(-1)'>back</a><br />");
  154. } else if($val == AVATAR) {
  155. echo("Wrong avatar number. <br /><a href='java script:history.go(-1)'>back</a><br />");
  156. } else {
  157. echo("Server Error. Registration failed.");
  158. }
  159. }
  160. include "dol.php";
  161. ?>