2011-12-02 25 views

Trả lời

6

Với PHP, bạn chỉ có thể xử lý nội dung phía máy chủ. Những gì bạn có thể làm là in nội dung này trong khung nội tuyến của mình:

parent.window.location.reload(); 
+0

hoàn hảo !! Đúng thứ tôi cần! Cảm ơn bạn! – user840930

+1

. . . một câu hỏi nữa. Tôi đã làm: echo ""; tải lại toàn bộ trang mà tôi chỉ cần, nhưng khung trong đó tập lệnh php đang thực hiện đang không được cập nhật. Và tôi dường như không thể gọi một parent.window.location.reload khác hoặc thậm chí là onload = \ "window.location = '$ page' \" tôi có thể làm gì? – user840930

+0

không chắc chắn tôi đã nhận nó, nhưng bạn đã kiểm tra khung của bạn src? Kiểm tra xem parent.window có đang tải chính xác không ... – gustavotkg

4

PHP không thể buộc khách hàng thực hiện bất kỳ điều gì. Nó không thể làm mới trang, hãy để một mình làm mới cha mẹ của một khung.

EDIT: Tất nhiên, bạn có thể làm cho PHP viết JavaScript, nhưng đây không phải là PHP đang làm, nó thực sự là JavaScript, và nó sẽ thất bại nếu JavaScript bị vô hiệu hóa.

<?php 
    echo '<script>parent.window.location.reload(true);</script>'; 
?> 
0

Sử dụng JavaScript cho việc này. Bạn có thể làm:

echo ' 
<script type="text/javascript"> 
    parent.window.location.reload(true); 
</script> 
'; 

Trong PHP và nó sẽ làm mới trang khung của cha mẹ.

0

đoán bạn có thể lặp thẻ meta để làm làm mới trong chu kỳ bình thường ... như

<meta http-equiv="refresh" content="600" url="your-url-here"> 
24

Trên thực tế nó có thể:

Header('Location: '.$_SERVER['PHP_SELF']); 
Exit(); //optional 

Và nó sẽ lại cùng một trang.

+0

Điều này cần được đánh dấu là đã được phê duyệt vì nó thực hiện chính xác những gì được dự định trong php (không có javascript hoặc chèn vào HTML). –

+0

@Ryuji Điều này KHÔNG giải quyết được câu hỏi gốc. Điều này sẽ khiến tài liệu gốc tải lại như thế nào? –

+1

@MikeBrant vì đó là chính xác những gì nó làm. Nó ra lệnh cho php tải lại cùng một trang. – NewProger

1
<?php 
echo "<script>window.opener.location.reload();</script>"; 
echo "<script>window.close();</script>"; 
?> 
5

Nếu bạn có bất kỳ văn bản trước khi một

header('Location: http://www.example.com/youformhere.php'); 

bạn sẽ có vấn đề, bởi vì đó phải được gửi trước khi bất kỳ văn bản khác được gửi đến trang.

Hãy thử sử dụng mã này để thay thế

Chỉ cần nhớ, mã này sẽ tạo ra và vòng lặp vô hạn, vì vậy có thể bạn sẽ cần phải thực hiện một số thay đổi có điều kiện với nó.

+0

đây là câu trả lời – waas1919

+0

Đã làm việc cho tôi !!! – Jasmeen

1

với php bạn có thể sử dụng hai chuyển hướng. Nó hoạt động giống như làm mới trong một số vấn đề.

bạn có thể sử dụng trang redirect.php và đăng url cuối cùng của bạn lên đó bằng phương thức GET (ví dụ). sau đó trong redirect.php bạn có thể thay đổi tiêu đề thành vị trí bạn đã gửi đến bằng phương thức GET.

như thế này: trang của bạn:

<?php 
header("location:redirec.php?ref=".$your_url); 
?> 

redirect.php:

<?php 
$ref_url=$_GET["ref"]; 
header("location:redirec.php?ref=".$ref_url); 
?> 

mà làm việc cho tôi tốt.

0

Tất cả bạn cần làm gì để tự làm mới một trang là để cung cấp một trỏ liên kết đến cùng một trang

Như thế này: Làm mới lựa chọn

-1

Thêm sau trong tiêu đề trang làm việc cho tôi:

<?php 

if($i_wanna_reload_the_full_page_on_top == "yes") 
{ 
$reloadneeded = "1"; 
} 
else 
{ 
$reloadneeded = "0"; 
} 

if($reloadneeded > 0) 
{ 
?> 
<script type="text/javascript"> 
top.window.location='indexframes.php'; 
</script> 
<?php 
}else{} 
?> 
Các vấn đề liên quan