Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Skrypt do Edycji plików
Forum PHP.pl > Forum > Przedszkole
logas
Witam pisze sobie skrypt do edycji plików
oto on
  1. <html>
  2. <body>
  3. <form method='post' name='form'>
  4. <div>
  5. <div>
  6. <div><input type='text' name="zaladuj_pliki" value=<?php echo $_POST['zaladuj_pliki'] ?>></div>
  7. <input type="checkbox" name="opcja[]" value="od" >Odczytaj
  8. <input type="checkbox" name="opcja[]" value="za" >zapisz
  9. <div><input type='submit' value='wyslij'></div></br>
  10. <div><textarea name="skrypt" cols="50" rows="10">
  11. <?php 
  12. $opcja = $_POST['opcja'];
  13. $zaladuj_pliki=$_POST['zaladuj_pliki'];
  14. if(file_exists($zaladuj_pliki) & !empty($opcja[0]) )
  15. {
  16. readfile($zaladuj_pliki);
  17. }
  18.  
  19. echo '
  20. </textarea></div>
  21. </div>
  22. </div>';
  23.  
  24. $skrypt = $_POST['skrypt'];
  25. if(file_exists($zaladuj_pliki) & !empty($opcja[1]) & empty($opcja[0]))
  26. {
  27. $wp = fopen($zaladuj_pliki,'w');
  28. fwrite($wp,$skrypt);
  29. echo 'Zapisanow pliku : '."$skrypt".'<br/>';
  30. }
  31. ?>
  32. </form>
  33. </body>
  34. </html>

wiem że nie działa poprawnie ale już nie mam siły go poprawiać bo robie to od wczoraj.Mógł by ktoś napisać gdzie popełniam błędy w tym skrypcie?
Crozin
1) Co dokładnie nie działa
2) error_reporting(E_ALL);
3) Czy zapisywane pliki mają odpowiedni CHMOD?
logas
Wszytywanie pliku działa znakomicie ale zapisywanie już nie a powinno :/
webdice
  1. <?php
  2. if ((file_exists($zaladuj_pliki)) && (!empty($opcja[1])) && (empty($opcja[0])))
  3. ?>


Poczytaj o różnicach między & i &&.
logas
dzięki już poprawiełem to i kilka szczegłów i skrypt działa.Mam jeszcze jedno pytanie jak to zrobic zeby pole n.p zapisz było nieaktywne gdy pole odczyt będzie zaznaczone i na odwrót
marcio
Takie cos to chyba w js musisz zrobic
Crozin
Takie coś to się robi z wykorzystam pola typu radio winksmiley.jpg
  1. <input type="radio" name="mode" value="r" /> Odczyt
  2. <input type="radio" name="mode" value="w" /> Zapis
A w PHP:
  1. <?php
  2. if($_POST['mode'] == 'r'){
  3.  //odczytujemy
  4. }else{
  5. //zapisujemy
  6. }
  7. ?>
marcio
Tez racja ale pytal o checkbox'a tongue.gif
webdice
Jeśli chcesz w JavaScript to zrób tak:

  1. <html>
  2. <body>
  3.  
  4. <script>
  5.  
  6. function check (object)
  7. {
  8. if (object.id == 'read')
  9. {
  10.  if (document.form.read.checked == true)
  11.  {
  12. document.form.write.disabled = true;
  13. }
  14. else
  15. {
  16. document.form.write.disabled = false;
  17. }
  18. }
  19. else if (object.id == 'write')
  20. {
  21.  if (document.form.write.checked == true)
  22.  {
  23. document.form.read.disabled = true;
  24. }
  25. else
  26. {
  27. document.form.read.disabled = false;
  28. }
  29. }
  30. }
  31.  
  32. </script>
  33.  
  34. <form method='post' name='form'>
  35. <div>
  36. <div>
  37. <div><input type='text' name="zaladuj_pliki" value=<?php echo $_POST['zaladuj_pliki'] ?>></div>
  38. <input type="checkbox" id="read" onclick="check (this);" name="opcja[]" value="od" >Odczytaj
  39. <input type="checkbox" id="write" onclick="check (this);" name="opcja[]" value="za" >zapisz
  40. <div><input type='submit' value='wyslij'></div></br>
  41. <div><textarea name="skrypt" cols="50" rows="10">
  42. <?php 
  43. $opcja = $_POST['opcja'];
  44. $zaladuj_pliki=$_POST['zaladuj_pliki'];
  45. if(file_exists($zaladuj_pliki) & !empty($opcja[0]) )
  46. {
  47. readfile($zaladuj_pliki);
  48. }
  49.  
  50. echo '
  51. </textarea></div>
  52. </div>
  53. </div>';
  54.  
  55. $skrypt = $_POST['skrypt'];
  56. if(file_exists($zaladuj_pliki) && !empty($opcja[1]) && empty($opcja[0]))
  57. {
  58. $wp = fopen($zaladuj_pliki,'w');
  59. fwrite($wp,$skrypt);
  60. echo 'Zapisanow pliku : '."$skrypt".'<br/>';
  61. }
  62. ?>
  63. </form>
  64. </body>
  65. </html>


ale na pewno lepszym rozwiązaniem będzie pole typu radio.

~marcio nie nabijaj postów smile.gif.
marcio
Nie nabijam postow tylko napisalem o co mu chodzilo skoro @Crozin podal inne rzecz a zreszta po co jest ta liczba postow czy to jest takie wazne?

// Powiedz mi jeszcze że ten post to nie jest nabijanie.
// Nie jest to Twój pierwszy raz, następnym razem będzie ostrzeżenie.
// ~webdicepl
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.