Zmiana tylko śrdkowej ramki strony?? POMOCY :(

Wszystko o HTML, XHTML, XML, CSS.
sebas_99ii
Posty: 6
Rejestracja: 29 paź 2005, 00:29:53
Reputacja: 0
Płeć: Niewybrana
User Agent: Internet Explorer Windows 1024x768

Zmiana tylko śrdkowej ramki strony?? POMOCY :(

Postautor: sebas_99ii » 11 lis 2005, 15:19:16

Witam :) Mam pytanko...
Mam stworzony szablon HTML i teraz chcial bym aby przy klinknieciu na hiperłącze np zmieniał się tylko srodek strony, czyli żeby reszta strony sięnie zmieniała z wyjątkiem środkowej ramki :] bo przeciez nie będe robił do kazdego hiperłacza całej podsrtony bo to sie chyba mija z celem! Proszę o pomoc! jak cos takiego zrobic? zaznaczam tylko ze szablon już mam stworzony;)

POZDRAWIAM 8)
Awatar użytkownika
fuma
Przyjaciel CBA
Posty: 11168
Rejestracja: 01 sie 2005, 14:57:56
Reputacja: 201
Lokalizacja: z jajka niespodzianki :P
Płeć: Mężczyzna
User Agent: Firefox Windows

Postautor: fuma » 11 lis 2005, 15:28:13

do ramki środkowej dodajesz :

CodeColon Select All Code

name="ramka" 

a do hiperłączy

CodeColon Select All Code

target="ramka" 

Gotowe :wink:
sebas_99ii
Posty: 6
Rejestracja: 29 paź 2005, 00:29:53
Reputacja: 0
Płeć: Niewybrana
User Agent: Internet Explorer Windows

Ale jakoś nie działa ten sposób :/

Postautor: sebas_99ii » 14 lis 2005, 20:37:22

... nie wiem dlaczego ale nie dziala :|:| moze istnieje coś innego... ??
Awatar użytkownika
linksworld
Posty: 370
Rejestracja: 09 paź 2005, 14:02:14
Reputacja: 0
Płeć: Niewybrana
User Agent: Firefox Windows
Kontakt:

Postautor: linksworld » 14 lis 2005, 20:56:29

Jeśli nie zna się podstaw HTML-a, to jak Ty się chcesz zabawiać ramkami :?:
:arrow: Przyszłe forum, na które wszystkich Was zapraszam.
Awatar użytkownika
gacek
Posty: 59
Rejestracja: 10 paź 2005, 23:11:11
Reputacja: 1
Lokalizacja: Gdańsk
Płeć: Niewybrana
User Agent: Internet Explorer Windows
Kontakt:

Postautor: gacek » 14 lis 2005, 21:09:05

jak masz:
<frame src="start.html" name="ramka">

i jak chcesz, żeby po kliknięciu w link, strona ładowała się do tej ramki to wpisz:
<a href="link.html" target="ramka">

rozumiesz :?:
Awatar użytkownika
fuma
Przyjaciel CBA
Posty: 11168
Rejestracja: 01 sie 2005, 14:57:56
Reputacja: 201
Lokalizacja: z jajka niespodzianki :P
Płeć: Mężczyzna
User Agent: Firefox Windows

Postautor: fuma » 14 lis 2005, 21:15:09

Awatar użytkownika
HitcH
Posty: 1530
Rejestracja: 08 paź 2005, 10:01:51
Reputacja: 15
Lokalizacja: Zabrze
Płeć: Mężczyzna
User Agent: Firefox Windows
Kontakt:

Postautor: HitcH » 15 lis 2005, 08:14:43

a da się takie coś z divami zrobić?
Awatar użytkownika
gacek
Posty: 59
Rejestracja: 10 paź 2005, 23:11:11
Reputacja: 1
Lokalizacja: Gdańsk
Płeć: Niewybrana
User Agent: Internet Explorer Windows
Kontakt:

Postautor: gacek » 15 lis 2005, 16:06:09

da się. Za pomocą javascript:

<div id="start"><h1>strona główna</h1></div>
<div id="strona_1"><h1>druga strona</h1></div>
<div id="inna_strona"><h1>trzecia strona</h1></div>
<!-- i tak dalej... -->

<script language="javascript">
<!--
function url(x) {
document.getElementById('start').style.display='none';
document.getElementById('strona_1').style.display='none';
document.getElementById('inna_strona').style.display='none';
//i tak dalej... a potem:
document.getElementById(x).style.display='block';
}

//uruchomienie strony głównej:
url('start');
//-->
</script>

no i potem odnośniki wyglądają tak:
<a href="javascript:url('start')">główna</a>
<a href="javascript:url('strona_1')">druga</a>
<a href="javascript:url('inna_strona')">trzecia</a>

może to być o tyle efektywne, że podstrony będą się dużo szybciej ładować no i będą bez dodatkowych reklam google. Ale to jest raczej bez sensu, lepiej zrób to w PHP.
Awatar użytkownika
HitcH
Posty: 1530
Rejestracja: 08 paź 2005, 10:01:51
Reputacja: 15
Lokalizacja: Zabrze
Płeć: Mężczyzna
User Agent: Firefox Windows
Kontakt:

Postautor: HitcH » 15 lis 2005, 19:44:43

gacek WroteColonAle to jest raczej bez sensu, lepiej zrób to w PHP.


\Hmm jak bym znal choc troche php...tzn znam jeden skrypt echo :D
Awatar użytkownika
Mati
Posty: 1016
Rejestracja: 20 sie 2005, 14:47:10
Reputacja: 15
Lokalizacja: Olsztyn
Płeć: Mężczyzna
User Agent: Opera Windows

Postautor: Mati » 15 lis 2005, 20:03:36

Czy ja wiem zrobienie tego w php nie jest wcale takie trudne.
Robisz plik index.php

CodeColon Select All Code


<?php
$view 
$_GET['view'];
$allowed_values = array&#40;
   
"page1" => "page1.inc",
   
"page2" => "page2.inc",
   
"page3" => "page3.inc"
&#41;;
if&#40;$allowed_values[$view]!=''&#41;&#123;
  
include&#40;"gora.inc"&#41;;
  
include&#40;
    
"$allowed_values[$view]"&#41;;
  
include&#40;"dol.inc"&#41;;
&#125;
else&#123;
  
include&#40;"gora.inc"&#41;;
  
include&#40;"opis.inc"&#41;;
  
include&#40;"dol.inc"&#41;;
&#125;
?>


Potem swoją stronę (jej kod HTML) dzielisz np:w notatniku na 3 części:
gora-to to co jest nad opisem który będzie się zmieniał

opis-to to co się zmienia

dol-to to co jest pod opisem

Zapisujesz je jako:
gora.inc
opisy to kolejno
- page1.inc
- page2.inc
- page3.inc
- i tak dalej ale jak chcesz więcej to przy

CodeColon Select All Code

$allowed_values = array&#40;
   
"page1" => "page1.inc",
   
"page2" => "page2.inc",
   
"page3" => "page3.inc"
&#41;; 

dodajesz kolejne ,,pagex=>pagex.inc,"
przy ostatnim nie ma przecinka

No i potem masz takie adresy
www.strona.cba.pl - automatycznie otworzy się strona ,,sklejona" z gora.inc, page1.inc, dol.inc
A inne to po prostu www.strona.cba.pl/index.php?view=page2
www.strona.cba.pl/index.php?view=page3
www.strona.cba.pl/index.php?view=pagex
I możesz się do nich odwoływać w zwykłych linkach HTML

Nie wiem czy to coś rozjaśniło ale się starałem :roll:
No i co? Konwersja bazy wyjadła mi polskie znaki z podpisu. Kto¿ bÂdzie musiaà za to odpowied¿Ã...
Awatar użytkownika
HitcH
Posty: 1530
Rejestracja: 08 paź 2005, 10:01:51
Reputacja: 15
Lokalizacja: Zabrze
Płeć: Mężczyzna
User Agent: Firefox Windows
Kontakt:

Postautor: HitcH » 15 lis 2005, 20:13:38

Hmm zrozumialem tyle:
ten kod mam wkleic na czysty dokument
i dalej tyle co nic..:)

Nawet nie wiem co sie zmienia. Mógłbś podać jakiś przykład strony opartej na tym?:D
Awatar użytkownika
gacek
Posty: 59
Rejestracja: 10 paź 2005, 23:11:11
Reputacja: 1
Lokalizacja: Gdańsk
Płeć: Niewybrana
User Agent: Firefox Windows
Kontakt:

Postautor: gacek » 16 lis 2005, 14:33:05

może ja dam lepszy przykład 8) :
piszesz normalną stronę (normalnie w HTMLu) index.php w której zawierasz ramy całej strony, a tam gdzie ma się zmieniać treść wpisujesz odpowiedni kod PHP. Przykładowa strona index.php :

CodeColon Select All Code

<html>
<table>
<tr>
<td valign="top">
<h3>menu</h3>
<a href="?link=start">strona główna</a><br>
<a href="?link=strona1">strona1</a><br>
<a href="?link=strona2">strona2</a><br>
</td>
<td valign="top">
<?php
if&#40;$_GET['link']!=''&#41; &#123; include&#40;'http://twojastrona.cba.pl/folder/'.$_GET['link'].'.php'&#41;; &#125; else
&#123; include&#40;'folder/start.php'&#41;; &#125;
?>
</td>
</tr>
</table>
</html>

no i teraz to co jest pomiędzy <?php i ?> będzie zastępowane przez treść kolejnych podstron. Każda podstrona jest w folderze "folder" wraz ze stroną start.php która jest stroną startową. Podstrony piszesz już bez tego "wstępu" czyli już bez znaczników <html> i tych innych co się pisze na początku. Piszesz je w HTMLu tak jak byś chciał dopisać treść strony w miejsce kodu PHP w pliku index.php.
W tym przypadku powinieneś do folderu "folder" wrzucić pliki start.php, strona1.php i strona2.php :wink:
Awatar użytkownika
HitcH
Posty: 1530
Rejestracja: 08 paź 2005, 10:01:51
Reputacja: 15
Lokalizacja: Zabrze
Płeć: Mężczyzna
User Agent: Firefox Windows
Kontakt:

Postautor: HitcH » 16 lis 2005, 15:40:53

tzn tak: strona1 i2 .php to bada odnosninki które otwieraja sie w miejscu tekstu ze strony glownej?
Awatar użytkownika
Mati
Posty: 1016
Rejestracja: 20 sie 2005, 14:47:10
Reputacja: 15
Lokalizacja: Olsztyn
Płeć: Mężczyzna
User Agent: Opera Windows

Postautor: Mati » 16 lis 2005, 16:17:25

gacek NIE POWINNO SIÊ DAWAÆ TAKICH SKRYPTÓW!

A co jeżli podam taki adres?
http://twojastrona.cba.pl/folder/index. ... /wazne.xxx

Jeżeli autor strony daje taki skrypt to ktoś może wpisać do ?link= dowolną ścieżkę, co spowoduje wyświetlenie pliku którego nie przewidywał autor skryptu.

Nawet plików serwera co może ułatwić późniejsze włamanie. Szczególnie na serwerach windowsowskich.

Dlatego ja podałem przykład z tablicą...
No i co? Konwersja bazy wyjadła mi polskie znaki z podpisu. Kto¿ bÂdzie musiaà za to odpowied¿Ã...
Awatar użytkownika
gacek
Posty: 59
Rejestracja: 10 paź 2005, 23:11:11
Reputacja: 1
Lokalizacja: Gdańsk
Płeć: Niewybrana
User Agent: Internet Explorer Windows
Kontakt:

Postautor: gacek » 16 lis 2005, 21:15:45

no fakt, sory :oops:
No ale po pierwsze skąd ktoś ma wiedzieć w ilu folderach znajdują się podstrony. Po drugie, jaka jest nazwa tego tajnego pliku i czy ma on rozszerzenie .php. Po trzecie tajne pliki nie powinne być przechowywane w folderze w którym są inne pliki. A po czwarte ten skrypt można łatwo zmodyfikować żeby temu zapobiec. Na przykład zamiast:

CodeColon Select All Code

<?php
if&#40;$_GET['link']!=''&#41; &#123; include&#40;'http://twojastrona.cba.pl/folder/'.$_GET['link'].'.php'&#41;; &#125; else
&#123; include&#40;'folder/start.php'&#41; &#125;
?>

można zrobić tak:

CodeColon Select All Code

<?php
$x
=$_GET['link'];
$x=strtr&#40;$x,"/%","ab"&#41;;
if&#40;$x!=''&#41; &#123; include&#40;'http://twojastrona.cba.pl/folder/'.$x.'.php'&#41;; &#125; else
&#123; include&#40;'folder/start.php'&#41;; &#125;
?>

i już po krzyku. Wszystkie ewentualne niebezpieczne znaki takie jak / % są zamieniane na jakieś literki (a,b). No i haker ma problem :wink:
HitcH WroteColontzn tak: strona1 i2 .php to bada odnosninki które otwieraja sie w miejscu tekstu ze strony glownej?
a możesz się wyrazić jaśniej bo niewiem o co ci chodzi :?: i używaj polskich liter :)
ale jeżeli cię dobrze zrozumiałem, to odpowiedź brzmi TAK

Wróć do „HTML, CSS”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość