Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Dodawanie zdjęcia podczas edycji
Forum PHP.pl > Forum > Przedszkole
seba15290
Witam, mam taki skrypt do edycji tych danych( jeszcze nie kompletny):
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3.  
  4. <head>
  5. <title>edycja</title>
  6. <meta name="GENERATOR" content="Quanta Plus">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  8. </head>
  9. <body>
  10. <?php
  11. $page_title = 'RSDS: Biogramy';
  12. include_once ('../includes/admin_header.html');
  13. include_once ('../includes/admin_footer.html');
  14.  
  15. require_once ('./mysql_connect.php');
  16.  
  17. if(isset($_POST['akceptuj'])):
  18.  
  19. $opis=$_POST['opis'];
  20. $imie=$_POST['imie'];
  21. $nazwisko=$_POST['nazwisko'];
  22. $email=$_POST['email'];
  23. $data_ur=$_POST['data_ur'];
  24. $data_zm=$_POST['data_zm'];
  25. $id_people=$_POST['id_people'];
  26. $instytucja=$_POST['nazwa_instytucji'];
  27. $wydzial=$_POST['nazwa_wydzialu'];
  28. $id_kraj=$_POST['kraje'];
  29. $www=$_POST['www'];
  30.  
  31. $zapytanie="UPDATE people as p, adresy as a, kraj as k, zdjecie as z SET p.opis='$opis', p.imie='$imie', p.nazwisko='$nazwisko', p.email='$email', p.data_ur='$data_ur', p.data_zm='$data_zm', a.nazwa_instytucji='$instytucja', a.nazwa_wydzialu='$wydzial', a.id_kraj='$id_kraj', p.data_aktualizacji=now() WHERE p.id_people='$id_people' and p.id_people=a.id_people and p.id_zdjecia=z.id_zdjecia and k.id_kraj=a.id_kr
    aj"
    ;
  32.  
  33. if (@mysql_query($zapytanie)) {
  34. echo '<p>Zmiany zostały zapisane w bazie danych.</p>';
  35. } else {
  36. echo '<p>Wystąpił błąd podczas aktualizowania danych: ' .mysql_error(). '</p>';
  37. }
  38.  
  39. ?>
  40.  
  41. <p><a href="index.php">Powrót do Strony głównej</a></p>
  42.  
  43. <?php
  44. else:
  45.  
  46. $id_people=$_GET['id_cat'];
  47. $zapytanie_opis= @mysql_query("Select * from people as p, adresy as a, kraj as k where p.id_people='$id_people' and p.id_people=a.id_people and k.id_kraj=a.id_kraj");
  48. if (!$zapytanie_opis) {
  49. exit('<p>Problem podczas pobierania danych: ' .mysql_error(). '</p>');
  50. }
  51.  
  52. while ($r=mysql_fetch_array($zapytanie_opis)) {
  53.  
  54. $imie=$r['imie'];
  55. $nazwisko=$r['nazwisko'];
  56. $email=$r['email'];
  57. $data_ur=$r['data_ur'];
  58. $data_zm=$r['data_zm'];
  59. $instytucja=$r['nazwa_instytucji'];
  60. $wydzial=$r['nazwa_wydzialu'];
  61. $kraje=$r['kraj'];
  62. $www=$r['www'];
  63. $opis=$r['opis'];
  64. $id_people=$r['id_people'];
  65.  
  66. echo "<table align=\"center\">
  67. <form action=\"update.php\" method=\"post\">
  68. <input type=\"hidden\" name=\"id_people\" value=\"$id_people\">
  69. <tr><td>Imię: </td><td><input type=\"text\" name=\"imie\" value=\"$imie\"></td></tr>
  70. <tr><td>Nazwisko: </td><td><input type=\"text\" name=\"nazwisko\" value=\"$nazwisko\"></td></tr>
  71. <tr><td>Email: </td><td> <input type=\"text\" name=\"email\" value=\"$email\"></td></tr>
  72. <tr><td>Data urodzenia: </td><td><input type=\"text\" name=\"data_ur\" value=\"$data_ur\"></td></tr>
  73. <tr><td>Data zm: </td><td><input type=\"text\" name=\"data_zm\" value=\"$data_zm\"></td></tr>
  74. <tr><td>Nazwa Instytucji: </td><td><input type=\"text\" size=\"50\" maxlength=\"255\" name=\"nazwa_instytucji\" value=\"$instytucja\"></td></tr>
  75. <tr><td>Nazwa Wydziału: </td><td><input type=\"text\" size=\"50\" maxlength=\"255\" name=\"nazwa_wydzialu\" value=\"$wydzial\"></td></tr>
  76. <TR><TD>Kraj</TD><TD><select name=\"kraje\">";
  77. require_once ('./mysql_connect.php');
  78. $wynik = mysql_query("SELECT * FROM kraj order by kraj") or die('Błąd zapytania');
  79.  
  80. if( mysql_num_rows( $wynik ) > 0) 
  81. {
  82. while ( $row = mysql_fetch_array( $wynik ) )
  83. {
  84. $id_kraj = $row["id_kraj"];
  85. $kraj = $row["kraj"];
  86. /* tutaj same elementy wyświetlane w polu select, czyli..*/
  87. /* "pole" to oczywiście nazwa kolumny do jakiej chcesz się odwołać*/
  88.  if($kraj==$kraje) echo '<option value="'.$id_kraj.'" selected>'.$kraj.'</option>';
  89. else echo '<option value="'.$id_kraj.'">'.$kraj.'</option>';
  90. // echo '<option value="'.$id_kraj.'" selected="$kraj">'.$kraj.'</option>';
  91. }}
  92. /*na końcu zamykamy tagi*/
  93. echo "</TD></TR>
  94.  
  95. <tr><td>Adres WWW: </td><td><input type=\"text\" size=\"50\" maxlength=\"255\" name=\"www\" value=\"$www\"></td></tr></table>
  96. <table align=\"center\">
  97. <tr><td>Biogram: </td><td><textarea rows=\"20\" cols=\"100\" name=\"opis\">".$opis."</textarea></td></tr>
  98. <tr><td><input type=\"Submit\" name=\"akceptuj\" value=\"Aktualizuj\"></td></tr>
  99.  
  100. </form></table>";
  101. }
  102.  
  103. endif; 
  104.  
  105. ?>
  106.  
  107.  
  108. </body>
  109. </html>


jak zrobić aby najpierw sprawdzał czy zdjęcie istnieje, jeśli tak to powinno być pole pozwalające zmienić zdjecie, a jeśli nie ma zdjecia to wtedy powinienem mieć możliwość wstawienia zdjęcia
b_chmura
do sprawdzania czy plik istnieje użyj file_exists" title="Zobacz w manualu PHP" target="_manual
do edytowania czy wgrywania będzie jeden kod który po prostu wysyła plik na serwer (jeśli plik istnieje nadpisze go)

file_exists będziesz używał jedynie do wyświetlania "Dodaj zdjęcie" lub jeśli zdjęcie już jest "Zmień zdjęcie"
seba15290
Zrobiłem to tak:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3.  
  4. <head>
  5. <title>edycja</title>
  6. <meta name="GENERATOR" content="Quanta Plus">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  8. </head>
  9. <body>
  10. <?php
  11. $page_title = 'RSDS: Biogramy';
  12. include_once ('../includes/admin_header.html');
  13. include_once ('../includes/admin_footer.html');
  14.  
  15. require_once ('./mysql_connect.php');
  16.  
  17. if(isset($_POST['akceptuj'])):
  18.  
  19. $opis=$_POST['opis'];
  20. $imie=$_POST['imie'];
  21. $nazwisko=$_POST['nazwisko'];
  22. $email=$_POST['email'];
  23. $data_ur=$_POST['data_ur'];
  24. $data_zm=$_POST['data_zm'];
  25. $id_people=$_POST['id_people'];
  26. $id_zdjecia=$_POST['id_zdjecia'];
  27. $instytucja=$_POST['nazwa_instytucji'];
  28. $wydzial=$_POST['nazwa_wydzialu'];
  29. $id_kraj=$_POST['kraje'];
  30. $www=$_POST['www'];
  31.  
  32. if (!is_uploaded_file($_FILES['upload']['tmp_name'])) {
  33. echo ('Nie przesłano żadnego pliku!');
  34. }
  35.  
  36. $uploadfile = $_FILES['upload']['tmp_name'];
  37. $uploadname = $_FILES['upload']['name'];
  38. $uploadtype = $_FILES['upload']['type'];
  39. $uploaddesc = $_POST['desc'];
  40.  
  41. // Otwórz plik dla odczytu binarnego ('rb')
  42. $tempfile = fopen($uploadfile, 'rb');
  43.  
  44. // Wczytaj cały plik do pamięci używając funkcji 
  45. // filesize PHP, by pobrać rozmiar pliku. 
  46. $filedata = fread($tempfile, filesize($uploadfile));
  47.  
  48. // Przygotuj do wstawienia do bazy danych dodając lewe ukośniki
  49. // przed znakami specjalnymi.
  50. $filedata = addslashes($filedata);
  51.  
  52. // Utwórz zapytanie SQL.
  53. $sql = "UPDATE zdjecie, people SET
  54. nazwa_pliku = '$uploadname',
  55. typmime = '$uploadtype',
  56. dane_pliku = '$filedata' WHERE zdjecie.id_zdjecia='$id_zdjecia' and people.id_zdjecia=z.id_zdjecia ";
  57.  
  58. $ok = @mysql_query($sql);
  59.  
  60.  
  61. $zapytanie="UPDATE people as p, adresy as a, kraj as k, zdjecie as z SET p.opis='$opis', p.imie='$imie', p.nazwisko='$nazwisko', p.email='$email', p.data_ur='$data_ur', p.data_zm='$data_zm', p.www='$www', a.nazwa_instytucji='$instytucja', a.nazwa_wydzialu='$wydzial', a.id_kraj='$id_kraj', p.data_aktualizacji=now() WHERE p.id_people='$id_people' and p.id_people=a.id_people and p.id_zdjecia=z.id_zdjecia and k.id_kraj=a.id_kr
    aj"
    ;
  62.  
  63. if (@mysql_query($zapytanie)) {
  64. echo '<p>Zmiany zostały zapisane w bazie danych.</p>';
  65. } else {
  66. echo '<p>Wystąpił błąd podczas aktualizowania danych: ' .mysql_error(). '</p>';
  67. }
  68.  
  69. ?>
  70.  
  71. <p><a href="index.php">Powrót do Strony głównej</a></p>
  72.  
  73. <?php
  74. else:
  75.  
  76. $id_people=$_GET['id_cat'];
  77. $zapytanie2= @mysql_query("select * from people as p, adresy as a, kraj as k where p.id_people=a.id_pe
    ople and k.id_kraj=a.id_kraj and p.id_people='$id_people';"
    );
  78. if (!$zapytanie2) {
  79. exit('<p>Problem podczas pobierania danych: ' .mysql_error(). '</p>');
  80. }
  81.  
  82. while ($r=mysql_fetch_array($zapytanie2)) {
  83.  
  84. $imie=$r['imie'];
  85. $nazwisko=$r['nazwisko'];
  86. $email=$r['email'];
  87. $data_ur=$r['data_ur'];
  88. $data_zm=$r['data_zm'];
  89. $instytucja=$r['nazwa_instytucji'];
  90. $wydzial=$r['nazwa_wydzialu'];
  91. $kraje=$r['kraj'];
  92. $www=$r['www'];
  93. $opis=$r['opis'];
  94. $id_people=$r['id_people'];
  95. $filename=$r['nazwa_pliku'];
  96. $mimetype=$r['typmime'];
  97. $filedata=$r['dane_pliku'];
  98. $id_zdjecia=$r['id_zdjecia'];
  99. $cat=$r['id_people'];
  100. echo "<table align=\"center\">
  101. <form action=\"update.php\" method=\"post\">
  102. <input type=\"hidden\" name=\"id_people\" value=\"$id_people\">
  103. <input type=\"hidden\" name=\"id_zdjecia\" value=\"$id_zdjecia\">
  104. <tr><td>Imię: </td><td><input type=\"text\" name=\"imie\" value=\"$imie\"></td></tr>
  105. <tr><td>Nazwisko: </td><td><input type=\"text\" name=\"nazwisko\" value=\"$nazwisko\"></td></tr>
  106. <tr><td>Email: </td><td> <input type=\"text\" name=\"email\" value=\"$email\"></td></tr>
  107. <tr><td>Strona domowa: </td><td> <input type=\"text\" name=\"www\" value=\"$www\"></td></tr>
  108. <tr><td>Data urodzenia: </td><td><input type=\"text\" name=\"data_ur\" value=\"$data_ur\"></td></tr>
  109. <tr><td>Data zm: </td><td><input type=\"text\" name=\"data_zm\" value=\"$data_zm\"></td></tr>
  110. <tr><td>Nazwa Instytucji: </td><td><input type=\"text\" size=\"50\" maxlength=\"255\" name=\"nazwa_instytucji\" value=\"$instytucja\"></td></tr>
  111. <tr><td>Nazwa Wydziału: </td><td><input type=\"text\" size=\"50\" maxlength=\"255\" name=\"nazwa_wydzialu\" value=\"$wydzial\"></td></tr>
  112. <TR><TD>Kraj: </TD><TD><select name=\"kraje\">";
  113. require_once ('./mysql_connect.php');
  114. $wynik = mysql_query("SELECT * FROM kraj order by kraj") or die('Błąd zapytania');
  115.  
  116. if( mysql_num_rows( $wynik ) > 0) 
  117. {
  118. while ( $row = mysql_fetch_array( $wynik ) )
  119. {
  120. $id_kraj = $row["id_kraj"];
  121. $kraj = $row["kraj"];
  122. /* tutaj same elementy wyświetlane w polu select, czyli..*/
  123. /* "pole" to oczywiście nazwa kolumny do jakiej chcesz się odwołać*/
  124.  if($kraj==$kraje) echo '<option value="'.$id_kraj.'" selected>'.$kraj.'</option>';
  125. else echo '<option value="'.$id_kraj.'">'.$kraj.'</option>';
  126. // echo '<option value="'.$id_kraj.'" selected="$kraj">'.$kraj.'</option>';
  127. }}
  128. /*na końcu zamykamy tagi*/
  129. echo "</TD></TR>";
  130. echo "<tr><td>Zdjęcie: </td><td><img src=\"get_img.php?id_zdjecia={$id_zdjecia}\"></td></tr>";
  131. echo "<TR><TD>Dodaj zdjecie: </TD><TD><input type=\"file\" name=\"upload\"/></td></tr>";
  132. echo "<tr><td>Biogram: </td><td><textarea rows=\"20\" cols=\"100\" name=\"opis\">".$opis."</textarea></td></tr>
  133. <tr><td><input type=\"Submit\" name=\"akceptuj\" value=\"Aktualizuj\"></td></tr>";
  134. echo "</form></table>";
  135. }
  136.  
  137. endif; 
  138.  
  139. ?>
  140.  
  141.  
  142. </body>
  143. </html>

Zdjęcie mi wyświetla ale gdy chce dodać zdjęcie to po wciśnięciu przycisku wyświetla się że nie przesłano pliku. Ten kod do wstawiania zdjęcia działa mi w skrypcie do wstawiania nowych osób a tu nie.
b_chmura
nigdzie nie widzę u Ciebie move_upload_file, jak kopiujesz plik na serwer?
seba15290
Cytat(b_chmura @ 8.11.2007, 15:08:52 ) *
nigdzie nie widzę u Ciebie move_upload_file, jak kopiujesz plik na serwer?

Zdjęcia przechowuje w bazie danych
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.