Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/sql]księga gości, nie dodaje i nie pobiera danych
marlab.z.gdyni
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 16.11.2006
Skąd: 3miasto

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


witam
mam problem z poniszym skryptem


podejrzewam ze na 99% skopałem tablice sql

oczywiście będę bardzo rad za wskazanie błędów


kot formularza w ktorym wpisuje się dane
  1. <?php
  2. <!--c1--><div class='codetop'>KOD</div><div class='codemain'><!--ec1--><form enctype="multipart/form-data" action="dodaj.php" method="post">
  3. <p>Podpis:</p><input name="imie" type="text" maxlength="26" SIZE="30"><br>
  4. <p>Email:</p><input name="email" type="text" maxlength="26" SIZE="30"><br>
  5. <p>Strona WWW:</p><input name="www" type="text" maxlength="26" SIZE="30"><br>
  6. <br><p>Treść:</p><textarea name="wpis" cols="60" rows="7"></textarea>
  7. <br><br><input type="submit" value="Dodaj">
  8. <form><!--c2--></div><!--ec2-->
  9. ?>


kod pliku pobierającego, weryfikującego i zapisującego dane do sql

  1. <!--c1--><div class='codetop'>KOD</div><div class='codemain'><!--ec1-->
  2. <?
  3. $date=date("j, n, Y");
  4. if (file_exists("data.txt")) {
  5. $data_c = fopen("data.txt","r");
  6. $spr=fgets($data_c,20);
  7. fclose($data_c);
  8. }
  9. if (file_exists("czas.txt")) {
  10. $czas_c = fopen("czas.txt","r");
  11. $spr_c=fgets($czas_c,20);
  12. fclose($czas_c);
  13. }
  14. if($date!=$spr)
  15. {
  16. $ok=1;
  17. }
  18. else
  19. {
  20. if(date("i")>$spr_c)
  21. {
  22. $ok=1;
  23. }
  24. else
  25. {
  26. if($spr_c-date("i")>5)
  27. {
  28. $ok=1;
  29. }
  30. }
  31. }
  32.  
  33. if($ok==1)
  34. {
  35. if (file_exists("data.txt")) {
  36. $data = fopen("data.txt","w");
  37. fwrite($data,$date);
  38. fclose($data);
  39. }
  40. if (file_exists("czas.txt")) {
  41. $czas = fopen("czas.txt","w");
  42. fwrite($czas,date("i"));
  43. fclose($czas);
  44. }
  45. }
  46. else
  47. {
  48. echo'Dodawanie wpisu będzie możliwe z jakiś czas';
  49. }
  50.  
  51. $haslo='xxxxxxxxx';
  52. $login='xxxxx';
  53. $host='mysql2.yoyo.pl';
  54. $baza='xxxxxxxx';
  55. //pobieramy dane
  56. $imie=$_POST['imie'];
  57. $wpis=$_POST['wpis'];
  58. $www=$_POST['www'];
  59. $email=$_POST['email'];
  60. if(strlen($wpis)>50000)
  61. {
  62. }
  63. if(strlen($imie)>100)
  64. {
  65. }
  66. //znowu logujemy sie do bazy mysql
  67. @ $bd = mysql_pconnect($host, $login, $haslo);
  68.   if (!$bd)
  69.   {
  70.     echo 'Połączenie z bazą danych jest teraz nie możliwe.';
  71.     exit;
  72.   }
  73.   mysql_select_db($baza);
  74.   $tablica='ksiega';
  75. //wysylamy zapytanie
  76. $zapytanie = "insert into `$tablica` values ('".$wpis."', '".$imie." ,".$www."','".$email."',)";
  77. $dd = mysql_query($zapytanie);
  78. if($dd)
  79. {
  80. echo 'Wpis został dodany pomyślnie';
  81. }
  82. else
  83. {
  84. echo 'Niestety dodanie wpisu nie jest teraz możliwe, prosze spróbować później.';
  85. }
  86. //wczytanie pliku pierwszego
  87. echo '<script>';
  88. echo 'var strona="ok";';
  89. echo 'self.location.href=strona+".php";';
  90. echo '</script>';
  91. ?><!--c2--></div><!--ec2-->



natomiast plik wyswietlajacy dane to:
  1. <!--c1--><div class='codetop'>KOD</div><div class='codemain'><!--ec1-->
  2. <?
  3.  
  4. $haslo='xxxxxxxx;
  5. $login='xxxxxxxx';
  6. $host='xxxxxxxxxxx';
  7. $baza='xxxxxxxxx';
  8. //logowanie do serwera mysql
  9. @ $bd = mysql_pconnect($host, $login, $haslo);
  10.   if (!$bd)
  11.   {
  12.     echo 'Połączenie z bazą danych jest teraz nie możliwe.';
  13.     exit;
  14.   }
  15.   mysql_select_db($baza);
  16.   //wysyłamy zapytanie
  17.   $zapytanie = 'SELECT * FROM `ksiega` WHERE 1 LIMIT 0, 30';
  18.   $dd = mysql_query($zapytanie);
  19.   $bb = mysql_fetch_array($dd);
  20.   while($bb)
  21.   {
  22.    $wpis=stripslashes($bb['wpis']);
  23.    $imie=stripslashes($bb['imie']);
  24.    //wyswietlamy wpis
  25.    echo '<br>Napisał: '.$imie.'<br>'.$wpis. '<br>email: '.$email. '<br> WWW: '.$www;
  26.    $bb = mysql_fetch_array($dd);
  27.   }
  28. ?>
  29.  
  30. <!--c2--></div><!--ec2-->



jak powinna wygladac konstrukcja tabeli ?

u mnie (zrobilem zrzut w phpAdminem)


-- Struktura tabeli dla `ksiega`
--

CREATE TABLE `ksiega` (
`imie` text collate utf8_polish_ci NOT NULL,
`email` text collate utf8_polish_ci NOT NULL,
`www` text collate utf8_polish_ci NOT NULL,
`wpis` text collate utf8_polish_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

--
-- Zrzut danych tabeli `ksiega`
--

INSERT INTO `ksiega` VALUES ('', '', '', '');
INSERT INTO `ksiega` VALUES ('', '', '', '');
INSERT INTO `ksiega` VALUES ('', '', '', '');
INSERT INTO `ksiega` VALUES ('', '', '', '');
INSERT INTO `ksiega` VALUES ('', '', '', '');
INSERT INTO `ksiega` VALUES ('', '', '', '');
INSERT INTO `ksiega` VALUES ('', '', '', '');

Ten post edytował marlab.z.gdyni 8.01.2007, 01:01:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




koncowka twojego forma wyglada tak:
  1. <br><br><input type="submit" value="Dodaj">
  2. <form><!--c2--></div><!--ec2-->

zle zamknales form. powinno byc tak:
  1. <br><br><input type="submit" value="Dodaj">
  2. </form><!--c2--></div><!--ec2-->

byc moze z tego powodu szly ci puste dane
Go to the top of the page
+Quote Post
marlab.z.gdyni
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 16.11.2006
Skąd: 3miasto

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


Cytat(nospor @ 8.01.2007, 10:17:55 ) *
koncowka twojego forma wyglada tak:
  1. <br><br><input type="submit" value="Dodaj">
  2. <form><!--c2--></div><!--ec2-->

zle zamknales form. powinno byc tak:
  1. <br><br><input type="submit" value="Dodaj">
  2. </form><!--c2--></div><!--ec2-->

byc moze z tego powodu szly ci puste dane



poprawione lecz dalej mam to (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Column count doesn't match value count at row 1

kod pliku ktory dodaje

  1. <?
  2. $date=date("j, n, Y");
  3. if (file_exists("data.txt")) {
  4. $data_c = fopen("data.txt","r");
  5. $spr=fgets($data_c,20);
  6. fclose($data_c);
  7. }
  8. if (file_exists("czas.txt")) {
  9. $czas_c = fopen("czas.txt","r");
  10. $spr_c=fgets($czas_c,20);
  11. fclose($czas_c);
  12. }
  13. if($date!=$spr)
  14. {
  15. $ok=1;
  16. }
  17. else
  18. {
  19. if(date("i")>$spr_c)
  20. {
  21. $ok=1;
  22. }
  23. else
  24. {
  25. if($spr_c-date("i")>5)
  26. {
  27. $ok=1;
  28. }
  29. }
  30. }
  31.  
  32. if($ok==1)
  33. {
  34. if (file_exists("data.txt")) {
  35. $data = fopen("data.txt","w");
  36. fwrite($data,$date);
  37. fclose($data);
  38. }
  39. if (file_exists("czas.txt")) {
  40. $czas = fopen("czas.txt","w");
  41. fwrite($czas,date("i"));
  42. fclose($czas);
  43. }
  44. }
  45. else
  46. {
  47. echo'Dodawanie wpisu będzie możliwe z jakiś czas';
  48. }
  49.  
  50. $haslo='cccccccc';
  51. $login='ccccccc';
  52. $host='cccccccccccccl';
  53. $baza='cccccccccccc';
  54.  
  55. $imie=$_POST['imie'];
  56. $email=$_POST['email'];
  57. $www=$_POST['www'];
  58. $wpis=$_POST['wpis'];
  59.  
  60. if(strlen($wpis)>50000)
  61. {
  62. }
  63. if(strlen($imie)>100)
  64. {
  65. }
  66. //znowu logujemy sie do bazy mysql
  67. @ $bd = mysql_pconnect($host, $login, $haslo);
  68. if (!$bd)
  69. {
  70. echo 'Połączenie z bazą danych jest teraz nie możliwe.';
  71. }
  72. $tablica='ksiega';
  73. //wysylamy zapytanie
  74.  
  75. $zapytanie = "insert into $tablica (imie, email, www, wpis) values ('".$imie."', '".$email." ,".$www."','".$wpis."')"; 
  76. $dd = mysql_query($zapytanie) or die(mysql_error());
  77.  
  78. if($dd)
  79. {
  80. echo 'Wpis został dodany pomyślnie';
  81. }
  82. else
  83. {
  84. echo 'Niestety dodanie wpisu nie jest teraz możliwe, prosze spróbować później.';
  85. }
  86. //wczytanie pliku pierwszego
  87. echo '<script>';
  88. echo 'var strona="ok";';
  89. echo 'self.location.href=strona+".php";';
  90. echo '</script>';
  91. ?>


klucz dodalem

  1. CREATE TABLE `ksiega` (
  2. `id_ksiega` int(11) NOT NULL,
  3. `imie` text collate utf8_polish_ci NOT NULL,
  4. `email` text collate utf8_polish_ci NOT NULL,
  5. `www` text collate utf8_polish_ci NOT NULL,
  6. `wpis` text collate utf8_polish_ci NOT NULL,
  7. PRIMARY KEY (`id_ksiega`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
Go to the top of the page
+Quote Post

Posty w temacie
- marlab.z.gdyni   [php/sql]księga gości   8.01.2007, 00:39:45
- - kossa   zmień typ pól - np. imie nie musi być text - za du...   8.01.2007, 00:48:06
|- - marlab.z.gdyni   Cytat(kossa @ 8.01.2007, 00:48:06 ) z...   8.01.2007, 00:55:26
- - ikioloak   Nie musi podawac kolejnosci jesli wstawia zgodnie ...   8.01.2007, 00:58:48
|- - marlab.z.gdyni   Cytat(ikioloak @ 8.01.2007, 00:58:48 ...   8.01.2007, 01:05:22
- - Cezar708   1. MySQL jest baza relacyjna wiec proponuje abyś d...   8.01.2007, 02:19:06
|- - marlab.z.gdyni   Cytat(Cezar708 @ 8.01.2007, 02:19:06 ...   8.01.2007, 10:13:02
- - nospor   koncowka twojego forma wyglada tak: [HTML] pobierz...   8.01.2007, 10:17:55
|- - marlab.z.gdyni   Cytat(nospor @ 8.01.2007, 10:17:55 ) ...   8.01.2007, 15:56:49
- - sebik   bład ktory ci wywala oznacza ze liczba kolumn w ta...   8.01.2007, 16:39:32
- - skowron-line   a jakiego mysql-a uzywasz bo dopiero w 5 wersji ni...   8.01.2007, 16:51:52
- - maryaan   zrzucaj sobie za pomoca var_dump() po kolei najpie...   8.01.2007, 16:52:29
|- - marlab.z.gdyni   Cytat(maryaan @ 8.01.2007, 16:52:29 )...   8.01.2007, 16:57:40
- - maryaan   odpal i zerknij w zrodlo strony: [PHP] pobierz, pl...   8.01.2007, 17:04:50
|- - marlab.z.gdyni   Cytat(maryaan @ 8.01.2007, 17:04:50 )...   8.01.2007, 17:10:20
- - maryaan   to teraz wyswietl zapytanie tuz przed samym wykona...   8.01.2007, 17:12:55
|- - marlab.z.gdyni   Cytat(maryaan @ 8.01.2007, 17:12:55 )...   8.01.2007, 17:17:08
- - maryaan   brakuje apostrofu po drugiej i przed trzecia dana ...   8.01.2007, 17:19:59
|- - marlab.z.gdyni   Cytat(maryaan @ 8.01.2007, 17:19:59 )...   8.01.2007, 18:42:41
- - sebik   dlatego 2 i 3 dane taktowalo jako jedno i liczba k...   8.01.2007, 17:21:52
- - pioch   pole DATETIME   8.01.2007, 18:49:37


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: 14.10.2025 - 15:53