ďťż

[php] Dodanie textu do pliku. Problem... :) POMOCY!!!!!!!!!!!!!

       

Podstrony


telcocafe

mam plik add_link.php z formularzem dodawania linka. Zapisuje mi dane do pliku sterowanie_linki.php, a plik sterowanie_linki.php ma się includowac do pliku sterowanie.php jednak wywala błąd.
Tu plik sterowanie.php:

<?php
if (!isset($_REQUEST["url"]))
$url="glowna";
else
$url=$_REQUEST["url"];

switch ($url)
{
include ("sterowanie_linki.php");
default:
include ("main.php");
}
?>


http://lksdownload.o.../sterowanie.php



w switchu masz błąd :-) brakuje jakiegoś case :] inklud nie może tam być wstawiony od tak sobie :)

zresztą po co Ci słicz jak z niego nie korzystasz?
Użytkownik Bełdzio edytował ten post 16 lipiec 2006, 13:21
mam plik sterowanie.php i sterowanie_linki.php
Do pliku sterowanie.php dołaczam sterowanie_linki.php.

Gdyby zamiast include ("sterowanie_linki.php"); wkleic zawartosc tego pliku wyglądało by to tak:
<?php if (!isset($_REQUEST["url"])) $url="glowna"; else $url=$_REQUEST["url"]; switch ($url) { case "glowna": include ("main.php"); break; case "ksiega_gosci": include ("ksiega_gosci.php"); break; case "panel": include ("admin/panel.php"); break; case "wyniki_tabela": include ("tabela.php"); break; case "klub": include ("klub.php"); break; case "historia": include ("historia.php"); break; case "jak_to_drzewiej_bywalo": include ("jak_to_drzewiej_bywalo.php"); break; case "jak_rodzily_sie_lzs": include ("jak_rodzily_sie_lzs.php"); break; case "powstanie_lzs_studzionka": include ("powstanie_lzs_studzionka.php"); break; case "powstanie_lks_studzionka": include ("powstanie_lks_studzionka.php"); break; case "boisko": include ("boisko.php"); break; case "dom_sportowca": include ("dom_sportowca.php"); break; case "pilka_nozna_1": include ("pilka_nozna_1.php"); break; case "pilka_nozna_2": include ("pilka_nozna_2.php"); break; case "pilka_siatkowa": include ("pilka_siatkowa.php"); break; case "tenis_stolowy": include ("tenis_stolowy.php"); break; case "zloty_kask": include ("zloty_kask.php"); break; case "imprezy_rekreacyjno-sportowe": include ("imprezy_rekreacyjno-sportowe.php"); break; case "prezesi_lzs_lks": include ("prezesi_lzs_lks.php"); break; case "reklama": include ("reklama.php"); break; case "mapa_strony": include ("mapa_strony.php"); break; case "o_nas": include ("o_nas.php"); break; case "kadra": include ("kadra.php"); break; default: include ("main.php"); } ?>
jednak muszę uzyc w tym przypadku inkludowania bo jest mi to niezbedne poniewaz dane w pliku sterowanie_linki.php się zmieniają.
Wiem, ze bląd tkwi gdzieś tu:

switch ($url)
{
include ("sterowanie_linki.php");
default:
include ("main.php");
}

ale niestety nie jestem zaawansowanym php'owcem i nie wiem co tam niedziła.
Użytkownik mic22 edytował ten post 16 lipiec 2006, 18:30

inklud nie może tam być wstawiony od tak sobie smile.gif
a od jak sobie moze byc wstawiony?
Użytkownik mic22 edytował ten post 16 lipiec 2006, 14:48


Zamiast tego :
switch ($url) { include ("sterowanie_linki.php"); default: include ("main.php"); }

Zrób tak:
include('sterowanie_linki.php') $switch .= 'switch ($url){'; $switch .= sterowanie_linki(); $switch .= 'default:include ("main.php");}'; eval($switch);

Gdzie sterowanie_linki() to funkcja w pliku sterowanie_linki.php zwracajaca kod ,których chcesz w nim mieć ;)

BTW wstaw zbyt długie kody w codebox ;)
Użytkownik .:DzIuDek:. ™ edytował ten post 16 lipiec 2006, 15:07
.:DzIuDek:. ™ nie działa :/


.:DzIuDek:. ™ nie działa :/

A plik sterowanie_linki.php wygląda tak :
<?php function sterowanie_linki(){ $kejsy = 'case "glowna": include ("main.php"); break; case "ksiega_gosci": include ("ksiega_gosci.php"); break; case "panel": include ("admin/panel.php"); break; case "wyniki_tabela": include ("tabela.php"); break; case "klub": include ("klub.php"); break; case "historia": include ("historia.php"); break; case "jak_to_drzewiej_bywalo": include ("jak_to_drzewiej_bywalo.php"); break; case "jak_rodzily_sie_lzs": include ("jak_rodzily_sie_lzs.php"); break; case "powstanie_lzs_studzionka": include ("powstanie_lzs_studzionka.php"); break; case "powstanie_lks_studzionka": include ("powstanie_lks_studzionka.php"); break; case "boisko": include ("boisko.php"); break; case "dom_sportowca": include ("dom_sportowca.php"); break; case "pilka_nozna_1": include ("pilka_nozna_1.php"); break; case "pilka_nozna_2": include ("pilka_nozna_2.php"); break; case "pilka_siatkowa": include ("pilka_siatkowa.php"); break; case "tenis_stolowy": include ("tenis_stolowy.php"); break; case "zloty_kask": include ("zloty_kask.php"); break; case "imprezy_rekreacyjno-sportowe": include ("imprezy_rekreacyjno-sportowe.php"); break; case "prezesi_lzs_lks": include ("prezesi_lzs_lks.php"); break; case "reklama": include ("reklama.php"); break; case "mapa_strony": include ("mapa_strony.php"); break; case "o_nas": include ("o_nas.php"); break; case "kadra": include ("kadra.php"); break;'; return $kejsy; } ?>
?
I co się pojawia ,jakieś błedy czy co ?

muszę uzyskać taki efekt!
http://img63.imageshack.us/img63/4563/9911ea3.jpg


muszę uzyskać taki efekt!
http://img63.imageshack.us/img63/4563/9911ea3.jpg


A czy nie lepiej byłoby tego całego switcha wrzucić w funkcję ,która pobierałaby zmienną $url i umieścić w pliku sterowanie_linki.php ? No bo jak to z eval'em Ci nie działa no to sam już nie wiem jak to można inaczej zrobić :/

Nie wiem czy nie lepiej:P Nie znam się. JA tylko podstawy umiem... :roll:


Nie wiem czy nie lepiej:P Nie znam się. JA tylko podstawy umiem... :roll:

Zrób tak:

podczas dodawania linka wczytaj całość zawartości sterowanie_linki.php i przy okazji wywal początek switcha i dodaj do początku nowy link ;) Następnie do początku ciągu dodaj początek switcha i całość zapisz w pliku sterowanie_linki.php ;)
Użytkownik .:DzIuDek:. ™ edytował ten post 16 lipiec 2006, 18:46
że co? o_0 :P


że co? o_0 :P

Procedura dodawania linka nowego ma wyglądać tak ,że podajesz plik do zainkludowania i nazwe działu przekazywaną w urlu czyli:

1. tworzysz funkcję pobierajacą te dwie zmienne
2. tworzysz odpowiedni ciąg znaków w stylu : 'case\''. $nazwa_dzialu_przekazywana_w_url.'\':include(\''.$nazwa_pliku.' \');break;';
3. wczytujesz zawartośc pliku sterowanie_linki.php
4. za pomocą funkcji operujących na znakach np. str_replace zmieniasz poczatek switcha czyli '<?php switch($url){' na ''.
5. dodajesz do tego ciagu swój link...
6. dodajesz poczatek switcha do tego ciagu (czyli dodajesz to co wczesniej zamieniłeś)
7. zapisujesz całość w pliku sterowanie_linki.php

Powinno działać ;)
Użytkownik .:DzIuDek:. ™ edytował ten post 16 lipiec 2006, 18:57
Teraz to sie juz totalnie zamotałem :) :P które punkty z Twojego poprzedniego post'a dotyczą jakiego pliku?


Teraz to sie juz totalnie zamotałem :) :P które punkty z Twojego poprzedniego post'a dotyczą jakiego pliku?

Wszystkie punktu z mojego posta dotycza pliku add_link.php (czy jak on się tam nazywał -> ten co służy dodawaniu linków) w nim musisz utworzyć funkcję ,która będzie operowała na pliku sterowanie_linki.php (czyli tym w którym ma się znaleźć ten cały switch) ;)

Dzięki za pomoc, ale chyba sobie z tym nie poradzę... będę dodawał linki "ręcznie" ;)


Dzięki za pomoc, ale chyba sobie z tym nie poradzę... będę dodawał linki "ręcznie" ;)

To ja Ci dam jeszcze jedną wskazówkę :
<?php function zapis($zmienna) { $nazwapliku = 'plik.txt'; $trochetresci = $zmienna; if (is_writable($nazwapliku)) { if (!$uchwyt = fopen($nazwapliku, 'w')) { echo "Nie mogę otworzyć pliku ($nazwapliku)"; exit; } if (fwrite($uchwyt, $trochetresci) === FALSE) { echo "Nie mogę zapisać do pliku ($nazwapliku)"; exit; } echo "Sukces, zapisano ($trochetresci) do pliku ($nazwapliku)"; fclose($uchwyt); } else { echo "Plik $nazwapliku nie jest zapisywalny"; } } function odczyt() { $nazwa_pliku = "plik.txt"; $uchwyt = fopen($nazwa_pliku, "r"); $tresc = fread($uchwyt, filesize($nazwa_pliku)); fclose($uchwyt); echo $tresc; } ?>

Użyj tych funkcji do odczytu i zapisu w pliku (zmień tylko ten plik.txt na nazwę pliku do edycji)...
Jak dalej nie będziesz potrafił sklecić tego o czym mówię to pozostaje Ci rzeczywiście ręczne wklepywanie do pliku...
Użytkownik .:DzIuDek:. ™ edytował ten post 16 lipiec 2006, 19:18
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.