Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Połączenie 2 kodów php
Forum PHP.pl > Forum > Przedszkole
ebate
Niejasno się wyraziłem. Mam kod php, który sprawdza mi, czy plik został wysłany czy nie. Również mam kod php przy rejestracji, który sprawdza mi, czy : istnieje podobne konto, czy hasła są poprawne. Jeśli jest wszystko dobrze wyświetla mi komunikat, że konto zostało założone. Do czego zmierzam: Chcę tak połączyć oba kody, aby w przypadku poprawnego loginu, hasła i zdjęcia wyświetlał mi komunikat, że konto zostało założone. W przypadku złego loginu, niepoprawnie powtórzonego hasła lub źle wysłanego pliku (a właściwie brak wysłanego pliku) wyświetlał się stosowny komunikat. Posiadane przeze mnie kody wszystko zawierają, lecz nie umiem (niestety) tych kodów połączyć. Bardzo proszę o pomoc.

Kod dotyczący wysyłanego pliku:
  1. if (is_uploaded_file($_FILES['pliczek']['tmp_name'])) {
  2. echo "File ". $_FILES['pliczek']['name'] ." upload prawidłowy.\n";
  3. echo "Wyświetlam treść\n";
  4. readfile($_FILES['pliczek']['tmp_name']);
  5. } else {
  6. echo "Możliwy atak przez uploadowanie pliku: ";
  7. echo "Plik '". $_FILES['pliczek']['tmp_name'] . "'.";
  8. }


A oto drugi kod, dotyczący sprawdzania loginu oraz hasła:
  1. if ($ile==0) {
  2.  
  3. $zapytanie="INSERT INTO user (login,password,imie,drugie_imie,nazwisko,email,miasto,plec,data_urodzenia,n
    umer_telefonu,numer_gg,sciezka) VALUES('$konto','$password','$imie','$drugie_imie','$nazwisko','$email','$miasto','$plec','$data_urodzenia','$numer_telefonu','$numer_gg','$name')"
    ;
  4.  
  5. mysql_query($zapytanie) or die("Wystąpił błąd" );
  6.  
  7. echo('Konto '.$konto.' zostalo utworzone, a zdjecie zostało wysłane.</br><a href=index.php>Kliknij, aby wrócić do Strony głównej</a>');
  8.  
  9.  
  10.  
  11. }
  12.  
  13. else
  14.  
  15. {
  16.  
  17. echo("Taki uzytkownik juz istnieje. Kliknij <a href=register.php>wstecz</a> aby zarejestrowac sie ponownie");
  18.  
  19. }
  20.  
  21. }
  22.  
  23. else echo ("Podane hasla nie zgadzaja sie.</br><a href=register.php>Wróc, aby wpisac hasła poprawnie</a>");
  24.  
  25. }
  26.  
  27.  
  28. else{
Dominis
Myśle ze jak byś troche pomyślał to sam byś to wymyślił jak to zrobic, jest wiele sposobów:
NP:

  1. if (is_uploaded_file($_FILES['pliczek']['tmp_name']) && $ile==0)
  2. /* rejestracja usera */
  3. else
  4. /*cos sie nie zgadza */


teraz pomysl jak go mozna wykorzystac u Ciebei w kodzie.
ebate
Przerobiłem kod następująco, lecz wiecznie wyskakuje błąd:

  1. if ($ile==0 && is_uploaded_file($_FILES['pliczek']['tmp_name'])) {
  2.  
  3. $zapytanie="INSERT INTO user (login,password,imie,drugie_imie,nazwisko,email,miasto,plec,data_urodzenia,n
    umer_telefonu,numer_gg,sciezka) VALUES('$konto','$password','$imie','$drugie_imie','$nazwisko','$email','$miasto','$plec','$data_urodzenia','$numer_telefonu','$numer_gg','$name')"
    ;
  4.  
  5. mysql_query($zapytanie) or die("Wystąpił błąd" );
  6.  
  7. echo('Konto '.$konto.' zostalo utworzone, a zdjecie zostało wysłane.</br><a href=index.php>Kliknij, aby wrócić do Strony głównej</a>');
  8. readfile($_FILES['pliczek']['tmp_name']);
  9.  
  10.  
  11. }
  12.  
  13. else
  14.  
  15. {
  16.  
  17. echo("Taki uzytkownik juz istnieje. Kliknij <a href=register.php>wstecz</a> aby zarejestrowac sie ponownie");
  18.  
  19. }
  20.  
  21. }
  22.  
  23. else echo ("Podane hasla nie zgadzaja sie.</br><a href=register.php>Wróc, aby wpisac hasła poprawnie</a>");
  24.  
  25. }
  26.  
  27.  
  28. else
  29.  
  30. {
  31. echo ("Dodaj zdjęcie");
  32.  
  33. }
  34.  
  35.  
  36. else{


Błąd:

Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\PIOTR\register.php on line 129

próbowałem w różny sposób ustawiać znak { ale ciągle coś wyskakuje. Wie może ktoś, co źle zrobiłem?
croc
  1. else
  2.  
  3. {
  4. echo ("Dodaj zdjęcie");
  5.  
  6. }
  7.  
  8.  
  9. else{


Tu masz jedno else pod drugim.
ebate
no tak tylko jest:

else{

?>

Dalej jest Kod html rejestracji php

I na końcu

<?php

}



?>

Czy jak to usunę nic się nie stanie, bedzie działało?
croc
Tego nie wie nikt, bo podałeś tylko fragment kodu.
ebate
Usunąłem to i jest inaczej. Otóż zawsze po zarejestrowaniu wyskakiwał komunikat "konto założone wróc....". Bez tego else również wyskakuje komunikat, lecz pod komunikatem cały czas jest formularz rejestracyjny
croc
Patrz: mój poprzedni post.
ebate
  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.  
  40. $fileData = pathinfo($_FILES['pliczek']['name']);
  41.  
  42. // pod $fileData['extension'] masz rozszerzenie pliku - możesz to wykorzystać
  43.  
  44. // do sprawdzenia czy plik ma takie rozszerzenie jak mieć powinien
  45.  
  46. // i jesli nie uzyć unlink($_FILES['pliczek']['tmp_name']); i zwrócić błąd ;)
  47.  
  48. $filename = $konto.'.'.$fileData['extension'];
  49.  
  50. move_uploaded_file($_FILES['pliczek']['tmp_name'],"pliki/".$filename);
  51.  
  52. $name = 'pliki/'.$filename;
  53.  
  54. if (empty($_POST['konto']))
  55.  
  56. {
  57.  
  58. echo "Wpisz swój login!";
  59.  
  60. exit;
  61.  
  62. }
  63.  
  64. if (empty($_POST['password']))
  65.  
  66. {
  67.  
  68. echo "Wpisz swoje hasło!";
  69.  
  70. exit;
  71.  
  72. }
  73.  
  74. if (empty($_POST['imie']))
  75.  
  76. {
  77.  
  78. echo "Wpisz swoje imię!";
  79.  
  80. exit;
  81.  
  82. }
  83.  
  84. if (empty($_POST['plec']))
  85.  
  86. {
  87.  
  88. echo "Wybierz swoją płeć!";
  89.  
  90. exit;
  91.  
  92. }
  93.  
  94.  
  95. if ($ile==0 && is_uploaded_file($_FILES['pliczek']['tmp_name'])) {
  96.  
  97. $zapytanie="INSERT INTO user (login,password,imie,drugie_imie,nazwisko,email,miasto,plec,data_urodzenia,n
  98. umer_telefonu,numer_gg,sciezka) VALUES('$konto','$password','$imie','$drugie_imie','$nazwisko','$email','$miasto','$plec','$data_urodzenia','$numer_telefonu','$numer_gg','$name')";
  99.  
  100. mysql_query($zapytanie) or die("Wystąpił błąd" );
  101.  
  102. echo('Konto '.$konto.' zostalo utworzone, a zdjecie zostało wysłane.</br><a href=index.php>Kliknij, aby wrócić do Strony głównej</a>');
  103.  
  104. readfile($_FILES['pliczek']['tmp_name']);
  105.  
  106. }
  107.  
  108. else
  109.  
  110. {
  111.  
  112. echo("Taki uzytkownik juz istnieje. Kliknij <a href=register.php>wstecz</a> aby zarejestrowac sie ponownie");
  113.  
  114. }
  115.  
  116. }
  117.  
  118. else echo ("Podane hasla nie zgadzaja sie.</br><a href=register.php>Wróc, aby wpisac hasła poprawnie</a>");
  119.  
  120. }
  121.  
  122. else
  123.  
  124. {
  125.  
  126. echo ("Dodaj zdjęcie");
  127.  
  128. }
  129.  
  130. else{
  131.  
  132. ?>
  133.  
  134. <html>
  135.  
  136. <body>
  137.  
  138. <h1>Rejestracja</h1>
  139.  
  140. <form action="register.php" method="post" enctype="multipart/form-data">
  141.  
  142. <strong>*Login:</strong><input name="konto" type="text" value="" /><br>
  143.  
  144. <strong>*Hasło:</strong><input name="password" type="password" value="" /><br>
  145.  
  146. <strong>*Powtorz hasło:</strong><input name="password2" type="password" value="" /><br>
  147.  
  148. <strong>*Imię:</strong><input name="imie" type="text" value="" /><br>
  149.  
  150. <strong>Drugie imię:</strong><input name="drugie_imie" type="text" value="" /><br>
  151.  
  152. <strong>Nazwisko:</strong><input name="nazwisko" type="text" value="" /><br>
  153.  
  154. <strong>Miasto:</strong><input name="miasto" type="text" value="" /><br>
  155.  
  156. <strong>*Płeć:</strong><select name="plec"><option value="Mężczyzna">Mężczyzna</option><option value="Kobieta">Kobieta</option></select><br>
  157.  
  158. <strong>E-mail:</strong><input name="email" type="text" value="" /><br>
  159.  
  160. <strong>Numer telefonu:</strong><input name="numer_telefonu" type="text" value="" /><br>
  161.  
  162. <strong>Numer Gadu-Gadu:</strong><input name="numer_gg" type="text" value="" /><br>
  163.  
  164. <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>
  165.  
  166.  
  167.  
  168. <script type="text/javascript">
  169. <!-- //
  170. function regulamin()
  171. {
  172. if(document.getElementById('reg').checked == true )
  173. {
  174. document.getElementById('dalej').disabled=false;
  175. }
  176. else
  177. {
  178. document.getElementById('dalej').disabled=true;
  179. }
  180. }
  181. // -->
  182. </script>
  183.  
  184.  
  185. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  186.  
  187. <strong>Wybierz swoje zdjęcie:</strong><br>
  188.  
  189. <input type="file" name="pliczek" size="40" /><br>
  190.  
  191. <b>Oświadczam iż zaakceptowałem regulamin</b>
  192.  
  193. <input type="checkbox" id="reg" onclick="regulamin()" /><br />
  194.  
  195. <input type="submit" name="submit" value="Rejestracja" id="dalej" disabled="disabled" style="font-size: 10pt; font-family: Tahoma; font-weight: bold" />
  196.  
  197. </form>
  198.  
  199. </body>
  200.  
  201. </html>
  202.  
  203. <?php
  204.  
  205. }
  206.  
  207. ?>
  208.  
  209.  
croc
Kod jest bardzo pogmatwany. Może pokusisz się o plik o takiej strukturze:

  1. <?php
  2.  
  3. if(isset($_POST['nazwa'])) { // "nazwa" to wartość atrybutu name przycisku submit
  4. $errors = array();
  5. if(/* jakiś błąd */) {
  6. $errors[] = 'Treść błędu';
  7. }
  8. if(/* inny błąd */) {
  9. $errors[] = 'Treść błędu';
  10. }
  11.  
  12. if(empty($errors)) {
  13. die('Udało się!');
  14. }
  15. else {
  16. die(implode('<br>', $errors));
  17. }
  18. }
  19.  
  20. ?>
  21. A tutaj HTML z formularzem


Chociaż jeszcze lepszym pomysłem byłoby zastosowanie tzw. sticky forms, dzięki czemu błędy nie wiązałyby się z koniecznością wypełniania wszystkiego od początku. Z taką strukturą jak powyższa, zrobienie sticky forms jest łatwe.
ebate
Podany przez Ciebie kod dotyczy tylko i wyłacznie czy plik został wysłany czy nie, czy również łączy się czy współgra z tą częścią kodu odpowiedzialna za komunikaty że konto zostało założone, czy błędy?

Może dla Ciebie to "debilne" pytania ale ja się uczę i staram sie.
croc
To jest ogólna struktura, która pozwala na łatwiejsze odnalezienie czegokolwiek w kodzie. Twój kod jest zrobiony tak, że dodanie np. jakiegoś pola będzie utrudnione. Rozumiesz wszystkie elementy tej struktury i jej sens? Proponuję Ci ją, bo przerabianie Twojego kodu to praca na marne, bo łatwo o kolejne błędy w takim nieustrukturyzowany kodzie.
ebate
No tak szybko to jeszcze nie zrozumiałem ale spokojnie mam czas zaczynam kumac.

Dzięki za wyrozumiałość i pomoc.
croc
Nie ma za co. Spróbuj przerobić swój kod i daj znać czy Ci się udało.
ebate
Coś próbuje i natrafiłem na pierwszy problem.

Chcę zrobic IFa, że jezeli hasła się nie zgadzają to wyskakuje błąd.

Jest
  1. if ($_POST['password']==$_POST['password2'])
  2.  
  3. {
  4.  
  5. $errors[] = 'Podane hasła nie zgadzają się!';
  6.  
  7. }


Wiem, że to co podałem jest sprzeczne ze sobą, więc moje pytanie brzmi: jakie jest przeciwieństwo $_POST['password']==$_POST['password2']? Wiem, że to oznacza "hasło1 jest równe hasło2", a chce aby oznaczało "hasło1 nie jest równe haslo2". domyślam się, że to jakaś błahostka ale ja osobiscie nigdy się z tym nie zetknąłem.
croc
!=
gorden
podstawy, podstawy, podstawy: operatory. operator != lub !==
ebate
croc - Jestem Ci ogromnie wdzięczny za rady dane mi w tym temacie. Przerobiłem swój kod na kod o strukturze, którą Ty mi zasugerowałeś. I miałeś racje! Nie dość, że zrozumiałem cały kod, to jeszcze... działa! Dla takiego zielonego nowicjusza jak ja to duży sukces. Tak więc jeszcze raz wielkie dzięki.

A oto wspomniany przerobiony kod:
  1. <?php
  2.  
  3. require('conn.php');
  4.  
  5. if(isset($_POST['submit']))
  6.  
  7. {
  8.  
  9. $konto = mysql_real_escape_string (trim($_POST['konto']));
  10.  
  11. $password = sha1(mysql_real_escape_string (trim($_POST['password'])));
  12.  
  13. $imie = mysql_real_escape_string (trim($_POST['imie']));
  14.  
  15. $drugie_imie = mysql_real_escape_string (trim($_POST['drugie_imie']));
  16.  
  17. $nazwisko = mysql_real_escape_string (trim($_POST['nazwisko']));
  18.  
  19. $email = mysql_real_escape_string (trim($_POST['email']));
  20.  
  21. $miasto = mysql_real_escape_string (trim($_POST['miasto']));
  22.  
  23. $plec = mysql_real_escape_string (trim($_POST['plec']));
  24.  
  25. $data_urodzenia = date($_POST['data_urodzenia']['rok'].'.'.$_POST['data_urodzenia']['miesiac'].'.'.$_POST['data_urodzenia']['dzien']);
  26.  
  27. $numer_telefonu = mysql_real_escape_string (trim($_POST['numer_telefonu']));
  28.  
  29. $numer_gg = mysql_real_escape_string (trim($_POST['numer_gg']));
  30.  
  31. $ile =mysql_query("SELECT * FROM `user` WHERE login = '$konto'");
  32.  
  33. $ile = mysql_num_rows($ile);
  34.  
  35. $fileData = pathinfo($_FILES['pliczek']['name']);
  36.  
  37. $filename = $konto.'.'.$fileData['extension'];
  38.  
  39. move_uploaded_file($_FILES['pliczek']['tmp_name'],"pliki/".$filename);
  40.  
  41. $name = 'pliki/'.$filename;
  42.  
  43.  
  44.  
  45. $errors = array();
  46.  
  47. if($ile!=0)
  48.  
  49. {
  50.  
  51. $errors[] = 'Taki użytkownik już istnieje. Kliknij <a href=register.php>tutaj</a>, aby spróbować ponownie.';
  52.  
  53. }
  54.  
  55. if($_POST['password']!=$_POST['password2'])
  56.  
  57. {
  58.  
  59. $errors[] = 'Podane hasła nie zgadzają się ze sobą. Kliknij <a href=register.php>tutaj</a>, aby spróbować ponownie.';
  60.  
  61. }
  62.  
  63. if(empty($_POST['konto']))
  64.  
  65. {
  66.  
  67. $errors[] = 'Musisz wpisać swój login.';
  68.  
  69. }
  70.  
  71. if(empty($_POST['password']))
  72.  
  73. {
  74.  
  75. $errors[] = 'Musisz wpisać swóje hasło.';
  76.  
  77. }
  78.  
  79. if(empty($_POST['imie']))
  80.  
  81. {
  82.  
  83. $errors[] = 'Musisz wpisać swóje imię.';
  84.  
  85. }
  86.  
  87. if(empty($_POST['plec']))
  88.  
  89. {
  90.  
  91. $errors[] = 'Musisz wybrać swoją płeć.';
  92.  
  93. }
  94.  
  95. if(empty($errors))
  96.  
  97. {
  98.  
  99. $zapytanie="INSERT INTO user (login,password,imie,drugie_imie,nazwisko,email,miasto,plec,data_urodzenia,n
    umer_telefonu,numer_gg,sciezka) VALUES('$konto','$password','$imie','$drugie_imie','$nazwisko','$email','$miasto','$plec','$data_urodzenia','$numer_telefonu','$numer_gg','$name')"
    ;
  100.  
  101. mysql_query($zapytanie) or die("Wystąpił błąd" );
  102.  
  103. echo('Konto '.$konto.' zostalo utworzone. Kliknij <a href=index.php>tutaj</a>, aby przejść do strony głównej.');
  104.  
  105. }
  106.  
  107. else
  108.  
  109. {
  110.  
  111. die(implode('<br>', $errors));
  112.  
  113. }
  114.  
  115. }
  116.  
  117. else
  118.  
  119. {
  120.  
  121. ?>

  1.  
  2.  
  3. <h1>Rejestracja</h1>
  4.  
  5. <form action="register.php" method="post" enctype="multipart/form-data">
  6.  
  7. <strong>*Login:</strong><input name="konto" type="text" value="" /><br>
  8.  
  9. <strong>*Hasło:</strong><input name="password" type="password" value="" /><br>
  10.  
  11. <strong>*Powtorz hasło:</strong><input name="password2" type="password" value="" /><br>
  12.  
  13. <strong>*Imię:</strong><input name="imie" type="text" value="" /><br>
  14.  
  15. <strong>Drugie imię:</strong><input name="drugie_imie" type="text" value="" /><br>
  16.  
  17. <strong>Nazwisko:</strong><input name="nazwisko" type="text" value="" /><br>
  18.  
  19. <strong>Miasto:</strong><input name="miasto" type="text" value="" /><br>
  20.  
  21. <strong>*Płeć:</strong><select name="plec"><option value="Mężczyzna">Mężczyzna</option><option value="Kobieta">Kobieta</option></select><br>
  22.  
  23. <strong>E-mail:</strong><input name="email" type="text" value="" /><br>
  24.  
  25. <strong>Numer telefonu:</strong><input name="numer_telefonu" type="text" value="" /><br>
  26.  
  27. <strong>Numer Gadu-Gadu:</strong><input name="numer_gg" type="text" value="" /><br>
  28.  
  29. <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>
  30.  
  31. <script type="text/javascript">
  32. <!-- //
  33. function regulamin()
  34. {
  35. if(document.getElementById('reg').checked == true )
  36. {
  37. document.getElementById('dalej').disabled=false;
  38. }
  39. else
  40. {
  41. document.getElementById('dalej').disabled=true;
  42. }
  43. }
  44. // -->
  45. </script>
  46.  
  47. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  48.  
  49. <strong>Wybierz swoje zdjęcie:</strong><br>
  50.  
  51. <input type="file" name="pliczek" size="40" /><br>
  52.  
  53. <b>Oświadczam iż zaakceptowałem regulamin</b>
  54.  
  55. <input type="checkbox" id="reg" onclick="regulamin()" /><br />
  56.  
  57. <input type="submit" name="submit" value="Rejestracja" id="dalej" disabled="disabled" style="font-size: 10pt; font-family: Tahoma; font-weight: bold" />
  58.  
  59. </form>
  60.  
  61. </body>
  62.  
  63. </html>

  1. <?php
  2.  
  3. }
  4.  
  5. ?>
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.