2013-07-29 62 views
-3

我已經閱讀了關於這個問題的幾篇文章,但我似乎無法讓它按我想要的方式工作。 基本上我想跳過一個if語句,當頁面從某個鏈接重新加載時。用jquery和ajax更改變量php

這裏是我的代碼的簡化版本。我相信使用isset($員額將要走的道路。

任何幫助將非常感激。

$num_parent_cat = 1 -> (change this variable on reload) 

    if ($num_parent_cat == 1){ 

    <a href="CLICK THIS LINK?>" </a> 
} 

else{ GET HERE AFTER RELOADING PAGE FROM LINK} 
+0

你能解釋一下這個問題是怎麼回事嗎? –

+0

我很新的編程,但我相信,因爲PHP是服務器端,你將需要使用AJAX來重新加載頁面來更改變量。 –

回答

0

你的代碼並不顯示任何研究,但...

if(isset($_POST['something']) && $_POST['something'] === 1){ 
    echo "All Done"; 
} else { 
?> 

<form method="POST"> 
    <input type="hidden" name="something" value="1"> 
    <input type="submit" value="click here"> 
</form> 

<?php 
} 

這是例子,你要知道我已經好幾個月沒使用PHP,這是不測試,但應該工作

因此,基本上這裏發生的是,isset($_POST['something'])正在檢查是否有一個POST變量集稱爲something然後如果它被設置它將檢查是否等於1如果是的話,然後echo "All Done"其他服務提供的形式將發送POST變量something到相同的頁面值爲1

+0

謝謝Connor工作很好。從我收集你使用isset確保變量被聲明,然後$ post來傳遞表單中的數據。 –

+0

回答更新.. – iConnor

0

除非你添加一些嚴重的JavaScript編程回事鏈接請不要發佈任何東西。 通常一個這樣的頁面沒有鏈接,而是一個表單,如果你的頁面中有一個HTML表單,你可以添加一個提交按鈕(可以作爲鏈接的樣式),表單可以發佈數據或者通過url發送。執行的PHP腳本可以檢測到這些值。

另一種解決方法是在鏈接的url中添加一個參數:

if (array_key_exists('via', $_GET) && $_GET['via'] == 'linkX') 
{ 
    <a href="yourpage.php?via=linkX">Click me</a> 
} 
else 
{ 
    echo 'It worked!'; 
} 

但是,請注意,任何人都可以將此值添加到URL中,以便讓您的腳本認爲該鏈接已被點擊。