Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] System newsów, jak zrobić edycję..
Forum PHP.pl > Forum > Przedszkole
Ramzaa
Witam,

ostatnio postanowiłem napisać panel administracyjny - udało mi się, działa bez zarzutów, zrobiłem w panelu system newsów, że można je dodawać w panelu (tylko i wyłącznie). Teraz chcialbym dorobić coś w stylu 'edycji' istniejącego news'a + ew. jego kasowanie. W ogóle nie mam pojęcia od czego zacząć, może jakieś wskazówki?

To, co udało mi się zrobić:

  1. <FORM ACTION=admin.php?com=edytuj METHOD=POST>
  2. <INPUT type=hidden NAME=pass value="<? echo $HTTP_POST_VARS['pass']; ?>">
  3. <textarea rows="15" cols="53"><?PHP include ('news.txt'); ?></textarea>
  4. <input type="submit" value="edycja">
  5. </form>


niżej w skrypcie mam:

  1. <?php
  2. ... if(($HTTP_GET_VARS['com'] == edytuj) && ($HTTP_POST_VARS['pass']!="")){
  3.  
  4. $nazwa_pliku = "news.txt";
  5.  
  6. $dane = file_get_contents('news.txt');
  7.  
  8. file_put_contents( 'news.txt', $dane);
  9.  
  10. }
  11.  
  12. ?>


błędów nie wywala, ale nie zapisuje do pliku.. ciągle jest tak jak było w news.txt (chmod zmieniłem na 777)
proszę o pomoc.
Pawel_W
  1. <?php
  2. $dane = file_get_contents('news.txt');
  3.  
  4. file_put_contents( 'news.txt', $dane);
  5. ?>

a co ma ci zapisac?

pobiera plik i zapisuje to samo winksmiley.jpg

spróbuj tak:
  1. <?php
  2. $dane = file_get_contents('news.txt');
  3.  
  4. $dane  .= 'Jakis tekst na probe ';
  5.  
  6. file_put_contents( 'news.txt', $dane);
  7. ?>

i zobacz, czy naprawde nie dodaje winksmiley.jpg
Ramzaa
teraz to wywala błąd, chyba coś nie tak tutaj jest:

  1. <?php
  2. $dane  .= 'Jakis tekst na probe ';
  3. ?>


ale to tylko moje przypuszczenie.

mam system newsów w panelu administracyjnym, który sam napisałem. Dodaję news'a, wszystko jest w porządku, ładnie się dodaje, wyświetla się tam gdzie chcę. Dalej w panelu admina mam opcję "edytuj newsa" i niżej ten formularz co napisałem w pierwszym poście. Tam wczytuję zawartość pliku news.txt i ładnie się wszystko pokazuję, lecz jak zmienię treść w edycji, to się nie zmienia. O to mój problem wyjaśniony dokładniej.

Proszę o pomoc.
Pawel_W
a może błąd podasz winksmiley.jpg
Ramzaa
dobra, działa - zapisuje do pliku news.txt, ale co zrobić, żeby można było to 'edytować'?
Miszazdw
Wczytujesz plik do zmiennej, następnie do textarea i jak klikniesz button "zapisz" to zawartość textarea ładuje do pliku. To tak pokrótce.

file_get_contents()" title="Zobacz w manualu PHP" target="_manual
file_put_contents()" title="Zobacz w manualu PHP" target="_manual

Pozdrawiam
Ramzaa
mógłby ktoś to napisać? kompletnie tego nie rozumiem =/

z góry dzięki za pomoc.
Fifi209
To nie ten dział. Gotowce są w innym.
Ramzaa
eh.. ale chyba proszę o pomoc, prawda?..
viking
Weź "do ręki" jakiś kurs PHP i poczytaj trochę.

  1. <?php
  2. if ($_POST) {
  3. file_put_contents( 'news.txt', $_POST['tresc']);
  4. }
  5. ?>


I formularz do tego z textarea name=tresc. Już pomijam ekstra zabezpieczenia.
Miszazdw
edit.php
  1. <?php
  2. $dane = file_get_contents('news.txt');
  3. echo "<form action=\"news.php\">";
  4. echo "<textarea name=\"news\" cols=\"100\" rows=\"10\">".$dane."</textarea>";
  5. </form>
  6. ?>


plik news.php

  1. <?php
  2. $dane = $_POST['news'];
  3. file_put_contents('news.txt', $dane);
  4. ?>
Pawel_W
Cytat(Miszazdw @ 4.08.2009, 18:28:59 ) *
edit.php
  1. <?php
  2. $dane = file_get_contents('news.txt');
  3. echo "<form action=\"news.php\">";
  4. echo "<textarea name=\"news\" cols=\"100\" rows=\"10\">".$dane."</textarea>";
  5. </form>
  6. ?>


plik news.php

  1. <?php
  2. $dane = $_POST['news'];
  3. file_put_contents('news.txt', $dane);
  4. ?>

no coś nie tak masz winksmiley.jpg brakuje 1 echo, metody w formularzu i przycisku submit, wogóle to czemu bierzesz to w " ", lepiej w ' ', mniej pracy winksmiley.jpg
poprawnie:
  1. <?php
  2. $dane = file_get_contents('news.txt');
  3. echo '<form method="post" action="news.php">
  4. <textarea name="news" cols="100" rows="10">'.$dane.'</textarea>
  5. <input type="submit" value="Zapisz">
  6. </form>';
  7. ?>
Ramzaa
ok, zrobiłem te pliki i dodałem to co napisałeś. Jak mam teraz to wywołać, czy jak to zrobić?

po prostu <?php include('news.php'); ?> ?
Pawel_W
nie winksmiley.jpg

w pliku news.php zapisujesz dane które pochodzą z formularza
Ramzaa
dobra, zrobione smile.gif działa jak należy. Bardzoo dziękuję wszystkim za pomoc. Temat do zakmnięcia.
tmgryf
w twoim kodzie nie cudzysłówujesz nazwy pól oraz innych wartosci np powinno byc name="costam" lub action="tutaj.php" - pamietaj o tym równiez w toim kodzie brakuje w textarea atrybutu name... - nie odczytasz tego pola bez name
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.