Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Błąd w kodzie zapytania php
Forum PHP.pl > Forum > Przedszkole
artur781
Witam,

jestem początkującym więc proszę o wyrozumiałość, robię wszystko z książki lecz mam problem z kodem...

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  6.  
  7. <head>
  8.  
  9. <title>Internetowa baza kawałów</title>
  10.  
  11. <meta http-equiv="content-type"
  12.  
  13. content="text/html; charset=iso-8859-2"/>
  14. </head>
  15. <body>
  16.  
  17. <?php if(isset($_GET['addjoke']));
  18. ?>
  19.  
  20. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  21. <label>Wpisz tutaj swój kawał:<br />
  22. <textarea name="tekstkawalu" rows="10" cols="40">
  23. </textarea></label><br />
  24. <input type="submit" value="akceptuj" />
  25. </form>
  26.  
  27. <?php $con = @mysql_connect("localhost", "root", "t43476931");
  28. if (!$con)
  29. {
  30. die("Nie można się połšczyć?: " . mysql_error());
  31. }
  32. mysql_select_db("mydb", $con);
  33. ?>
  34.  
  35.  
  36. <?php
  37. if (isset($_POST['tekstkawalu'])) {
  38. $joketext = $_POST['tekstkawalu'];
  39. $sql = "INSERT INTO kawal SET
  40. tekstkawalu='$joketext',
  41. datakawalu=CUREDATA()';
  42. if ($mysql_query(sql)) {
  43. echo '<p>Twój kawał został dodany. </p>
  44. } else {
  45. echo '<p>Błąd podczas dodawania kawalu: ' .
  46. mysql_error() . '</p>';
  47. }
  48. }
  49.  
  50. echo '<p>Oto lista wszystkich kawałów w naszej bazie danych:</p>';
  51.  
  52. $result = $mysql_query('SELECT tekstkawalu FROM kawal');
  53. if (!result) {
  54. exit('<p> Błąd podczas wykonywania zapytania: ' . mysql_error() . '</p>');
  55. }
  56.  
  57. while ($row = mysql_fetch_array($result)) {
  58. echo '<p>' . $row['tekstkawalu'] . '</p>';
  59. }
  60. echo '<p><a href"' . $_SERVER['PHP_SELF'] .
  61. '?addjoke=1">Dodaj swój kawał! </a></p>';
  62.  
  63. endif;
  64. ?>
  65. </body>
  66. </html>


Według przeglądarki jest to błąd:
Cytat
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in line 58


czyli w
  1. echo '<p>' . $row['tekstkawalu'] . '</p>';

Proszę o pomoc, oraz o kilka wskazówek dla początkującego, przerobiłem 100 kartek książki i praktycznie nic nie rozumiem, mam nadzieje że nie tylko ja miałem takie początki ?
Pyton_000
Kod
$sql = "INSERT INTO kawal SET
tekstkawalu='$joketext',
datakawalu=CUREDATA()';


błąd masz tutaj
Kshyhoo
Już parser Forum pokazuje, że masz błędy w kodzie. Źle pozamykane ciapki...
artur781
Mam następujący problem:

Cytat
Notice: Undefined index: id in line 31


Mógłby ktoś powiedzieć co i jak zrobić, aby to działało poprawnie?

w kodzie:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  6.  
  7. <head>
  8.  
  9. <title>CMS kawałów: Administrowanie kategoriami </title>
  10.  
  11. <meta http-equiv="content-type"
  12.  
  13. content="text/html; charset=iso-8859-2"/>
  14.  
  15. </head>
  16. <body>
  17.  
  18.  
  19. <?php
  20. $dbcnx = @mysql_connect('localhost', 'root', 't43476931');
  21. if(!$dbcnx) {
  22. exit('<p> nie można w tej chwili ' .
  23. 'skontaktować się z serwerem bazy danych.</p>');
  24.  
  25. }
  26. if (!@mysql_select_db('mydb')) {
  27. exit('<p>Nie można w tej chwili ' .
  28. 'zlokalizować bazy danych.</p>');
  29. }
  30.  
  31. $id = $_GET['id'];
  32. "DELETE FROM kategoriakawalu WHERE idkategorii='$id'");
  33. $ok2=@mysql_query("DELETE FROM kategoria WHERE id='$id'");
  34. if ($ok1 and $ok2) {
  35. echo '<p> kategoria usunięta z powodzeniem!</p>';
  36. } else {
  37. echo '<p>Problem podczas usuwania kategorii z bazy danych!<br />'.
  38. 'Error: ' . mysql_error() . '</p>';
  39. }
  40. ?>
  41. <p><a href="cats.php">Powrót do listy kategorii</a></p>
  42. </body>
  43. </html>
johny_s
Jak ktoś ma tu Ci pomóc? dodaj brakującą tabelę albo sprawdź czy nazwa bazy/tabeli nazywa się tak jak Ci się wydaje że się nazywa
artur781
Pomyliłem się z kodem srr poprawiłem wszystko, sprawdź teraz jak możesz.
Kshyhoo
Notice to nie błąd a informacja. Sporo materiału jest na ten temat....
johny_s
manual -> isset
artur781
Ogarnąłem jakoś, mam następny błąd,
Cytat
Parse error: syntax error, unexpected 'PHP_SELF' (T_STRING) in line 56
byłbym wdzięczny za pomoc.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  6.  
  7. <head>
  8.  
  9. <title>CMS kawałów: Edytowanie kategorii </title>
  10.  
  11.  
  12. </head>
  13. <body>
  14.  
  15. <?php
  16.  
  17. $dbcnx = @mysql_connect('localhost', 'root', 't43476931');
  18. if(!$dbcnx) {
  19. exit('<p> nie można w tej chwili ' .
  20. 'skontaktować się z serwerem bazy danych.</p>');
  21.  
  22. }
  23. if (!@mysql_select_db('mydb')) {
  24. exit('<p>Nie można w tej chwili ' .
  25. 'zlokalizować bazy kawałów.</p>');
  26. }
  27. if (isset($_POST['name'])):
  28.  
  29. $name = $_POST['name'];
  30. $id = $_POST['id'];
  31. $sql = "UPDATE kategoria SET
  32. nazwa='$name'
  33. WHERE id='$id'";
  34. if (@mysql_query($sql)) {
  35. echo '<p>Informacje na temat kategorii zostały zaktualizowane. </p>';
  36. } else {
  37. echo '<p>Problem podczas aktualizowania informacji: ' .
  38. mysq_error() . '</p>';
  39. }
  40. ?>
  41. <p><a href="cats.php">Powrót do listy kategorii</a></p>
  42. <?php else: // umożliwiamy edytowanie kategorii userowi
  43.  
  44. $id=$_GET['id'];
  45. $cat = @mysql_query("SELECT nazwa FROM kategoria WHERE id='$id'");
  46. if (!$cat) {
  47. exit('<p>Problem podczas pobierania informacji na temat kategorii: ' .
  48. mysql_error() . '</p> ); }
  49.  
  50. $cat = mysql_fetch_array($cat);
  51. $name = $cat["name"];
  52. $name = htmlspecialchars($name);
  53.  
  54. ?>
  55.  
  56. <form action="<?php echo $_SERVER ['PHP_SELF']; ?>" method="post">
  57. <p>Edytuj kategorię:</p>
  58. <label>Nazwa: <input type="text" name="name"
  59. value="<?php echo $name; ?>" /></label><br />
  60. <input type="hidden" name="id" value="<?php echo $id; ?>" />
  61. <input type="submit" value="AKCEPTUJ" /></p>
  62. </form>
  63. <?php endif; ?>
  64. </body>
  65. </html>
  66.  
com
var_dump($_SERVER);
i sprawdź czy masz coś takiego jak PHP_SELF.
Kshyhoo
Ty pracujesz z manualem?
artur781
Tak, ale nie wiem jakim cudem nie działają niektóre kody... Mam PHP_SELF w 56 linij.
johny_s
masz niedomkniętego stringa, spraw sobie edytor z kolorowaniem składni, zresztą na forum też koloruje, tyle że forum to nie edytor...
artur781
Znów napotkalem błąd na drodzę... a mianowicie chodzi o to że stworzyłem baze mysql na innym kompie przeżuciłem pliki PHP na nowy komputer wszystko jest ok, lecz bład pojawia się w momencie gdy chce pobrać dane z bazy danych na serwer localhost. Połączenie posiadam z bazą gdyż sprawdzałem localhost/connect.php i wyświetliło mi komunikat pozytywny, lecz nie mogę pobrac danych z bazy np, nazwy autorów, kawały itp. Byłbym wdzięczny za pomoc.
  1. Problem podczas pobierania autorĂłw z bazy danych!
  2. Error: Table 'mydb.autor' doesn't exist
com
No pisze że nie masz takiej tabelki smile.gif
artur781
Mam nastepny problem, zrobiłem skrypt php który ma przetrzymywać pliki wrzucone przez użytkowników, lecz gdy wchodzę na stronę, nic się nie wyświetla, żadne pliki nie są wyświetlone, byłbym wdzięczny za pomoc.

  1. <?php
  2.  
  3. $dbcnx = @mysql_connect('localhost', 'root', 't43476931');
  4. if(!$dbcnx) {
  5. exit('<p> nie można w tej chwili ' .
  6. 'skontaktować się z serwerem bazy danych.</p>');
  7.  
  8. }
  9. if (!@mysql_select_db('mydb')) {
  10. exit('<p>Nie można w tej chwili ' .
  11. 'zlokalizować bazy kawałów.</p>');
  12. }
  13.  
  14. if (isset($_GET['action'])){
  15. $action=$_GET['action'];
  16. }else{
  17. $action='';
  18. }
  19. if(($action == 'view' or 'action' == 'dnld') and
  20. isset($_GET['id'])) {
  21. $id=$_GET['id'];
  22. /// Uzytkownik pobiera plik
  23. $sql="SELECT nazwapliku, typmime, danepliku
  24. FROM skladpliku WHERE id='$id'";
  25. $result=@mysql_query($sql);
  26. if(!$result) {
  27. exit('Problem w bazie danych: ' . mysql_error());
  28. }
  29. $file=mysql_fetch_array($result);
  30. if(!$file) {
  31. exit('Nie można znaleźć pliku w bazie');
  32. }
  33. $filename=$file['nazwapliku'];
  34. $mimetype=$file['typmime'];
  35. $filedata=$file['danepliku'];
  36. $disposition='inline';
  37. if($action=='dnld') {
  38. $disposition='attachment';
  39. if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5') or
  40. strpos($_SERVER['HTTP_USER_AGENT'], 'OPERA 7')) {
  41. $mimetype='application/x-download';
  42. }
  43. }
  44. header("content-disposition; filename=$filename");
  45. header("content-type: $mimetype");
  46. header('content-length: ' . strlen($filedata));
  47.  
  48. echo $filedata;
  49. exit();
  50. } elseif ($action=='del' and isset($_GET['id'])){
  51. $id=$_GET['id'];
  52.  
  53.  
  54. // Mietek usuwa plik
  55. $sql="DELETE FROM skladplikow WHERE id='$id'";
  56. $ok=@mysql_query($sql);
  57. if(!$ok) {
  58. exit('Problem w bazie danych: ' . mysql_error());
  59. }
  60. header('location: ' . $_SERVER['PHP_SELF']);
  61. exit();
  62. }elseif (isset($_FILES['upload'])) {
  63. //odrzuc plik jesli nie został rzeczywiscie załadowany.
  64. if(!is_uploaded_files($_FILES['upload']['tmp_name'])) {
  65. exit('nie przesłano żadnego pliku!');
  66. }
  67. $uploadfile=$_FILES['upload']['tmp_name'];
  68. $uploadname=$_FILES['upload']['name'];
  69. $uploadtype=$_FILES['upload']['type'];
  70. $uploaddesc=$_POST['desc'];
  71.  
  72. //Otworz plik do odczytu binarnego ('rb')
  73. $tempfile = fopen($uploadfile, 'rb');
  74. $filedata=fread($tempfile, filesize($_uploadfile));
  75. $filedata=addslashes($filedata);
  76.  
  77. //Utwórz zapytanie SQL.
  78. $sql="INSERT INTO skladplikow SET
  79. nazwapliku = '$uploadname',
  80. typmime = '$uploadtype',
  81. opispliku = '$uploaddesc',
  82. danepliku = '$filedata'";
  83.  
  84.  
  85. //Wykonaj operacje wstawienia.
  86. $ok = @mysql_query($sql);
  87. if (!$ok) {
  88. exit('Problem podczas wstawiania pliku do bazy danych: ' . mysql_error());
  89. }
  90.  
  91. //Domyślny widok strony:lista przechowywanych plików
  92. $sql='SELECT id, nazwapliku, typmime, opispliku
  93. FROM skladplikow';
  94. $filelist=@mysql_query($sql);
  95. if(!$filelist) {
  96. exit('Problem w bazie danych: ' . mysql_error());
  97. }
  98. ?>
  99. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  100.  
  101. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  102.  
  103. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  104.  
  105. <head>
  106.  
  107. <title>Składnica plików PHP/MySQL</title>
  108.  
  109. <meta http-equiv="content-type"
  110.  
  111. content="text/html; charset=iso-8859-2"/>
  112. </head>
  113. <body>
  114. <h1>Składnica Plików PHP/MySQL</h1>
  115. <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
  116. method="post" enctype="multipart/form-data">
  117. <p><label>Załaduj plik:<br />
  118. <input type="file" name="upload" /></label></p>
  119. <p><label>Opis pliku:<br />
  120. <input type="text" name="desc" maxlength="255" /> </label></p>
  121. <p><input type="submit" value="załaduj" /></p>
  122. </form>
  123. <p>Lista Plików przechowywanych w bazie:</p>
  124. <table>
  125. <tr>
  126. <th>Nazwa pliku</th>
  127. <th>Typ</th>
  128. <th>Opis</th>
  129. </tr>
  130. <?php
  131. if (mysql_num_rows($filelist) > 0) {
  132. while ($f_mysql_fetch_array($filelist)) {
  133. ?>
  134. <tr valign="top">
  135. <td>
  136. <a href="<?php echo $_SERVER['PHP_SELF'];
  137. ?>?action=view&id=<?php echo $f['id']; ?>">
  138. <?php echo $f['nazwapliku']; ?></a>
  139. </td>
  140. <td><?php $f['typmime']; ?></td>
  141. <td><?php $f['opispliku']; ?></td>
  142. <td>
  143. [<a href="<?php echo $_SERVER['PHP_SELF'];
  144. ?>?action=dnld&id=<?php echo $f['id']; ?>"
  145. >pobierz</a> |
  146. <a href="<?php echo $_SERVER['PHP_SELF'];
  147. ?>?action=del&id=<?php echo $f['id']; ?>"
  148. onclick="return confirm('Na pewno do usunięcia?');"
  149. >Usuń</a>]
  150. </td>
  151. </tr>
  152.  
  153. <?php
  154. }
  155. } else {
  156. ?>
  157. <tr><td colspan="3">Nie mo żadnych plików!</td></tr>
  158. }
  159. ?>
  160. </table>
  161. </body>
  162. </html>
com
Trzymaj porządek w kodzie bo ciężko się nawet go czyta, if nie używa się słabych and or tylko && i ||, włącz raportowanie błędów. powrzucaj var_dump i posprawdzaj czy wchodzi do warunków tam gdzie ma smile.gif
artur781
Poprawiłem błędy jakie zauważyłem teraz błąd wygląda tak:
Cytat
Parse error: syntax error, unexpected end of file in line 162

a kod tak:

  1. <?php
  2.  
  3. $dbcnx = @mysql_connect('localhost', 'root', 't43476931');
  4. if(!$dbcnx) {
  5. exit('<p> nie można w tej chwili ' .
  6. 'skontaktować się z serwerem bazy danych.</p>');
  7.  
  8. }
  9. if (!@mysql_select_db('mydb')) {
  10. exit('<p>Nie można w tej chwili ' .
  11. 'zlokalizować bazy kawałów.</p>');
  12. }
  13.  
  14. if (isset($_GET['action'])){
  15. $action=$_GET['action'];
  16. }else{
  17. $action='';
  18. }
  19. if(($action == 'view' or '$action' == 'dnld') and
  20. isset($_GET['id'])) {
  21. $id=$_GET['id'];
  22.  
  23. /// Uzytkownik pobiera plik
  24. $sql="SELECT nazwapliku, typmime, danepliku
  25. FROM skladpliku WHERE id='$id'";
  26. $result=@mysql_query($sql);
  27. if(!$result) {
  28. exit('Problem w bazie danych: ' . mysql_error());
  29. }
  30. $file=mysql_fetch_array($result);
  31. if(!$file) {
  32. exit('Nie można znaleĽć pliku w bazie');
  33. }
  34. $filename=$file['nazwapliku'];
  35. $mimetype=$file['typmime'];
  36. $filedata=$file['danepliku'];
  37. $disposition='inline';
  38.  
  39. if($action=='dnld') {
  40. $disposition='attachment';
  41. if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5') or
  42. strpos($_SERVER['HTTP_USER_AGENT'], 'OPERA 7')) {
  43. $mimetype='application/x-download';
  44. }
  45. }
  46. header("content-disposition: $disposition; filename=$filename");
  47. header("content-type: $mimetype");
  48. header('content-length: ' . strlen($filedata));
  49.  
  50. echo $filedata;
  51. exit();
  52.  
  53. } elseif ($action=='del' and isset($_GET['id'])){
  54. $id=$_GET['id'];
  55.  
  56.  
  57. // Mietek usuwa plik
  58. $sql="DELETE FROM skladplikow WHERE id='$id'";
  59. $ok=@mysql_query($sql);
  60. if(!$ok) {
  61. exit('Problem w bazie danych: ' . mysql_error());
  62. }
  63. header('location: ' . $_SERVER['PHP_SELF']);
  64. exit();
  65.  
  66. } elseif (isset($_FILES['upload'])) {
  67.  
  68. //odrzuc plik jesli nie został rzeczywiscie załadowany.
  69. if(!is_uploaded_files($_FILES['upload']['tmp_name'])) {
  70. exit('nie przesłano żadnego pliku!');
  71. }
  72. $uploadfile=$_FILES['upload']['tmp_name'];
  73. $uploadname=$_FILES['upload']['name'];
  74. $uploadtype=$_FILES['upload']['type'];
  75. $uploaddesc=$_POST['desc'];
  76.  
  77. //Otworz plik do odczytu binarnego ('rb')
  78. $tempfile = fopen($uploadfile, 'rb');
  79. $filedata=fread($tempfile, filesize($_uploadfile));
  80. $filedata=addslashes($filedata);
  81.  
  82. //Utwórz zapytanie SQL.
  83. $sql="INSERT INTO skladplikow SET
  84. nazwapliku = '$uploadname',
  85. typmime = '$uploadtype',
  86. opispliku = '$uploaddesc',
  87. danepliku = '$filedata'";
  88.  
  89.  
  90. //Wykonaj operacje wstawienia.
  91. $ok = @mysql_query($sql);
  92. if (!$ok) {
  93. exit('Problem podczas wstawiania pliku do bazy danych: ' . mysql_error());
  94. }
  95.  
  96. //Domyślny widok strony:lista przechowywanych plików
  97. $sql='SELECT id, nazwapliku, typmime, opispliku
  98. FROM skladplikow';
  99. $filelist=@mysql_query($sql);
  100. if(!$filelist) {
  101. exit('Problem w bazie danych: ' . mysql_error());
  102. }
  103. ?>
  104. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  105.  
  106. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  107.  
  108. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  109.  
  110. <head>
  111.  
  112. <title>Składnica plików PHP/MySQL</title>
  113.  
  114. <meta http-equiv="content-type"
  115.  
  116. content="text/html; charset=iso-8859-2"/>
  117. </head>
  118. <body>
  119. <h1>Składnica Plików PHP/MySQL</h1>
  120.  
  121. <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
  122. method="post" enctype="multipart/form-data">
  123. <p><label>Załaduj plik:<br />
  124. <input type="file" name="upload" /></label></p>
  125. <p><label>Opis pliku:<br />
  126. <input type="text" name="desc" maxlength="255" /></label></p>
  127. <p><input type="submit" value="załaduj" /></p>
  128. </form>
  129.  
  130. <p>Lista Plików przechowywanych w bazie:</p>
  131. <table>
  132. <tr>
  133. <th>Nazwa pliku</th>
  134. <th>Typ</th>
  135. <th>Opis</th>
  136. </tr>
  137.  
  138. <?php
  139. if (mysql_num_rows($filelist) > 0) {
  140. while ($f=mysql_fetch_array($filelist)) {
  141. ?>
  142.  
  143. <tr valign="top">
  144. <td>
  145. <a href="<?php echo $_SERVER['PHP_SELF'];
  146. ?>?action=view&id=<?php echo $f['id']; ?>">
  147. <?php echo $f['nazwapliku']; ?></a>
  148. </td>
  149. <td><?php $f['typmime']; ?></td>
  150. <td><?php $f['opispliku']; ?></td>
  151. <td>
  152. [<a href="<?php echo $_SERVER['PHP_SELF'];
  153. ?>?action=dnld&id=<?php echo $f['id']; ?>"
  154. >pobierz</a> |
  155. <a href="<?php echo $_SERVER['PHP_SELF'];
  156. ?>?action=del&id=<?php echo $f['id']; ?>"
  157. onclick="return confirm('Na pewno do usunięcia?');"
  158. >Usuń</a>]
  159. </td>
  160. </tr>
  161.  
  162. <?php
  163. }
  164. } else {
  165. ?>
  166. <tr><td colspan="3">Nie ma żadnych plików!</td></tr>
  167. <?php
  168. }
  169. ?>
  170. </table>
  171. </body>
  172. </html>
com
Nie zamykasz gdzieś klamry pewnie w warunku czyli brakuje Ci } smile.gif
  1. <?php
  2.  
  3. $dbcnx = @mysql_connect('localhost', 'root', 't43476931');
  4. if(!$dbcnx) {
  5. exit('<p> nie można w tej chwili ' .
  6. 'skontaktować się z serwerem bazy danych.</p>');
  7.  
  8. }
  9. if (!@mysql_select_db('mydb')) {
  10. exit('<p>Nie można w tej chwili ' .
  11. 'zlokalizować bazy kawałów.</p>');
  12. }
  13.  
  14. if (isset($_GET['action'])){
  15. $action=$_GET['action'];
  16. }else{
  17. $action='';
  18. }
  19. if(($action == 'view' or '$action' == 'dnld') and
  20. isset($_GET['id'])) {
  21. $id=$_GET['id'];
  22.  
  23. /// Uzytkownik pobiera plik
  24. $sql="SELECT nazwapliku, typmime, danepliku
  25. FROM skladpliku WHERE id='$id'";
  26. $result=@mysql_query($sql);
  27. if(!$result) {
  28. exit('Problem w bazie danych: ' . mysql_error());
  29. }
  30. $file=mysql_fetch_array($result);
  31. if(!$file) {
  32. exit('Nie można znaleĽć pliku w bazie');
  33. }
  34. $filename=$file['nazwapliku'];
  35. $mimetype=$file['typmime'];
  36. $filedata=$file['danepliku'];
  37. $disposition='inline';
  38.  
  39. if($action=='dnld') {
  40. $disposition='attachment';
  41. if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5') or
  42. strpos($_SERVER['HTTP_USER_AGENT'], 'OPERA 7')) {
  43. $mimetype='application/x-download';
  44. }
  45. }
  46. header("content-disposition: $disposition; filename=$filename");
  47. header("content-type: $mimetype");
  48. header('content-length: ' . strlen($filedata));
  49.  
  50. echo $filedata;
  51. exit();
  52.  
  53. } elseif ($action=='del' and isset($_GET['id'])){
  54. $id=$_GET['id'];
  55.  
  56.  
  57. // Mietek usuwa plik
  58. $sql="DELETE FROM skladplikow WHERE id='$id'";
  59. $ok=@mysql_query($sql);
  60. if(!$ok) {
  61. exit('Problem w bazie danych: ' . mysql_error());
  62. }
  63. header('location: ' . $_SERVER['PHP_SELF']);
  64. exit();
  65.  
  66. } elseif (isset($_FILES['upload'])) {
  67.  
  68. //odrzuc plik jesli nie został rzeczywiscie załadowany.
  69. if(!is_uploaded_files($_FILES['upload']['tmp_name'])) {
  70. exit('nie przesłano żadnego pliku!');
  71. }
  72. $uploadfile=$_FILES['upload']['tmp_name'];
  73. $uploadname=$_FILES['upload']['name'];
  74. $uploadtype=$_FILES['upload']['type'];
  75. $uploaddesc=$_POST['desc'];
  76.  
  77. //Otworz plik do odczytu binarnego ('rb')
  78. $tempfile = fopen($uploadfile, 'rb');
  79. $filedata=fread($tempfile, filesize($_uploadfile));
  80. $filedata=addslashes($filedata);
  81.  
  82. //Utwórz zapytanie SQL.
  83. $sql="INSERT INTO skladplikow SET
  84. nazwapliku = '$uploadname',
  85. typmime = '$uploadtype',
  86. opispliku = '$uploaddesc',
  87. danepliku = '$filedata'";
  88.  
  89.  
  90. //Wykonaj operacje wstawienia.
  91. $ok = @mysql_query($sql);
  92. if (!$ok) {
  93. exit('Problem podczas wstawiania pliku do bazy danych: ' . mysql_error());
  94. }
  95.  
  96. //Domyślny widok strony:lista przechowywanych plików
  97. $sql='SELECT id, nazwapliku, typmime, opispliku
  98. FROM skladplikow';
  99. $filelist=@mysql_query($sql);
  100. if(!$filelist) {
  101. exit('Problem w bazie danych: ' . mysql_error());
  102. }
  103. ?>
  104. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  105.  
  106. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  107.  
  108. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  109.  
  110. <head>
  111.  
  112. <title>Składnica plików PHP/MySQL</title>
  113.  
  114. <meta http-equiv="content-type"
  115.  
  116. content="text/html; charset=iso-8859-2"/>
  117. </head>
  118. <body>
  119. <h1>Składnica Plików PHP/MySQL</h1>
  120.  
  121. <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
  122. method="post" enctype="multipart/form-data">
  123. <p><label>Załaduj plik:<br />
  124. <input type="file" name="upload" /></label></p>
  125. <p><label>Opis pliku:<br />
  126. <input type="text" name="desc" maxlength="255" /></label></p>
  127. <p><input type="submit" value="załaduj" /></p>
  128. </form>
  129.  
  130. <p>Lista Plików przechowywanych w bazie:</p>
  131. <table>
  132. <tr>
  133. <th>Nazwa pliku</th>
  134. <th>Typ</th>
  135. <th>Opis</th>
  136. </tr>
  137.  
  138. <?php
  139. if (mysql_num_rows($filelist) > 0) {
  140. while ($f=mysql_fetch_array($filelist)) {
  141. ?>
  142.  
  143. <tr valign="top">
  144. <td>
  145. <a href="<?php echo $_SERVER['PHP_SELF'];
  146. ?>?action=view&amp;id=<?php echo $f['id']; ?>">
  147. <?php echo $f['nazwapliku']; ?></a>
  148. </td>
  149. <td><?php $f['typmime']; ?></td>
  150. <td><?php $f['opispliku']; ?></td>
  151. <td>
  152. [<a href="<?php echo $_SERVER['PHP_SELF'];
  153. ?>?action=dnld&amp;id=<?php echo $f['id']; ?>"
  154. >pobierz</a> |
  155. <a href="<?php echo $_SERVER['PHP_SELF'];
  156. ?>?action=del&amp;id=<?php echo $f['id']; ?>"
  157. onclick="return confirm('Na pewno do usunięcia?');"
  158. >Usuń</a>]
  159. </td>
  160. </tr>
  161.  
  162. <?php
  163. }
  164. }
  165. } else {
  166. ?>
  167. <tr><td colspan="3">Nie ma żadnych plików!</td></tr>
  168. <?php
  169. }
  170. ?>
  171. </table>
  172. </body>
  173. </html>


Nie używa się & tyko &amp;
artur781
Ten sam błąd ale w linijce 172, wszystko sprawdziłem był jeden błąd, ale teraz to raczej jest kod dobry a wyskakuje błąd.
com
Posprawdzaj klamry bo ja nie bd szukał kazdego miejsca gdzie ich nie zamykasz bo nwm nawet gdzie to potrzebujesz zrobić, ty znasz kod nie ja brakuje } przed początkiem następnego warunku czy czegokolwiek lub końcem całego pliku smile.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.