Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Zapis i odczyt pliku
Forum PHP.pl > Forum > Przedszkole
-HTML-
Witam wszystkich,
Mam następujący problem. Przechwytuje dane z formularza CKEditor, zapisuje je do pliku .txt. Po czym je wyświetlam w pliku index.php. i tu pojawia się problem. Nie uwzględnia wszystkich znaczników html ;/

Zawartość index.php:
  1. <?php
  2. $add_site = true;
  3. include "_function.php";
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
  7.  
  8. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  9.  
  10. <head>
  11.  
  12. <title><?php echo Title($_GET['strona']); ?></title>
  13.  
  14.  
  15. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  16. <meta http-equiv="Content-Language" content="pl" />
  17.  
  18. <meta name="Author" content="Xyber Design" />
  19. <meta name="robots" content="all" />
  20. <meta name="revisit-after" content=". days" />
  21. <meta name="Copyright" content="Copyright (c) 2012 by ...." />
  22. <meta name="Keywords" content="...." />
  23. <meta name="Description" content="...." />
  24.  
  25. <link rel="stylesheet" type="text/css" href="style/site.css" />
  26. <link rel="stylesheet" href="style/thickbox.css" type="text/css" media="screen" />
  27. <link rel="Shortcut icon" href="images/ikonka.png" />
  28.  
  29. </head>
  30. <body>
  31. <?php
  32. /*********************************************
  33. * plik podglad.php
  34. *********************************************/
  35. // wczytanie zawartości pliku do tablicy
  36. $file = file("promocje/baza.aph");
  37. // przechodzimy przez tablicę za pomocą pętli foreach
  38. foreach($file as $value) {
  39. // rozbijamy poszczególne linie na części
  40. $exp = explode("`",$value);
  41. // wyświetlamy rozbity tekst
  42. echo "<center>"."<b>".$exp[0]."</b />"."</center />"."<br />"."<center>".$exp[1]."</center />";
  43. }
  44. ?>
  45. <hr />
  46. <img src="images/ulotka1.png" width="100%" height="100%" /><br>
  47. <img src="images/ulotka2.png" width="100%" height="100%" />
  48. <br />
  49. <iframe src="hlkkkkll..i7&time=6&data=0&lang=pl" width="88" height="31" scrolling="no" frameborder="0"></iframe>
  50. </body>
  51. </html>


Zawartość pliku z bazą:
  1. <p style=\'text-align: center;\'><br> <span style=\'font-family:verdana,geneva,sans-serif;\'><span style=\'font-size: 22px;\'><span style=\'color: rgb(255, 255, 255);\'><span style=\'background-color:#ff0000;\'>Initial value.</span></span></span></span></p><br><p style=\'text-align: center;\'><br> cotam</p><br><p style=\'text-align: center;\'><br> cotam cotam</p>
MlodyJNTR
Bym mógł to zrobić ale nie lepiej zrobić to na bazie danych ?
-HTML-
Nie znam się na bazach danych.Szukałem w manualu ale nie mam pomysłu jak to przepisać, żeby kod HTML był wczytywany poprawnie ;/ Jeżeli mógłbyś mnie jakoś naprowadzić, mógłbym Cię ozłocić wink.gif

W sumie odczyt z bazy danych potrafię zrobić, ale przechwyt DO bazy już mi nie wychodzi ;/
MlodyJNTR
masz kod do wpisania do bazy:

  1. <?php
  2. if ($_POST["wyslane"]) {
  3. $temat = htmlspecialchars(stripslashes(strip_tags(trim($_POST["temat"]))), ENT_QUOTES);
  4. $tresc = htmlspecialchars(stripslashes(strip_tags(trim($_POST["tresc"]))), ENT_QUOTES);
  5. $tresc = ereg_replace(" ","&nbsp;",$tresc);
  6. $tresc = ereg_replace("\r", "", $tresc);
  7. $tresc = str_replace("\n", "<br>", $tresc);
  8. $tresc = str_replace("<br/>", "<br>", $tresc);
  9.  
  10. echo '<table class="forumline" width="100%" cellspacing="1" cellpadding="4" border="0">
  11. <tr>
  12. <td><table width="100%" cellspacing="0" cellpadding="1" border="0">
  13. <tr>
  14. <td>&nbsp;</td>
  15. </tr>
  16. <tr><td align="center"><span class="error">';
  17. if (strlen($temat) < 5 or strlen($temat) > 100 ) {
  18. $blad++;
  19. echo 'Musisz wpisac temat jesli wysylasz nowy watek (od 5 do 100)<br>';
  20. }
  21. if (strlen($tresc) < 5 or strlen($tresc) > 3000 ) {
  22. $blad++;
  23. echo 'Musisz wpisac tresc jesli wysylasz nowy watek (od 5 do 3000)<br>';
  24. }
  25.  
  26. echo '</span></td>
  27. </tr>
  28.  
  29. <tr>
  30. <td>&nbsp;</td>
  31. </tr>
  32. </table>
  33. </td>
  34. </tr>
  35. </table>';
  36. if ($blad == 0) {
  37. $wynik = mysql_query("INSERT INTO promocje VALUES('', '$temat', '$tresc')");
  38. if ($wynik) {
  39. echo "<script>window.location.href='index.php';</script>";
  40. }
  41. }
  42. }
  43. <form method="post" name="form">
  44. <input type="hidden" name="wyslane" value="TRUE">
  45.  
  46. <table border="1" cellpadding="3" cellspacing="1" width="100%">
  47. <tr>
  48. <td class="row1" width="22%">
  49.  
  50. <table width="100%" border="0">
  51. <tr>
  52. <td align="left"><span class="gen"><b>Temat</b></span></td>
  53. <td align="right">&nbsp;
  54.  
  55. </td>
  56. </tr>
  57. </table>
  58.  
  59. </td>
  60.  
  61. <td class="row2" width="78%">
  62. <input type="text" name="temat" size="45" maxlength="60" style="width:550px" tabindex="2" value="" />
  63. </td>
  64. </tr>
  65.  
  66. <tr>
  67. <td class="row1" valign="top">
  68. <table width="100%" border="0" cellspacing="0" cellpadding="1">
  69. <tr>
  70. <td><b>Tresc wiadomosci</b></td>
  71. </tr>
  72. </table>
  73. </td>
  74.  
  75. <td valign="top">
  76. <table width="550" border="0" cellspacing="0" cellpadding="2">
  77.  
  78. <tr>
  79. <td><textarea name="tresc" rows="15" cols="35" style="width:550px" tabindex="3" class="post"></textarea></td>
  80. </tr>
  81.  
  82. </table>
  83. </td>
  84. </tr>
  85.  
  86. <tr>
  87. <td colspan="2" align="center" height="28"><input accesskey="s" tabindex="6" name="post" class="mainoption" value="Wyslij" type="submit"></td>
  88. </tr>
  89. </table>
  90.  
  91. </form>';
  92. ?>


a tu tabele w bazie danych:
  1. CREATE TABLE `promocje` (
  2. `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `temat` VARCHAR(100) NOT NULL,
  4. `tresc` VARCHAR(3000) NOT NULL,
  5. PRIMARY KEY (`id`)
  6. )
  7. ENGINE=MyISAM DEFAULT CHARACTER SET latin1
  8. COLLATE latin1_general_cs AUTO_INCREMENT=0;


a jak zrobić kod do wyświetlenia z bazy to masz wszystko. daj + smile.gif
blejdas
Proszę moderatora o danie plusa wink.gif Bo ja nie mogę.

Dzięki bardzo za to smile.gif już wiem jak to działa wink.gif Czas przyczytać książkę o MySQL smile.gif

Modyfikowałem wszystko na sowje potrzeby, ale pojawia się problem, bo nie zapisuje rekordów w bazie ;/

  1. if ($blad == 0) {
  2. $wynik = mysql_query("INSERT INTO jedzenie VALUES('', '$promocje')");
  3. if ($wynik) {
  4. echo "<script>window.location.href='proba.php';</script>";
  5. }
  6. }
  7. }


Baze tworzyłem tak:
  1. CREATE TABLE `jedzenie` (
  2. `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `promocje` VARCHAR(100) NOT NULL,
  4. PRIMARY KEY (`id`)
  5. )
  6. ENGINE=MyISAM DEFAULT CHARACTER SET latin1
  7. COLLATE latin1_general_cs AUTO_INCREMENT=0;


Z bazą się łączy (połączyć z bazą się potrafię smile.gif ). Nie bardzo rozumiem gdzie szukać błędu.

Problem rozwiązany wink.gif Miałem błąd w przechwycie danych z formularza wink.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.