2017-05-24 11 views
8

Tworzę witrynę internetową, w której strona jest oprawiona. Dla lepszej visit tutaj ma stronę http://cocvidarbha.epizy.com/voting.Jak ustawić ramkę dla wszystkich stron

Teraz chcę odwiedzić http://cocvidarbha.epizy.com/voting/1.php. Ale URL powinien być postrzegany tylko jako http://cocvidarbha.epizy.com/.

Mam tylko używane frame source w index.php z http://cocvidarbha.epizy.com/

+0

Umieść łącze w 'index.php' na' 1.php' i zobacz, co się stanie, jeśli klikniesz ten link. PS: Upewnij się, że '1.php' jest istniejącą stroną. –

+0

Próbowałem, @ KIKOSoftware, ale mówi strony notfound .. – ShriSun

+0

To dlatego, że nie istnieje. Najpierw utwórz stronę '1.php', a następnie użyj linku w' index.php'. –

Odpowiedz

2

Jeśli trzeba zrobić przekierowanie z domyślnej strony docelowej (index.php) na wybranej stronie (1.php), poprzez dodając poniższe linie w kodzie index.php,

header("location:voting/1.php"); 
exit; 

Jeśli chcesz użyć tagu rama tylko w ez żadnych przekierowanie na url pojawienia Zmień wartość atrybutu src w głosowania/1.php

5

To jest mniej więcej odpowiedź po stronie klienta.

Wariant 1:

Co można zrobić, to poinformować przeglądarkę, aby zmienić adres URL do czegoś innego pragnienie (może być również nieistniejącą ścieżka). Uwaga, nie będzie można zmienić nazwy domeny.

Tak w 1.php plików dodatek:

<script> 
    window.history.pushState("{data: 'pass data'}", "PageTitle", "/url"); 
</script> 

ciągu w tagu head.

Opcja: 2

Innym sposobem Polecam używa Ajax.

Możesz powiązać wszystkie swoje <a href="/url">, tak aby po kliknięciu go, zwrócił dane na ten adres URL Asynchronicznie, bez ponownego ładowania strony.

Tak więc, w ty głównym index.php plik, dodać:

<li> 
    <a href="http://cocvidarbha.epizy.com/">Page 1</a> 
</li> 
<li> 
    <a href="http://cocvidarbha.epizy.com/voting/1.php">Page 2</a> 
</li> 

<div id="content"> 
    Content will be loaded here without any page reload or URL change 
</div> 

a następnie tuż przed </body> dodać:

// Include jQuery 
<script 
    src="https://code.jquery.com/jquery-3.2.1.slim.min.js" 
    integrity="sha256-k2WSCIexGzOj3Euiig+TlR8gA0EmPjuc79OEeY5L45g=" 
    crossorigin="anonymous"></script> 
<script> 

$(document).ready(function(e) { 

    // Bind click event to all "<a>" tags 
    $(document).on('click', 'a', function(){ 
    var url = $(this).attr('href'); 
    // Do Ajax Call to "href" clicked 
    $.ajax({ 
     url: url, 
     type: "GET", 
     success: function(data){ 
     $('#content').html(data); 
     } 
    }) 
    return false; 
    }); 

}); 
</script> 
1

Spróbuj za pomocą następującego przykładu, gdzie mam Link i iframe w moja strona internetowa.

<a id="myLInk" href="ClickMe.html" target="myIFrame"> Click Me </a> 

Tutaj target="myIFrame" uczyni link, aby otworzyć w iframe z id "myIFrame".

A to jest mój iframe.

<iframe name="myIFrame" src="index.html" align="top" height="500" width="95%" hspace="10" vspace="10" align="middle"> 
If you can see 
this, your browser does not support iframes! 
</iframe> 

Teraz po kliknięciu na powyższy link z id "MyLink", a następnie źródła łącza (to ClickMe.html) zostaną załadowane w iframe. W ten sposób można załadować jak najwięcej linków bez przechodzenia do nowej strony. I pozostanie to adres niezmieniony.

3

Jeśli chcesz, aby php do głosowania był tylko lub częścią strony indeksu, zawsze możesz umieścić go na stronie indeksu. Jeśli treść jest dynamiczna, jest to jedno rozwiązanie, ponieważ unika konieczności używania ramek (nieobsługiwanych w HTML5)/301 przekierowań/etc.

Możesz użyć php include do osadzenia pliku. Wbudowany plik zostanie zaktualizowany na stronie indeksu jako plik php na serwerze. Jak sugerował jagb, zaleca się użycie readfile podczas dołączania pliku; zwróci komunikat o błędzie, jeśli plik nie istnieje.

np

@media (orientation: portrait) { 
 
    body, .reorientMessage{ 
 
     visibility: visible; 
 
    } 
 
    .mainContent{ 
 
     visibility: hidden ; 
 
    } 
 
} 
 
@media (orientation: landscape) { 
 
    .reorientMessage{ 
 
     visibility: hidden; 
 
    } 
 
    body,.mainContent{ 
 
     visibility: visible ; 
 
    } 
 
}
<html> 
 
<head> 
 
<meta charset="UTF-8"> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> 
 
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato"> 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 
 
</head> 
 
<body> 
 
<div class="reorientMessage">please reorient etc..</div> 
 
<div class="mainContent"><p>normal stuff here</p> 
 
<br><br></div> 
 
<?php include $_SERVER['DOCUMENT_ROOT'] . '/path/1.php';?> 
 

 
</body> 
 

 
</html>

[html powyżej brane z wyjścia źródła ze strony indeksu - 1.php osadzone]

Funkcja file_get_contents php odczyta zawartość plik 1.php i zwróć zawartość jako ciąg znaków.

Można umieścić go w podobny sposób używając

<?php 
$1 = file_get_contents('./yourserverpath/1.php'); 
echo $1; 
?> 

gdzie $ 1 to zmienna, która przechowuje zawartość pliku (a następnie wypluwa je! :))

więc kod końcowy strona indeksu będzie wyglądać tak:

@media (orientation: portrait) { 
 
    body, 
 
    .reorientMessage { 
 
    visibility: visible; 
 
    } 
 
    .mainContent { 
 
    visibility: hidden; 
 
    } 
 
} 
 

 
@media (orientation: landscape) { 
 
    .reorientMessage { 
 
    visibility: hidden; 
 
    } 
 
    body, 
 
    .mainContent { 
 
    visibility: visible; 
 
    } 
 
}
<html> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> 
 
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato"> 
 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 
 
</head> 
 

 
<body> 
 
    <div class="reorientMessage">please reorient etc..</div> 
 
    <div class="mainContent"> 
 
    <p>normal stuff here</p> 
 
    <br><br></div> 
 

 
<?php 
 
$1 = file_get_contents('http://cocvidarbha.epizy.com/voting/1.php'); 
 
//I'm putting in the url cos i don't know your path but use the suggested 
 
//method - $1 = file_get_contents('./yourserverpath/1.php'); 
 
echo $1; 
 
?> 
 

 
</body> 
 

 
</html>

+0

nie zobaczysz php we fragmencie stosu, powinieneś zobaczyć go na swoim własnym serwerze jednak –

+1

Just notatka do twojej odpowiedzi: możesz chcieć zmienić wiersz # 13 ' 'ponieważ będziesz musiał zamknąć pojedynczą wartość i jeśli będziesz chciał użyć adresów URL http, lepiej wypróbuj' readfile() 'lub' file_get_contents() 'lub dowolne inne takie jak 'url http' CURL' użyty w 'include()' nigdy nie powinien widzieć produkcji, więc źle jest powiedzieć OP, aby to zrobił! Zastanów się, aby zaktualizować swoją odpowiedź: – jagb

+0

@jagb, to dobra uwaga, uwzględnię to. Dzięki. –