Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Dodawanie recordu
topik53
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 1
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


Witam mam taki kodzik
  1. <form action="add.php" method="get">
  2.  
  3. <strong>Nazwa konta:</strong><input name="tytul" type="text" value="" /><br>
  4.  
  5. <strong>Haslo:</strong><input name="tresc" type="password" value="" /><br>
  6.  
  7.  
  8. <input type="submit" value="Zarejestruj" />
  9.  
  10. </form>
  11. <?php
  12. require('conn.php');
  13.  
  14. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  15. {
  16. echo $_SESSION['login'];
  17. if (isset($_GET['tytul']) and isset($_GET['tresc']))
  18. {
  19. $zapytanie="INSERT INTO tresc_not (tytul,tresc) VALUES('$tytul','$tresc')";
  20. mysql_query($zapytanie) or die("Wystąpił błąd" );
  21. echo('Konto '.$tytul.' zostalo utworzone');
  22. }
  23. }
  24. ?>

Chodzi o to zeby sprawdzilo czy jest zalogowane , i jezeli jest dodalo notke+tytul, jezeli nie jest "nie jestes zalogowany"
dodaje mi rekordy do bazy ale jak np wpisze asdgadfgadfg to daje mi 0
Go to the top of the page
+Quote Post
bastard13
post
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ogólnie to tak:
  1. if(isset($_SESSION['user']))
  2. { //zaloowany
  3. }
  4. else
  5. { //nie zalogowany
  6. if(isset($_GET['tytul']))
  7. {//przesłany get
  8. //walidacja i inne działania, które mają być w tym momencie wykonane
  9. }
  10. else
  11. {
  12. //wyświetl formularz
  13. }
  14. }

Poza tym do logowania lepiej użyć posta, a nie geta. Zauważ, że jeżeli przesyłasz getem to absolutnie bez sensu jest ustawienie inputa z hasłem na password, ponieważ całe hasło i tak zostanie przesłane w linku.
Go to the top of the page
+Quote Post
topik53
post
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 1
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


Zaraz sprawdze, co do geta przy logowaniu... to tobie to postem (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
meehow18
post
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

Ostrzeżenie: (0%)
-----


z tego Co wiem, to sesje powinieneś mieć wystartowaną, na samym początku pliku.
Go to the top of the page
+Quote Post
topik53
post
Post #5





Grupa: Zarejestrowani
Postów: 107
Pomógł: 1
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


Cytat(bastard13 @ 10.09.2010, 23:17:21 ) *
Ogólnie to tak:
  1. if(isset($_SESSION['user']))
  2. { //zaloowany
  3. }
  4. else
  5. { //nie zalogowany
  6. if(isset($_GET['tytul']))
  7. {//przesłany get
  8. //walidacja i inne działania, które mają być w tym momencie wykonane
  9. }
  10. else
  11. {
  12. //wyświetl formularz
  13. }
  14. }

Poza tym do logowania lepiej użyć posta, a nie geta. Zauważ, że jeżeli przesyłasz getem to absolutnie bez sensu jest ustawienie inputa z hasłem na password, ponieważ całe hasło i tak zostanie przesłane w linku.

O ile mi sie nie pomieszalo to sie pomyliles.
Chodzilo mi o to że Jak będzie ZALOGOWANY to wtedy może dodać rekord!
nawet po wykorzystaniu twojej wersji dodaje mi 0
Go to the top of the page
+Quote Post
lord2105
post
Post #6





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

Ostrzeżenie: (0%)
-----


proszę o zrzut bazy danych
Go to the top of the page
+Quote Post
topik53
post
Post #7





Grupa: Zarejestrowani
Postów: 107
Pomógł: 1
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


  1. -- phpMyAdmin SQL Dump
  2. -- version CBA.PL
  3. --
  4. -- Host: mysql.cba.pl
  5. -- Czas wygenerowania: 13 Wrz 2010, 20:00
  6. -- Wersja serwera: 5.0.77
  7. -- Wersja PHP: 5.2.14
  8.  
  9. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  10. SET time_zone = "+00:00";
  11.  
  12.  
  13. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  14. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  15. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  16. /*!40101 SET NAMES utf8 */;
  17.  
  18. --
  19. -- Baza danych: `lototest_cba_pl`
  20. --
  21.  
  22. -- --------------------------------------------------------
  23.  
  24. --
  25. -- Struktura tabeli dla `notki`
  26. --
  27.  
  28. CREATE TABLE IF NOT EXISTS `notki` (
  29. `id_not` int(11) NOT NULL AUTO_INCREMENT,
  30. `id_us` int(11) NOT NULL,
  31. PRIMARY KEY (`id_not`)
  32. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  33.  
  34. --
  35. -- Zrzut danych tabeli `notki`
  36. --
  37.  
  38.  
  39. -- --------------------------------------------------------
  40.  
  41. --
  42. -- Struktura tabeli dla `tresc_not`
  43. --
  44.  
  45. CREATE TABLE IF NOT EXISTS `tresc_not` (
  46. `id_not` int(11) NOT NULL,
  47. `tytul` int(50) NOT NULL,
  48. `tresc` longtext character SET utf8 collate utf8_polish_ci NOT NULL
  49. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  50.  
  51. --
  52. -- Zrzut danych tabeli `tresc_not`
  53. --
  54.  
  55. INSERT INTO `tresc_not` (`id_not`, `tytul`, `tresc`) VALUES
  56. (0, 0, ''),
  57. (0, 0, ''),
  58. (0, 0, ''),
  59. (0, 0, ''),
  60. (0, 0, ''),
  61. (0, 0, ''),
  62. (0, 0, ''),
  63. (0, 0, ''),
  64. (0, 0, ''),
  65. (0, 0, 'asd');
  66.  
  67. -- --------------------------------------------------------
  68.  
  69. --
  70. -- Struktura tabeli dla `user`
  71. --
  72.  
  73. CREATE TABLE IF NOT EXISTS `user` (
  74. `id` int(11) NOT NULL AUTO_INCREMENT,
  75. `login` varchar(50) NOT NULL,
  76. `password` varchar(40) NOT NULL,
  77. PRIMARY KEY (`id`)
  78. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  79.  
  80. --
  81. -- Zrzut danych tabeli `user`
  82. --
  83.  
  84. INSERT INTO `user` (`id`, `login`, `password`) VALUES
  85. (1, 'asd', 'ceedf12f8fe3dc63d35b2567a59b93bd62ff729a');

wiem ze baza jest zle zaprojektowana, postaram sie jjutro poprawic

Ten post edytował topik53 13.09.2010, 19:05:40
Go to the top of the page
+Quote Post
Mostrom
post
Post #8





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

Ostrzeżenie: (0%)
-----


Nie wiem czy masz już taką sesję jak np $_SESSION["zalogowany"], to jest taka sesja, która będzie miała informacje czy czy jesteś zalogowany. Skrypt dodanie rekordu wstaw poprostu w takim warunku
  1. if($_SESSION["zalogowany"]=1){
  2. mysql_query($zapytanie) or die("Wystąpił błąd" );
  3. }
  4. else {
  5. echo "Nie jesteś zalogowany. Spadaj";
  6. }


Ten post edytował Mostrom 13.09.2010, 19:40:32
Go to the top of the page
+Quote Post
lord2105
post
Post #9





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

Ostrzeżenie: (0%)
-----


  1. `tytul` int(50) NOT NULL,


tytuł może być intem chyba nie (IMG:style_emoticons/default/tongue.gif) masz odp dlaczego dodaje Ci zero pozdrawiam
Go to the top of the page
+Quote Post
topik53
post
Post #10





Grupa: Zarejestrowani
Postów: 107
Pomógł: 1
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


Dziekuje (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 19:50