Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Błąd - skrypt tworzenie podstrony i zapis!
Forum PHP.pl > Forum > Przedszkole
kleszcz12
Witam, mam problem: mam taki skrypt :
  1. <?php
  2. if(!isSet($_SESSION['zalogowany'])){
  3. $_SESSION['komunikat'] = "Nie jestes zalogowany!";
  4. include('form.php');
  5. exit();
  6. }
  7. ?>
  8. <? include ('gora2.php') ?>
  9. <?php
  10.  
  11. if(file_exists('../film/filmy/'.$_POST['nazwa'].'.php'))
  12. {
  13. echo 'jest';
  14. }
  15.  
  16.  
  17.  $_POST['rezyseria']=str_replace(' ', '_', $_POST['rezyseria']);
  18. $_POST['scenariusz']=str_replace(' ', '_', $_POST['scenariusz']);
  19. $_POST['zdjecia']=str_replace(' ', '_', $_POST['zdjecia']);
  20. $_POST['muzyka']=str_replace(' ', '_', $_POST['muzyka']);
  21. $_POST['nazwa']=str_replace(' ', '_', $_POST['nazwa']);
  22. {
  23. }
  24. if
  25. (!empty($_POST['nazwa']) && !empty($_POST['recenzja']) && !empty($_POST['rokswiat']) && !empty($_POST['rokpolska']) && !empty($_POST['nazwapolska']) && !empty($_POST['czas']) && !empty($_POST['kraj']) && !empty($_POST['gatunek']) && !empty($_POST['rezyseria']) && !empty($_POST['scenariusz']) && !empty($_POST['zdjecia']) && !empty($_POST['muzyka']) && !empty($_POST['obsada'] ))
  26.  
  27.  
  28. { 
  29.  $szablon = '<? include("../gora.php") ?>
  30. Dodane dnia:'.date("Y-m-d").', przez
  31.  <a href=../users/'.$_SESSION['zalogowany'].'>'.$_SESSION['zalogowany'].'</a><br>
  32. <font size="4"><b>'.$_POST['nazwapolska'].'</font></b><br>
  33. <i>'.$_POST['nazwa'].'</i>
  34. ('.$_POST['rokswiat'].')<br>
  35. Produkcja:'.$_POST['kraj'].', 
  36. gatunek:'.$_POST['gatunek'].'<br>
  37. data premiery:'.$_POST['rokpolska'].'(polska), 
  38. '.$_POST['rokswiat'].'(świat)<br><br>
  39. Reżyseria:<a href=../aktorzy/'.$_POST['rezyseria'].'>'.$_POST['rezyseria'].'</a>
  40. Scenariusz:<a href=../aktorzy/'.$_POST['scenariusz'].'>'.$_POST['scenariusz'].'</a>
  41. Zdjęcia:<a href=../aktorzy/'.$_POST['zdjecia'].'>'.$_POST['zdjecia'].'</a>
  42. Muzyka:<a href=../aktorzy/'.$_POST['muzyka'].'>'.$_POST['muzyka'].'</a>
  43. Czas:'.$_POST['czas'].'<br><br>
  44.  
  45.  <font size="4"><b> Recenzje:</b></font><br>'.$_POST['recenzja'].'<br><br>
  46. <font size="4"><b> Obsada:</b></font><br>'.$_POST['obsada'].'
  47.  <? include ("../dol.php") ?>'; 
  48.  if (is_dir('../film/filmy/') === true) { 
  49. $plik = fopen('../film/filmy/'.$_POST['nazwa'].'.php','w');
  50.  fwrite($plik, $szablon); 
  51. fclose($plik); 
  52.  } else { 
  53.  die('nieudana próba utworzenia pliku (katalog nie istnieje)'); 
  54.  } 
  55. } else { 
  56.  echo('<form action="" method="POST"> 
  57. <center>
  58. <br>Tytuł filmu:<br><input type="text" name="nazwa" style="width: 500px;"> <br>
  59. Tytuł polski:<br><input type="text" name="nazwapolska"style="width: 500px;"><br> 
  60. Premiera(polska):<br><input type="text" name="rokpolska"style="width: 500px;"> <br>
  61. Premiera(świat):<br><input type="text" name="rokswiat"style="width: 500px;"> <br>
  62. Kraj:<br><input type="text" name="kraj"style="width: 500px;"> <br>
  63. Czas trwania(min):<br><input type="text" name="czas"style="width: 500px;"> <br>
  64. Gatunek:<br><input type="text" name="gatunek"style="width: 500px;"> <br>
  65. Reżyseria:<br><input type="text" name="rezyseria"style="width: 500px;"> <br>
  66. Scenariusz:<br><input type="text" name="scenariusz"style="width: 500px;"> <br>
  67. Zdjęcia:<br><input type="text" name="zdjecia"style="width: 500px;"> <br>
  68. Muzyka:<br><input type="text" name="muzyka"style="width: 500px;"> <br><br><br>
  69. Obsada(html):<br><textarea name="obsada" style="width: 500px; height: 100px";></textarea> <br>
  70. Recenzja(html):<br><textarea name="recenzja" style="width: 500px; height: 100px";></textarea> 
  71.  
  72.  
  73. <br>
  74. <input type="submit" value="Dodaj film"> 
  75. <form>'); 
  76. } 
  77.  
  78.  
  79. ?><? include ('dol2.php') ?>

I wyskakuje mi błąd:

  1. <?php
  2. Notice: Undefined index: nazwa in /home/KONTA/WWW/PREMIUM/j/janek1230/_public_html/film/Dodaj_Film.php on line 12
  3.  
  4. Notice: Undefined index: rezyseria in /home/KONTA/WWW/PREMIUM/j/janek1230/_public_html/film/Dodaj_Film.php on line 18
  5.  
  6. Notice: Undefined index: scenariusz in /home/KONTA/WWW/PREMIUM/j/janek1230/_public_html/film/Dodaj_Film.php on line 19
  7.  
  8. Notice: Undefined index: zdjecia in /home/KONTA/WWW/PREMIUM/j/janek1230/_public_html/film/Dodaj_Film.php on line 20
  9.  
  10. Notice: Undefined index: muzyka in /home/KONTA/WWW/PREMIUM/j/janek1230/_public_html/film/Dodaj_Film.php on line 21
  11.  
  12. Notice: Undefined index: nazwa in /home/KONTA/WWW/PREMIUM/j/janek1230/_public_html/film/Dodaj_Film.php on line 22
  13. ?>

Czy wie ktoś co może być tego przyczyną, proszę o pomoc.
Crozin
Odwołujesz się do zmiennych z formularza ($_POST['xxx']) które nie istnieją (bo formularz nie został wysłany najprawdopodobniej). Sprawdź czy formularz jest wysłany - a dopiero potem wykonaj ten fragemnt (generujący błąd) kodu.
webdice
To nie są błędy tylko ostrzeżenia. Wyskakują dlatego że nie wysłałeś formularza. Sprawdzaj sobie czy zmienna istnieje poprzez isset" title="Zobacz w manualu PHP" target="_manual.
kleszcz12
po wypelnieniu pól i kliknieciu wyślij się zapisuje normalnie..., dziwne jest to że wczoraj mi się tak nie pojawialo...
Crozin
Zapewne do wczoraj miałeś wyłączone raportowanie błędów typu E_NOTICE winksmiley.jpg
kleszcz12
możliwe, a możesz jakoś konkretniej jak to zrobić:...
Jest coś takiego:
  1. <?php
  2. if (file_exists('../film/filmy/'.$_POST['nazwa'].'.php'))
  3. {
  4. echo 'jest';
  5. }
  6.  
  7.  
  8.  $_POST['rezyseria']=str_replace(' ', '_', $_POST['rezyseria']);
  9. $_POST['scenariusz']=str_replace(' ', '_', $_POST['scenariusz']);
  10. $_POST['zdjecia']=str_replace(' ', '_', $_POST['zdjecia']);
  11. $_POST['muzyka']=str_replace(' ', '_', $_POST['muzyka']);
  12. $_POST['nazwa']=str_replace(' ', '_', $_POST['nazwa']);
  13. ?>
phpion
  1. <?php
  2. if (size_of($_POST) > 0) {
  3. if (file_exists('../film/filmy/'.$_POST['nazwa'].'.php')) {
  4. echo 'jest';
  5. }
  6.  
  7.  
  8. $_POST['rezyseria']=str_replace(' ', '_', $_POST['rezyseria']);
  9. $_POST['scenariusz']=str_replace(' ', '_', $_POST['scenariusz']);
  10. $_POST['zdjecia']=str_replace(' ', '_', $_POST['zdjecia']);
  11. $_POST['muzyka']=str_replace(' ', '_', $_POST['muzyka']);
  12. $_POST['nazwa']=str_replace(' ', '_', $_POST['nazwa']);
  13. }
  14. ?>

PS: zostawiłem ci tu małą niespodziankę - czegoś tu jest za dużo. Mam nadzieję, że poradzisz sobie z dojściem do tego, co jest nie tak.
pyro
mozna tez poprostu wlaczyc raportowanie jedynie bledow krytycznych, a odlozyc ostrzezenia i spostrzeżenia:

wystrarczy dodac na poczatku skryptu:
  1. <?php
  2. error_reporting(E_EREOR);
  3. ?>
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.