Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Dodawanie newsów
Forum PHP.pl > Forum > PHP
Misiuu
Witam, mam skrypt logowania wszystko działa : > ale chciałem zrobić by można było, dodawać wiadomości będąc zalogowanym. Więc dużo nie myśląć postanowiłem przerobić skrypt który zmieniał dane, takie jak e-mail , hasło blablabla..
więc stworzyłem taki kodzik



  1. <?php
  2.  
  3.  
  4. include 'db.php'; // połączenie się z bazą danych
  5. $tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL
  6.  
  7. if (isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika
  8.  
  9. if ($_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  10.  
  11. // filtrowanie treści wprowadzonych przez użytkownika
  12. $login = htmlspecialchars(trim($_POST['login']));
  13. $tytul = htmlspecialchars(trim($_POST['tytul']));
  14. $tresc = htmlspecialchars(trim($_POST['tresc']));
  15. // system sprawdza czy prawidłowo zostały wprowadzone dane
  16.  
  17.  
  18. if ($tytul) {
  19. if (strlen($tytul) < 6 or strlen($tytul) > 30) {
  20. $blad++;
  21. echo '<p>Proszę poprawnie wpisać tytuł (od 6 znaków do 30 znaków) <p/>';
  22. }
  23. }
  24.  
  25.  
  26. // jeżeli błąd nie wystąpił, to dane zostają prawidłowo zapisane z bazie MySQL
  27. if ($blad == 0) {
  28. if ($login and $tytul and $tresc) {
  29.  
  30. $dodaj = "INSERT INTO posty (id,login,tytul,tresc,data) VALUES ('','$login','$tytul','$tresc','NOW()')";
  31.  
  32. if($dodaj) echo 'Rekord został dodany poprawnie';
  33. else echo "Błąd nie udało się dodać nowego rekordu";
  34. }
  35.  
  36. }
  37. }
  38.  
  39. $wynik = mysql_query("SELECT * FROM $tabela WHERE
  40. login='{$_SESSION["login"]}'");
  41. if ($wynik) {
  42. $informacja = mysql_fetch_array($wynik);
  43.  
  44. // tworzenie formularza HTML z danymi użytkownika
  45. echo <<< KONIEC
  46. <div class="tlotextu">
  47. <div class="tavatar">
  48. <div class="avatar">
  49.  <img src="{$informacja['avatar']}" class="avatar">
  50. </div></div><div class="tyk"></div>
  51. <div class="text"><div class="naglowek">Edycja Profilu</div><hr><div class="tresc">
  52.  
  53.   <form action="index.php?page=newpost" method="post">
  54.   <input type="hidden" name="wyslane" value="TRUE" />
  55.  
  56.   <input type="hidden" name="login" disabled="disabled" value="{$informacja['login']}" />
  57.  
  58. <p>Tytuł: <input type="text" name="tytul" class="tyt"/>
  59.   <p>Treść: <textarea type="text" name="tresc" class="area"></textarea></p>
  60.   <p><input type="submit" value="wyślij" /></p>
  61. </div>
  62. </div>
  63.  
  64. <div class="clear"></div><div class="odte"></div></div>
  65. KONIEC;
  66. }
  67. mysql_close($polaczenie);
  68.  
  69. } else {
  70. header('Location: / '); // niezalogowany użytkownik zostaje przekierowany na stronę główną
  71. }
  72.  
  73. ?>



Niestety, gdy tylko daje wyślij, odrazu sie wylogowuje sad.gif i nie dodaje rekordu, gdzie zrobiłem błąd i czy kod jest w miare poprawny? dziękuje i pozdrawiam

Dziękuje, ale poradziłem już sobie z problemem : >
CuteOne
Włącz raportowanie błędów i wtedy zobaczysz, że w tej linii jest coś nie tak
  1. $wynik = mysql_query("SELECT * FROM $tabela WHERE login='{$_SESSION["login"]}'");
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.