Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z T_LOGICAL_OR
Forum PHP.pl > Forum > Przedszkole
gogomania
Witam, próbowałem zmienić kod który docelowo ma wejść na panel administratora ale za bardzo przekombinowałem i wyszło mi coś takiego...
Błąd: Parse error: syntax error, unexpected T_LOGICAL_OR in C:\xampp\htdocs\loginadmin.php on line 417
Tutaj:
CODE
while ($data = mysql_fetch_array($result)) or die(mysql_error());


kod wygląda następująco:
  1. <?php
  2.  
  3. define('ADMIN_PASS', 'password');
  4. $mysql_server = 'localhost';
  5. $mysql_login = 'root';
  6. $mysql_password = 'root';
  7. $mysql_database = 'www';
  8. $mysql_table = 'uzytkownicy';
  9. $admin_password = isset($_COOKIE['admin_password']) ? $_COOKIE['admin_password'] : '';
  10. if (empty($admin_password))
  11. {
  12. if (isset($_POST['admin_password']))
  13. {
  14. $admin_password = md5($_POST['admin_password']);
  15. if ($admin_password == md5(ADMIN_PASS))
  16. {
  17. setcookie('admin_password', $admin_password);
  18. }
  19. }
  20. }
  21. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : '';
  22. $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
  23. $imie = isset($_POST['imie']) ? $_POST['imie'] : '';
  24. $nazwisko = isset($_POST['nazwisko']) ? $_POST['nazwisko'] : '';
  25. $login = isset($_POST['login']) ? $_POST['login'] : '';
  26. $email = isset($_POST['email']) ? $_POST['email'] : '';
  27. $active = isset($_POST['aktywny']) ? $_POST['aktywny'] : 0;
  28. $db = mysql_connect($mysql_server, $mysql_login, $mysql_password);
  29. if (!$db)
  30. {
  31. die('Nie można połączyć z bazą danych!<br>'.mysql_error());
  32. }
  33. mysql_select_db($mysql_database, $db) or die('Nie można wybrać wskazanej bazy danych!<br>'.mysql_error());
  34. if (!empty($action))
  35. {
  36. if ($action == 'delete')
  37. {
  38. $sql = "DELETE FROM ".$mysql_table." WHERE `login` = '$id'";
  39. mysql_query($sql, $db);
  40. header('Location: '.basename(__FILE__));
  41. }
  42. else
  43. if ($action == 'update')
  44. {
  45. $sql = "UPDATE `".$mysql_table."` SET `login` = '$login', ";
  46. if (!empty($_POST['password']))
  47. {
  48. $crypt_pass = md5($_POST['password']);
  49. $sql = $sql . "`password` = '$crypt_pass',";
  50. }
  51. $sql = $sql . " `imie` = '$imie', `email` = '$email', `active` = $active WHERE `login` = '$id'";
  52. mysql_query($sql, $db);
  53. header('Location: '.basename(__FILE__));
  54. }
  55. else
  56. if ($action == 'create')
  57. {
  58. $sql = "SELECT imie FROM ".$mysql_table." WHERE imie = '".$_POST['imie']."'";
  59. $result = mysql_query($sql, $db);
  60. if ($data = mysql_fetch_array($result))
  61. {
  62. echo 'Taki użytkownik już istnieje!';
  63. }
  64. $crypt_pass = md5($_POST['password']);
  65. $sql = "INSERT `".$mysql_table."` (`imie`, `nazwisko`, `login`,`haslo`, `email`, `active`) VALUES ('$imie', '$nazwisko', '$login', '$crypt_pass', '$email', $active)";
  66. mysql_query($sql, $db);
  67. header('Location: '.basename(__FILE__));
  68. }
  69. else
  70. if ($action == 'logout')
  71. {
  72. setcookie('admin_password', '', time() - 3600);
  73. header('Location: '.basename(__FILE__));
  74. }
  75. }
  76. ?>
  77.  
  78. <?php
  79. if ($admin_password != md5(ADMIN_PASS))
  80. {
  81. echo "<center>\n";
  82. echo "<p>Logowanie użytkownika administrator</p>\n";
  83. echo "<form method=\"post\" action=\"" .basename(__FILE__) . "\">\n";
  84. echo "<input type=\"password\" name=\"admin_password\" size=\"20\" />\n";
  85. echo "<input type=\"submit\" value=\"Loguj\" name=\"submit\" />\n";
  86. echo "</form>\n";
  87. echo "</center>\n";
  88. }
  89. else
  90. {
  91. if (!empty($action))
  92. {
  93. if (($action == 'edit') || ($action == 'new'))
  94. {
  95. $login_value = '';
  96. $imie_value = '';
  97. $nazwisko_value = '';
  98. $email_value = '';
  99. $status_value = '';
  100. $sql = "SELECT * FROM ".$mysql_table." WHERE login = '".$id."'";
  101. $result = mysql_query($sql, $db);
  102. if ($data = mysql_fetch_array($result))
  103. {
  104. $login_value = $data['login'];
  105. $imie_value = $data['imie'];
  106. $nazwisko_value = $data['nazwisko'];
  107. $email_value = $data['email'];
  108. $status_value = $data['aktywny'];
  109. }
  110. echo "<center>\n";
  111. echo "<form action=\"" . basename(__FILE__) . "\" method=\"post\">\n";
  112. echo "<table border=\"0\">\n";
  113. if ($action == 'new')
  114. {
  115. echo "<input type=\"hidden\" name=\"action\" value=\"create\">\n";
  116. }
  117. else
  118. {
  119. echo "<input type=\"hidden\" name=\"action\" value=\"update\">\n";
  120. }
  121. echo "<input type=\"hidden\" name=\"id\" value=\"". $id . "\">\n";
  122. echo "<tr><td>Uzytkownik:</td>\n";
  123. echo "<td><input type=\"text\" size=\"25\" name=\"login\" value=\"" . $login_value . "\"></td></tr>\n";
  124. echo "<tr><td>Haslo:</td>\n";
  125. echo "<td><input type=\"password\" size=\"25\" name=\"password\" value=\"\"></td></tr>\n";
  126. echo "<tr><td>Imie:</td>\n";
  127. echo "<td><input type=\"text\" size=\"25\" name=\"imie\" value=\"" . $imie_value . "\"></td></tr>\n";
  128. echo "<tr><td>Nazwisko:</td>\n";
  129. echo "<td><input type=\"text\" size=\"25\" name=\"nazwisko\" value=\"" . $nazwisko_value . "\"></td></tr>\n";
  130. echo "<tr><td>Email:</td>\n";
  131. echo "<td><input type=\"text\" size=\"25\" name=\"email\" value=\"" . $email_value . "\"></td></tr>\n";
  132. echo "<tr><td>Active:</td>\n";
  133. echo "<td style=\"text-align:left\"><select name=\"active\" size=\"1\"><option " . ($status_value == "0" ? "selected " : "") . "value=\"0\">Nie aktywny</option><option " . ($status_value != "0" ? "selected " : "") . "value=\"1\">Aktywny</option></select></td></tr>\n";
  134. echo "<tr><td> </td><td style=\"text-align:left\"><input type=\"submit\" name=\"cmdSubmit\" value=\"Save\">";
  135. echo "  ";
  136. echo "<input type=\"reset\" name=\"cmdReset\" value=\"Reset\">  ";
  137. echo "<input type=\"button\" name=\"cmdBack\" value=\"Back\" onclick=\"location.href='" . basename(__FILE__) . "'\"></td></tr>\n";
  138. echo "</table>\n";
  139. echo "</form>\n";
  140. echo "</center>\n";
  141. }
  142. }
  143. else
  144. {
  145. echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">\n";
  146. echo "<tr><th>Imie</th>\n";
  147. echo "<tr><th>Nazwisko</th>\n";
  148. echo "<th>Login</th>\n";
  149. echo "<th>Email</th>\n";
  150. echo "<th>Active</th>\n";
  151. echo "<th>Action</th></tr>\n";
  152. $sql = "SELECT * FROM ".$mysql_table." ORDER BY imie ASC";
  153. $result = mysql_query($sql, $db);
  154. while ($data = mysql_fetch_array($result)) or die(mysql_error());
  155. {
  156. echo "<tr>\n";
  157. echo "<td>" . $data['imie'] . "</td>\n";
  158. echo "<td>" . $data['nazwisko'] . "</td>\n";
  159. echo "<td>" . $data['login'] . "</td>\n";
  160. echo "<td>" . $data['email'] . "</td>\n";
  161. echo "<td>" . ($data['aktywny'] == "0" ? "nie aktywny" : "aktywny") . "</td>\n";
  162. echo "<td>\n";
  163. echo " <a href=\"" . basename(__FILE__) . "?action=edit&id=" . $data['imie'] . "\">Edytuj</a> | \n";
  164. echo " <a href=\"" . basename(__FILE__) . "?action=delete&id=" . $data['imie'] . "\">Usun</a>\n";
  165. echo "</td>\n";
  166. echo "</tr>\n";
  167. }
  168. echo "</table>\n";
  169. echo "<p><a href=\"" . basename(__FILE__) . "?action=new\">Utwórz użytkownika</a>  <a href=\"" . basename(__FILE__) . "?action=logout\">Logout</a></p>\n";
  170. }
  171. }
  172. ?>
  173. </body>
  174. </html>


Miałem gotowy kod, który był anglojęzyczny chciałem go przetłumaczyć oraz dodać nowe pole 'nazwisko' i do tego wskazałem mu by łączył się z inna tabelą.
Z racji, że uczę się od dwóch dni php proszę o wyrozumiałość.
Ktoś może mi wskazać co jest w tym kodzie źle? Nie rozumiem co ten błąd mówi.
Damonsson
while to pętla, nie możesz jej nagle wstawić OR

  1.  
  2. $result = mysql_query($sql, $db) or die(mysql_error());
  3. while ($data = mysql_fetch_array($result)) {



Używaj na forum bbcode(kolorowania składni).
gogomania
Dziękuję za błyskawiczną odpowiedź. Niemniej jednak...
Zmieniłem na coś takiego:

  1. $result = mysql_query($sql, $db);
  2. while ($data = mysql_fetch_array($result)) {

i wywałiło mi błąd taki:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\loginadmin.php on line 417

a 417 linia to:
  1. while ($data = mysql_fetch_array($result)) {


Jakies dalsze sugestie?
Gość
Zrób tak jak napisał @Damonsson, pewnie masz błąd w zapytaniu lub nie ma wyników. Niezależnie od tego czy jest błąd czy nie ma, to możesz dodać warunek if:
  1. if ($result) {
  2. while ($data = mysql_fetch_array($result)) {
  3. ...
  4. }
  5. }
gogomania
słabo jestem zorientowany i nie bardzo rozumiem wskazówki jakie próbujecie mi przekazać dobrzy ludzie, więc postanowiłem, że zrobie sobie wszystko sam bez przerabiania gotowców smile.gif
Dziękuję za wszelkie odpowiedzi/podpowiedzi
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.