Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mały problem
Forum PHP.pl > Forum > Przedszkole
Anonymous
Witam
Mam coś takiego:

[php:1:3880336462]
<?php
$id = $_GET['id'];
$sciezka = "pliki";
$roz = ".txt";

if(empty($id)){
echo "<form action="index.php/?id=q" method="post">
<input type="text" name="nazwa">
<textarea name="tresc" rows="7" cols="12"></textarea>
<input type="submit" value="Wy&para;lij">
</form>
";
}

else if ($id=="q"){
$nazwa = stripslashes(trim($_POST["nazwa"]));
$tresc = stripslashes(trim($_POST["tresc"]));
echo "$nazwa$roz <br>";
echo "$tresc <br>";
echo "<a href=java script:history.go(-1)>Popraw</a> &nbsp; <a href=?id=y>Zapisz</a> ";
}

if ($id=="y"){
$plik = fopen("$sciezka/$nazwa$roz", "w+");
fwrite($plik,$tresc);
fclose($plik);
}
?>
[/php:1:3880336462]

Czy może mi ktoś powiedzieć, jak zrobić, żeby nie tracić danych w tym
[php:1:3880336462]<?php
if ($id=="y"){
?>[/php:1:3880336462] momencie?

Prosze używac do kodu php odpowiednich znaczników [php]
hwao
michaloo
tracic danych?? co masz na mysli? Proponuje lepiej opisac problem bo jak dla mnie jest on niezrozumialy...
Anonymous
OK
Ten scrypt jeśłi w adresie jest "?id=" wyświetla pola w które wpisuje się nazwę i treść, po wysłaniu, jesteśmy na stronie "?id=q" co powoduje wyświetlenie zawartości pól wcześniej wpisanych, z kolei, jak kliknę zapisz, to uzyskuję komunikat:

Notice: Undefined variable: nazwa in C:serverwwwkatalog2index.php on line 24

Notice: Undefined variable: tresc in C:serverwwwkatalog2index.php on line 25

i to jestnazwane przeze mnie utratą danych ze zmiennych $nazwa i $tresc. Nie wiem jak to umieścić, żeby je zachować do końca.
michaloo
możesz te dane przezkazac przez GETa (czyli dopisac do url'a) badz zapisac jako zmienne sesyne, jednak wydaje mi sie ze peirwszy sposob bedzie lepszy
[php:1:5b437d4221]<?php
$id = $_GET['id'];
$sciezka = "pliki";
$roz = ".txt";

if(empty($id)){
echo "<form action="index.php/?id=q" method="post">
<input type="text" name="nazwa">
<textarea name="tresc" rows="7" cols="12"></textarea>
<input type="submit" value="Wy&para;lij">
</form>
";
}

else if ($id=="q"){
$nazwa = stripslashes(trim($_POST["nazwa"]));
$tresc = stripslashes(trim($_POST["tresc"]));
echo "$nazwa$roz <br>";
echo "$tresc <br>";
echo "<a href=java script:history.go(-1)>Popraw</a> &nbsp; <a href=?id=y&nazwa=$nazwa&tresc=$tresc>Zapisz</a> ";
}

if ($id=="y"){
$nazwa = GET['nazwa'];
$tresc = GET['tresc'];
$plik = fopen("$sciezka/$nazwa$roz", "w+");
fwrite($plik,$tresc);
fclose($plik);
}
?>[/php:1:5b437d4221]
Anonymous
niestety, wynik jaki uzyskałem to: "Parse error: parse error, unexpected '[' in C:serverwwwkatalog2index2.php on line 25"
matys
Popraw w 20 linijce z tym space
Anonymous
nadal ten sam komunikat
michaloo
uups... :oops: ma byc oczywisci $_GET['nazwa'] i odpowiednio dla tresci
Anonymous
ok działa smile.gif, ale czy nie da się tego inną metodą przesłać? bo GET hmm ona ma chyba jakieś ograniczenia czyż nie?
michaloo
POST (przez formularz) badz przez sesje...wdaje mi sie ze przerobienie tego bedzie juz latwe.
W przypadku gdy wybrales POST to musisz zrobic formularz z dwoma polami hidden badz (gdy wybrales sesje) to w dopisac session_start(); oraz stworzenie zmiennych sesyjnych ($_SESSION['nazwa'] = $nazwa; ) i w if(id=='y') zamiast GET to SESSION
Anonymous
Dzięki! jest lux, wykorzystałem POST, i na tej drugiej stronie wstawiłem <input type=text> dzięki czemu poprawki mogę wprowadzić już przy wynikach i nie trzeba powracać do początku smile.gif
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.