Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Skrypt aktualizacji danych użytkownika
Forum PHP.pl > Forum > Przedszkole
Rysiol
Witam !

Skrypt ten ma za zadanie uaktualnić dane użytkownika w bazie MySQL, po wpisaniu danych do formularza i zatwierdzeniu otrzymuję 404 - Not Found. Tzn. chyba brak strony do wyświetlenia, jednym słowem proszę o pomoc.

  1. <?php
  2.  include "auth_user.inc.php";
  3.  include "conn.inc.php";
  4.  ?>
  5.  <html>
  6.  <head>
  7.  <title>Ble Ble</title>
  8.  </head>
  9.  <body>
  10.  <h1>Witaj na stronie swojego profilu</h1>
  11.  <p>
  12.  Tutaj uaktualnisz swoje dane.<br><br>
  13.  <?php
  14.  if (isset($_POST['submit']) && $_POST['submit'] == "Uaktualnij") {
  15.  $query_update = "UPDATE user_info SET " .
  16. "first_name = '" . $_POST['first_name'] . "', " .
  17. "last_name = '" . $_POST['last_name'] . "', " .
  18. "email = '" . $_POST['email'] . "', " .
  19. "' WHERE username = '" . $_SESSION['user-logged'] .
  20. "' AND password = (PASSWORD('" .
  21. $_SESSION['user_password'] . "'))";
  22.  $result_update = mysql_query($query_update)
  23.  or die(mysql_error);
  24.  
  25.  $query = "SELECT * FROM user_info " .
  26.  "WHERE username = '" . $_SESSION['user_logged'] . "' " .
  27.  "AND password = (PASSWORD('" .
  28.  $_SESSION['user_password'] . "'))";
  29.  $result = mysql_query($query)
  30.  or die(mysql_error());
  31.  
  32.  $row = mysql_fetch_array($result);
  33.  ?>
  34.  <b>Twoje dane zostały zaktualizowane !</b><br>
  35.  <a href="user_personal.php">Powrót</a> do mojego profilu.
  36.  <form action="update_account".php method="post">
  37.  Imię: <input type="text" name="first_name"
  38.  value="<?php echo $row['first_name']; ?>"><br>
  39.  Nazwisko: <input type="text" name="last_name"
  40.  value="<?php echo $row['last_name']; ?>"><br>
  41.  E-mail: <input type="text" name="email"
  42.  value="<?php echo $row['email']; ?>"><br>
  43.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  44.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  45.  </form> 
  46.  </p>
  47.  <?php
  48.  } else {
  49.  $query = "SELECT * FROM user_info " .
  50.  "WHERE username = '" . $SESSION['user_logged']. "' " .
  51.  "AND password = (PASSWORD('" .
  52.  $SESSION['user_password'] . "'));";
  53.  $result = mysql_query($query)
  54.  or die(mysql_error);
  55.  
  56.  $row = mysql_fetch_array($result);
  57.  ?>
  58.  <p>
  59.  <form action="update_account".php method="post">
  60.  Imię: <input type="text" name="first_name"
  61.  value="<?php echo $row['first_name']; ?>"><br>
  62.  Nazwisko: <input type="text" name="last_name"
  63.  value="<?php echo $row['last_name']; ?>"><br>
  64.  E-mail: <input type="text" name="email"
  65.  value="<?php echo $row['email']; ?>"><br>
  66.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  67.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  68.  </form>
  69.  </p>
  70.  <?php
  71.  }
  72.  ?>
  73.  </body>
  74.  </html>
nitek
coś nie wyszło ci z:
Kod
<form action="update_account".php method="post">

powinno być chyba:
Kod
<form action="update_account.php" method="post">
?

PS i no coćba dla formalności form powinien mieć jakiegoś name'a winksmiley.jpg
PS2 - korzystasz tez z sesji,a nigdzie nie widze u Ciebie session_start();? (ok, już spoko - nie zauważyłem includów na początku strony. chyba juz pora położyc się spać biggrin.gif ).
conix
  1. <?php
  2.  include "auth_user.inc.php";
  3.  include "conn.inc.php";
  4.  ?>
  5.  <html>
  6.  <head>
  7.  <title>Ble Ble</title>
  8.  </head>
  9.  <body>
  10.  <h1>Witaj na stronie swojego profilu</h1>
  11.  <p>
  12.  Tutaj uaktualnisz swoje dane.<br><br>
  13.  <?php
  14.  if (isset($_POST['submit']) && $_POST['submit'] == "Uaktualnij") {
  15.  $query_update = "UPDATE user_info SET " .
  16. "first_name = '" . $_POST['first_name'] . "', " .
  17. "last_name = '" . $_POST['last_name'] . "', " .
  18. "email = '" . $_POST['email'] . "', " .
  19. "' WHERE username = '" . $_SESSION['user-logged'] .
  20. "' AND password = (PASSWORD('" .
  21. $_SESSION['user_password'] . "'))";
  22.  $result_update = mysql_query($query_update)
  23.  or die(mysql_error);
  24.  
  25.  $query = "SELECT * FROM user_info " .
  26.  "WHERE username = '" . $_SESSION['user_logged'] . "' " .
  27.  "AND password = (PASSWORD('" .
  28.  $_SESSION['user_password'] . "'))";
  29.  $result = mysql_query($query)
  30.  or die(mysql_error());
  31.  
  32.  $row = mysql_fetch_array($result);
  33.  ?>
  34.  <b>Twoje dane zostały zaktualizowane !</b><br>
  35.  <a href="user_personal.php">Powrót</a> do mojego profilu.
  36. ---------------------------------------------------------------- 
  37. <form action="update_account".php method="post">
  38. -----------------------------------------------------------------
  39.  Imię: <input type="text" name="first_name"
  40.  value="<?php echo $row['first_name']; ?>"><br>
  41.  Nazwisko: <input type="text" name="last_name"
  42.  value="<?php echo $row['last_name']; ?>"><br>
  43.  E-mail: <input type="text" name="email"
  44.  value="<?php echo $row['email']; ?>"><br>
  45.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  46.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  47.  </form> 
  48.  </p>
  49.  <?php
  50.  } else {
  51.  $query = "SELECT * FROM user_info " .
  52.  "WHERE username = '" . $SESSION['user_logged']. "' " .
  53.  "AND password = (PASSWORD('" .
  54.  $SESSION['user_password'] . "'));";
  55.  $result = mysql_query($query)
  56.  or die(mysql_error);
  57.  
  58.  $row = mysql_fetch_array($result);
  59.  ?>
  60.  <p>
  61.  <form action="update_account".php method="post">
  62.  Imię: <input type="text" name="first_name"
  63.  value="<?php echo $row['first_name']; ?>"><br>
  64.  Nazwisko: <input type="text" name="last_name"
  65.  value="<?php echo $row['last_name']; ?>"><br>
  66.  E-mail: <input type="text" name="email"
  67.  value="<?php echo $row['email']; ?>"><br>
  68.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  69.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  70.  </form>
  71.  </p>
  72.  <?php
  73.  }
  74.  ?>
  75.  </body>
  76.  </html>

Tam gdzie zaznaczyłem po co ci " ?
Moze niemasz tej strony na serwerze...


Edit
nitek szybszy haha.gif
Rysiol
Pomogło, ale tym razem mysql(error) sadsmiley02.gif
nitek
zrób w kodzie echo tego sql'a, w którym pokazuje Ci, że masz błąd i wklej tutaj - będzie łatwiej smile.gif

podejrzanie wygląda np. zapytanie:
  1. <?php
  2. $query = "SELECT * FROM user_info " .
  3.  "WHERE username = '" . $SESSION['user_logged']. "' " .
  4.  "AND password = (PASSWORD('" .
  5.  $SESSION['user_password'] . "'));";
  6. ?>


Co to za nawiasy?

Poza tym daj podkreslenie: $_SESSION... !
trosyke bałaganu masz w tym kodzie winksmiley.jpg
Rysiol
A to mi przybiłeś... jak podpowiesz jak to zrobić to bardzo chętnie... wstydnis.gif

Uczę się dopiero, korzystam z książki HELIONu "PHP, Apache, MySQL od PODSTAW" więc proszę o wyrozumiałość, staram się jak mogę większość problemów rozwiązywać samemu, ale sami wiecie jak to jest kiedy po kilku godz. przeglądarka uparcie wyświetla błąd.. sciana.gif
nitek
oj kolego - podstaw się nie ma winksmiley.jpg
jeśli wyświetla ci, że masz błąd w zapytaniu (bo tak się domyślam. chybaże masz bład połaczenia z bazą), to pokazuje ci, w której linii masz ten bład. daj pod tym zapytaniem wówczas np. echo $quety zaraz pod tym zapytaniem ($query to zapytanie które przytoczyłem post wyżej).

I najlepiej wklej tu treść błędu jaki Ci się pojawia...
PS - spojrz na mój post wyżej, bo edytowałem pare razy, a kilka błedów znalazłem...
Rysiol
Po kilknięciu na Zaktualizuj, pojawia się:


Witaj na stronie użytkownika !
Tutaj uaktualnisz swoje dane.

mysql_error


trochę tak jakby ten błąd był wyświetlany jako napis, a nie generowany przez rzeczywisty błąd, mogę się mylić.. wstydnis.gif
marcio
Tak ma byc
  1. <?php
  2. $result = mysql_query($query)
  3.  or die(mysql_error());
  4. ?>

Zjadles () glodny byles?
Rysiol
Rzeczywiście... jest Ok.. ale...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' WHERE username = '' AND password = (PASSWORD('roberto1'))' at line 1 dry.gif
Cienki1980
Cytat(Rysiol @ 11.03.2008, 00:14:17 ) *
Rzeczywiście... jest Ok.. ale...

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' WHERE username = '' AND password = (PASSWORD('roberto1'))' at line 1 dry.gif

Widać zmienna $_SESSION['user_login'] nie ma wartości .. no chyba, że tam nie dodałeś _ pokaż raz jeszcze cały kod po poprawkach będzie łatwiej niż zgadywać co się teraz tam znajduje.
baranek77
  1. <?php
  2. $query = 'SELECT * FROM user_info 
  3. WHERE username = "' . $_SESSION['user_logged']. ' " 
  4.  AND password = (PASSWORD("' .
  5.  $_SESSION['user_password'] . '"));';
  6. ?>
marcio
  1. <?php
  2. $user = $_SESSION['user_logged'];
  3. $pass = $_SESSION['user_password'];
  4. $query = ('SELECT * FROM user_info WHERE username = "' . $user. '" AND password = (PASSWORD("'.$pass.'")');
  5. ?>
Rysiol
  1. <?php
  2.  include "auth_user.inc.php";
  3.  include "conn.inc.php";
  4.  ?>
  5.  <html>
  6.  <head>
  7.  <title>CHAMPION - darmowa gra internetowa.</title>
  8.  </head>
  9.  <body>
  10.  <h1>Witaj na stronie użytkownika !</h1>
  11.  <p>
  12.  Tutaj uaktualnisz swoje dane.<br><br>
  13.  <?php
  14.  if (isset($_POST['submit']) && $_POST['submit'] == "Uaktualnij") {
  15.  $query_update = "UPDATE user_info SET " .
  16. "first_name = '" . $_POST['first_name'] . "', " .
  17. "last_name = '" . $_POST['last_name'] . "', " .
  18. "email = '" . $_POST['email'] . "', " .
  19. "' WHERE username = '" . $_SESSION['user_logged'] .
  20. "' AND password = (PASSWORD('" .
  21. $_SESSION['user_password'] . "'))";
  22.  $result_update = mysql_query($query_update)
  23.  or die(mysql_error());
  24.  
  25.  $query = 'SELECT * FROM user_info 
  26.  WHERE username = "' . $_SESSION['user_logged']. ' " 
  27. AND password = (PASSWORD("' .
  28. $_SESSION['user_password'] . '"));';
  29.  $result = mysql_query($query)
  30.  or die(mysql_error());
  31.  $row = mysql_fetch_array($result);
  32.  ?>
  33.  <b>Twoje dane zostały zaktualizowane !</b><br>
  34.  <a href="user_personal.php">Powrót</a> do mojego profilu.
  35.  <form action="update_account.php" method="post">
  36.  Imię: <input type="text" name="first_name"
  37.  value="<?php echo $row['first_name']; ?>"><br>
  38.  Nazwisko: <input type="text" name="last_name"
  39.  value="<?php echo $row['last_name']; ?>"><br>
  40.  E-mail: <input type="text" name="email"
  41.  value="<?php echo $row['email']; ?>"><br>
  42.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  43.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  44.  </form> 
  45.  </p>
  46.  <?php
  47.  } else {
  48.  $query = 'SELECT * FROM user_info 
  49.  WHERE username = "' . $_SESSION['user_logged']. ' " 
  50. AND password = (PASSWORD("' .
  51. $_SESSION['user_password'] . '"));';
  52.  $result = mysql_query($query)
  53.  or die(mysql_error());
  54.  $row = mysql_fetch_array($result);
  55.  ?>
  56.  <p>
  57.  <form action="update_account.php" method="post">
  58.  Imię: <input type="text" name="first_name"
  59.  value="<?php echo $row['first_name']; ?>"><br>
  60.  Nazwisko: <input type="text" name="last_name"
  61.  value="<?php echo $row['last_name']; ?>"><br>
  62.  E-mail: <input type="text" name="email"
  63.  value="<?php echo $row['email']; ?>"><br>
  64.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  65.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  66.  </form>
  67.  </p>
  68.  <?php
  69.  }
  70.  ?>
  71.  </body>
  72.  </html>


Nadal to samo...
Cienki1980
Wyświetl sobie na początku skryptu tablicę $_SESSION i zobaczysz czy dane są tam gdzie powinny i w takiej postaci jak powinny być.

Polecam
  1. <?php
  2. echo"<pre>";print_r($_SESSION);echo "</pre>";
  3. ?>

dla większej przejrzstości.
Rysiol
Gdzie dokładnie to wkleić.. questionmark.gif wstydnis.gif

Wkleiłem intuicyjnie i otrzymuję:

Array
(
[user_logged] => Robert
[user_password] => roberto1
)

Imię:
Nazwisko:
E-mail:

Jednak gdy wpiszę nowe dane i potwierdzę..

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' WHERE username = 'Robert' AND password = (PASSWORD('roberto1'))' at line 1
Cienki1980
Cytat(Rysiol @ 11.03.2008, 22:17:24 ) *
Gdzie dokładnie to wkleić.. questionmark.gif wstydnis.gif


to zrób tak:
  1. <?php
  2.  
  3. if (isset($_POST['submit']) && $_POST['submit'] == "Uaktualnij") 
  4. {  
  5.  $query_update = "UPDATE user_info SET " .
  6.  "first_name = '" . $_POST['first_name'] . "', " .
  7.  "last_name = '" . $_POST['last_name'] . "', " .
  8.  "email = '" . $_POST['email'] . "', " .
  9.  "' WHERE username = '" . $_SESSION['user_logged'] .
  10.  "' AND password = (PASSWORD('" .
  11.  $_SESSION['user_password'] . "'))";
  12. echo $query_update; 
  13. $result_update = mysql_query($query_update)
  14. .
  15. .
  16. .
  17. ?>

i pokaż całe stworzone zapytanie
Rysiol
Wyświetla się:

UPDATE user_info SET first_name = 'Ania', last_name = 'Aniula', email = 'rysiol@onet.eu', ' WHERE username = 'Robert' AND password = (PASSWORD('roberto1'))Twoje dane zostały zaktualizowane !
Powrót do mojego profilu.

Jednak dane nie aktualizują się wstydnis.gif

kiedy wracam do profilu nadal wyświetla mi stare dane użytkownika...
Cienki1980
  1. <?php
  2. $query_update = "UPDATE user_info SET " .
  3.  "first_name = '" . $_POST['first_name'] . "', " .
  4.  "last_name = '" . $_POST['last_name'] . "', " .
  5.  "email = '" . $_POST['email'] . "'," .
  6.  " WHERE username = '" . $_SESSION['user_logged'] .
  7.  "' AND password = (PASSWORD('" .
  8.  $_SESSION['user_password'] . "'))";
  9. ?>

zmień zapytanie na powyższe .. za dużo o , i ' miałeś w swoim.
Rysiol
To samo... przypomnę kod, bo trochę się pozmieniało przez ten czas..

  1. <?php
  2.  include "auth_user.inc.php";
  3.  include "conn.inc.php";
  4.  ?>
  5.  <html>
  6.  <head>
  7.  <title>CHAMPION - darmowa gra internetowa.</title>
  8.  </head>
  9.  <body>
  10.  <h1>Witaj na stronie użytkownika !</h1>
  11.  <p>
  12.  Tutaj uaktualnisz swoje dane.<br><br>
  13.  <?php
  14.  if (isset($_POST['submit']) && $_POST['submit'] == "Uaktualnij") 
  15.  {  
  16.  $query_update = "UPDATE user_info SET " .
  17. "first_name = '" . $_POST['first_name'] . "', " .
  18. "last_name = '" . $_POST['last_name'] . "', " .
  19. "email = '" . $_POST['email'] . "'," .
  20. " WHERE username = '" . $_SESSION['user_logged'] .
  21. "' AND password = (PASSWORD('" .
  22. $_SESSION['user_password'] . "'))";
  23.  echo $query_update; 
  24.  $result_update = mysql_query($query_update);
  25.  $query = 'SELECT * FROM user_info 
  26.  WHERE username = "' . $_SESSION['user_logged']. ' " 
  27. AND password = (PASSWORD("' .
  28. $_SESSION['user_password'] . '"));';
  29.  $result = mysql_query($query)
  30.  or die(mysql_error());
  31.  $row = mysql_fetch_array($result);
  32.  ?>
  33.  <b>Twoje dane zostały zaktualizowane !</b><br>
  34.  <a href="user_personal.php">Powrót</a> do mojego profilu.
  35.  <form action="update_account.php" method="post">
  36.  Imię: <input type="text" name="first_name"
  37.  value="<?php echo $row['first_name']; ?>"><br>
  38.  Nazwisko: <input type="text" name="last_name"
  39.  value="<?php echo $row['last_name']; ?>"><br>
  40.  E-mail: <input type="text" name="email"
  41.  value="<?php echo $row['email']; ?>"><br>
  42.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  43.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  44.  </form> 
  45.  </p>
  46.  <?php
  47.  } else {
  48.  $query = 'SELECT * FROM user_info 
  49.  WHERE username = "' . $_SESSION['user_logged']. ' " 
  50. AND password = (PASSWORD("' .
  51. $_SESSION['user_password'] . '"));';
  52.  $result = mysql_query($query)
  53.  or die(mysql_error());
  54.  $row = mysql_fetch_array($result);
  55.  ?>
  56.  <p>
  57.  <form action="update_account.php" method="post">
  58.  Imię: <input type="text" name="first_name"
  59.  value="<?php echo $row['first_name']; ?>"><br>
  60.  Nazwisko: <input type="text" name="last_name"
  61.  value="<?php echo $row['last_name']; ?>"><br>
  62.  E-mail: <input type="text" name="email"
  63.  value="<?php echo $row['email']; ?>"><br>
  64.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  65.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  66.  </form>
  67.  </p>
  68.  <?php
  69.  }
  70.  ?>
  71.  </body>
  72.  </html>
Xniver
  1. <?php
  2.  include "auth_user.inc.php";
  3.  include "conn.inc.php";
  4.  ?>
  5.  <html>
  6.  <head>
  7.  <title>CHAMPION - darmowa gra internetowa.</title>
  8.  </head>
  9.  <body>
  10.  <h1>Witaj na stronie użytkownika !</h1>
  11.  <p>
  12.  Tutaj uaktualnisz swoje dane.<br><br>
  13.  <?php
  14.  if (isset($_POST['submit']) && $_POST['submit'] == "Uaktualnij") 
  15.  {  
  16.  $query_update = "UPDATE user_info SET " .
  17. "first_name = '" . $_POST['first_name'] . "', " .
  18. "last_name = '" . $_POST['last_name'] . "', " .
  19. "email = '" . $_POST['email'] . "'" .
  20. " WHERE username = '" . $_SESSION['user_logged'] .
  21. "' AND password = (PASSWORD('" .
  22. $_SESSION['user_password'] . "'))";
  23.  echo $query_update; 
  24.  $result_update = mysql_query($query_update);
  25.  $query = 'SELECT * FROM user_info 
  26.  WHERE username = "' . $_SESSION['user_logged']. '" 
  27. AND password = (PASSWORD("' .
  28. $_SESSION['user_password'] . '"));';
  29.  $result = mysql_query($query)
  30.  or die(mysql_error());
  31.  $row = mysql_fetch_array($result);
  32.  ?>
  33.  <b>Twoje dane zostały zaktualizowane !</b><br>
  34.  <a href="user_personal.php">Powrót</a> do mojego profilu.
  35.  <form action="update_account.php" method="post">
  36.  Imię: <input type="text" name="first_name"
  37.  value="<?php echo $row['first_name']; ?>"><br>
  38.  Nazwisko: <input type="text" name="last_name"
  39.  value="<?php echo $row['last_name']; ?>"><br>
  40.  E-mail: <input type="text" name="email"
  41.  value="<?php echo $row['email']; ?>"><br>
  42.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  43.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  44.  </form> 
  45.  </p>
  46.  <?php
  47.  } else {
  48.  $query = 'SELECT * FROM user_info 
  49.  WHERE username = "' . $_SESSION['user_logged']. '" 
  50. AND password = (PASSWORD("' .
  51. $_SESSION['user_password'] . '"));';
  52.  $result = mysql_query($query)
  53.  or die(mysql_error());
  54.  $row = mysql_fetch_array($result);
  55.  ?>
  56.  <p>
  57.  <form action="update_account.php" method="post">
  58.  Imię: <input type="text" name="first_name"
  59.  value="<?php echo $row['first_name']; ?>"><br>
  60.  Nazwisko: <input type="text" name="last_name"
  61.  value="<?php echo $row['last_name']; ?>"><br>
  62.  E-mail: <input type="text" name="email"
  63.  value="<?php echo $row['email']; ?>"><br>
  64.  <input type="submit" name="submit" value="Uaktualnij"> &nbsp;
  65.  <input type="button" value="Anuluj" onclick="history.go(-1);">
  66.  </form>
  67.  </p>
  68.  <?php
  69.  }
  70.  ?>
  71.  </body>
  72.  </html>
Rysiol
Dzięki, działa... jest OK.. dane są aktualizowane. party.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.