Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Panel administratora raz działa raz nie - czy może być to wina IE?
Forum PHP.pl > Forum > Przedszkole
hyhyhy
Witam,

Mam nietypowy problem od którego zgłupiałem - otóż piszę klientowi panel do zarządzania galerią, który u mnie działa jak należy.
W tym wypadku chodzi o edycję wpisu - pojawia się formularz zapełniony danymi z bazy, jeżeli coś się zmieni to leci update do tabeli ew. nadpisanie pliku graficznego.

I tutaj jest problem klienta który używa IE (to jedyne co mi przychodzi na myśl jako winne) otwiera sobie wpis do edycji, i dwie <textarea> ma puste, jeżeli wpisze w nie cokolwiek to nie przechodzi to dalej, tzn jest nieudana walidacja i okazuje się że zmienne $_POST opis i opisEn są puste w wyniku czego nie da się zmienić zadnego wpisu.

U mnie oczywiście działa bez problemu, także tymbardziej mnie to dziwi.

Czy ktoś miał już do czynienia z podobnym błędem?
Kshyhoo
Większość z nas to ma - inaczej nie było by tego forum smile.gif
Mamy to wywróżyć? Wklej kod, to może coś się poradzi.
japan13
A jak wstawiasz treść z bazy do textarea?
hyhyhy
Pisane takim łamanym OOP, z braku i czasu i wiedzy

funkcja wyświetlająca formularz:

  1. public function update_showForm($results)
  2. {
  3. $select = '<select name="kategoria" class="input"><option value="">Wybierz z listy... </option>'.$this->createSelectList().'</select>';
  4. $this->_data = $results;
  5. echo '<form method="post" action="'.$_SERVER['REQUEST_URI'].'" enctype="multipart/form-data">
  6. Typ dodawanej pozycji: '.$select.'<br /><br />
  7. <input type="text" name="nazwa" class="input" value="'.$results[0]['nazwa'].'"/> Nazwa<br />
  8. <input type="text" name="nazwaEn" class="input" value="'.$results[0]['nazwaEn'].'"/> Nazwa w języku angielskim<br />
  9. <br />Podaj opis pozycji: <br/>
  10. <textarea name="opis">'.$results[0]['opis'].'</textarea><br /><br />
  11. <textarea name="opisEn">'.$results[0]['opisEn'].'</textarea><br /><br />
  12. <img src="../portfolio/'.$results[0]['obraz'].'.jpg" style="width: 150px;height: 150px;" /><br /><p style="font-size: 8px;">
  13. Aktualny obraz. Nowy obraz zostanie zaktualizowany dopiero po zapisaniu całego formularza.</p><br />
  14. <input type="file" name="obraz" class="input"/> Zmień obraz <a href="../portfolio/'.$results[0]['obraz'].'.jpg">Aktualny obraz</a><br />
  15. <input type="checkbox" name="enable" value="1" ';
  16. if ($results[0]['enable'] == 1) {echo 'checked';}
  17. echo '/> Zaznacz, jeżeli pozycja ma się wyświetlać na stronie od razu po dodaniu<br />
  18. <br /><input type="submit" value="ZAPISZ" class="submit">
  19. </form>';
  20. }


I wykonanie tego

  1.  
  2. //jeżeli $action == 'update'
  3. $u->setId($_GET['id']);
  4. if ($u->idExists($u->getId()))
  5. {
  6. $r = $this->getResults("SELECT * FROM `portfolio` WHERE `id`=".$u->getId());
  7. if (empty($_POST))
  8. {
  9. $u->update_showForm($r);


Przy show form już się wyświetlają u klienta puste textarea
Turson
  1. $results[0]['nazwaEn']

zamień na
  1. $results['nazwaEn']

etc.


Jak to nic nie da to sprawdź zawartość tablicy $results
  1. var_dump($results);
com
najpierw zrób sobie var_dump($results);

to po pierwsze po drugie

  1. if (empty($_POST))
jesteś pewny że ma wywoływać $u->update_showForm($r); jak $_POST jest pusty?
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.