Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 13.12.2007 Ostrzeżenie: (0%)
|
mam taki skrypt, ale niestety po kliknięciu "Zapisz" $_POST['tresc'] oraz zmienna $tresc jest pusta i w pliku nie następują żadne zmiany (IMG:http://forum.ovh.pl/images/smilies/frown.gif) co mam zrobić aby szło edytować zawartość pliku $dzial i zapisać zmiany spowrotem w tym pliku ?
Powód edycji: zmieniłem temat i dodałem (cysiaczek)
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 13.12.2007 Ostrzeżenie: (0%)
|
Może tablica $_POST nie istnieje i masz to w $HTTP_POST_VARS
Odpal sobie zaraz po "zapisz($dzial, $tresc);" ten kod: print_r($_POST); Będziesz wiedział czy cokolwiek doszło do serwera. A tak nawiasem mówiąc, to radziłbym używać rozszerzenie php zamiast php5. [edit] Taka drobna nieścisłość którą zauważyłem - ta strona jest wyświetlana tylko wtedy kiedy przez POST masz przesłany parametr dział... Dorzuć tą linijkę zaraz po definicji formularza i powinno wszystko chodzić: <input type="hidden" name="dzial" value ="<?php echo($_POST['dzial']); ?>" /> Ten post edytował Snowak 13.12.2007, 15:55:01 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 13.12.2007 Ostrzeżenie: (0%)
|
zmieniłem ale niestety nadal to samo (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Przenoszę na Przedszkole
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 13.12.2007 Ostrzeżenie: (0%)
|
pomoże mi ktoś ? to pilne
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 32 Dołączył: 14.06.2007 Ostrzeżenie: (0%)
|
Po wysłaniu formularza wywołaj sobie funkcję phpinfo i zobacz gdzie trafiły dane z formularza, a potem odpowiednio dostosuj skrypt.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 13.12.2007 Ostrzeżenie: (0%)
|
w phpinfo() jest tylko
Kod _POST["dzial"] 1 a nie ma Kod _POST["tresc"] 1 :/wie ktoś dlaczego ? w takim razie skoro nie ma $_POST['tresc'] to co mam zrobić aby przypisać zmiennej $tresc zawartość textarea ? |
|
|
|
Post
#8
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%)
|
no przecież w kodzie strony masz 2 osobne formularze, w jednym masz pole 'dzial' a w drugim masz pole 'tresc' - po wysłaniu każdego z nich do skryptu przechodzi tylko jedno z tych dwu pól - to oczywiste. jeżeli chcesz przekazać jednocześnie oba pola (dzial i tresc), musisz je umieści w tym samym formularzu...
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 13.12.2007 Ostrzeżenie: (0%)
|
heh, dzięki za informacje (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) zdołałem sobie poradzić inaczej
oto skrypt jakby ktoś chciał przeanalizować zmiany Kod <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <meta http-equiv="Content-Language" content="pl" /> <meta name="robots" content="index,follow" /> <meta HTTP-EQUIV="reply-to" CONTENT="b3niup@o2.pl" /> <title>Panel Admina</title> </head> <body> <?php session_start(); if ($_SESSION['authuser'] !=1) { echo "Przepraszamy,ale nie masz uprawnien"; exit(); } ?> <form action="edytuj.php" method="POST" name="edit"> <fieldset> <p><label>Wybierz dział jaki chcesz edytować:</label><br /> <select name="dzial"> <option value="0">Wybierz dział</option> <option value="1">News</option> <option value="2">Skład</option> <option value="3">Regulamin</option> <option value="4">CW</option> <option value="5">Download</option> <option value="6">Kontakt</option> </select> <input type="submit" class="ok" value="Wybierz" /></p> </fieldset> </form> <?php //extract($_POST); switch ($_POST['dzial']) { case 0: $dzial = "error"; break; case 1: $dzial = "news.txt"; break; case 2: $dzial = "sklad.txt"; break; case 3: $dzial = "regulamin.txt"; break; case 4: $dzial = "cw.txt"; break; case 5: $dzial = "download.txt"; break; case 6: $dzial = "kontakt.txt"; break; } define(PLIK, $dzial); if($dzial == "error"){ //błšd echo "<h4 style=\"color:red;\">Wybierz dział z listy (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !</h4>"; } else { //wczytanie zawartoci pliku do zmiennej $zawartosc $zawartosc = file_get_contents(PLIK); //pokazanie formularza edycji echo "<h3>Zawartosc pliku $dzial:</h3>"; ?> <form action="edytuj.php" method="POST" name="zawartosc"> <input type="hidden" name="dzial" value ="<?php echo($_POST['dzial']); ?>" /> <textarea rows="15" cols="50" name="tresc"><?php echo $zawartosc; ?></textarea> <input type="submit" value="Zapisz" /> </form> <?php //funkcja zapisujšca plik function zapisz($a, $b) { $plik = fopen($a,"w+"); fputs($plik,$b); fclose($plik); $dzial = "error"; return $dzial; } zapisz(PLIK, $_POST['tresc']); } ?> <br /> <br /> <table width="50%"> <tr><td><font color="#FF0000">Uwaga (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !</font><br /> Jak już wybrałeś dział, w którym chcesz coś zmienić to aby nie utracić wszystkich wpisów <u>MUSISZ</u> kliknąć "Zapisz" w innym wypadku stracisz zawartość całego działu !</td></tr> <tr><td><u>Opis:</u><br /> <*br /> ---> znak nowej linii<br /> <*strong> ---> znak <b>POGRUBIENIA</b><br /> <*u> ---> znak <u>PODKREŚLENIA</u><br /> <font size="-1">Wszystkie te znaki są bez gwiazdki (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !</font> </td></tr> </body> </html> Pozdro ! |
|
|
|
![]() ![]() |
|
Aktualny czas: 19.12.2025 - 13:31 |