2013-10-01 38 views
0

我在確認消息的問題的價值,當用戶單擊取消的$IsCanceled = "yes" 則值當我點擊OK的`$ IsCanceled =「無」的值..PHP:在不改變的變量

問題是,當我點擊OK $ IsCanceled的價值仍然是...

<?php 
else { ?> 
     <script> 
     var myVar = "<?php echo $bldg[$i]; ?> station is already full. Do you want to save the other networks?"; 
     if (confirm(myVar)) { 
     <?php $IsCanceled = "no";?> 
    } else { 
     <?php 
     $IsCanceled = "yes"; 
     ?>   
    } 
     </script> 
     <?php 
    } 
//and so on... 

我已跟蹤的寄託都,但它仍然「是」價值..

感謝

+1

您不能混合使用蘋果和橙子,或客戶端和服務器端腳本。 Javascript是客戶端,而PHP是服務器端。 – sskoko

+0

你不能這樣混用php和js。 PHP是服務器端語言,而JS是端點語言。 – sectus

+0

什麼是確認方法? –

回答

0

PHP和Javascript。
兩種完全不同的語言用於各種不同的任務。

你上面寫的東西試圖混合使用兩種語言,如果你在其他環境中編寫,你甚至不會考慮這麼做。您編寫的上述腳本將在服務器上運行其PHP,並生成發送到瀏覽器的輸出

在你的情況,這將是這個樣子:

<script> 
var myVar = "i station is already full. Do you want to save the other networks?"; 
if (confirm(myVar)) { 
} else { 
} 
</script> 

那是你的代碼的那一刻準確輸出。如果你想瀏覽用戶以「保存到其他網絡」,你將不得不創建一個隱藏的HTML form,與<input type="hidden" ..可以持有你需要的答案。然後,使用Javascript,您可以顯示您的確認對話框並填充HTML表單,提交併用PHP重新處理。

想想它就像網球。在發送給對手之後,你不能改變你擊球的方式。在這種情況下,您可以編程雙方並相應地處理網球。

0

php是服務器端腳本,它不能分配頁面刷新。

使用JavaScript(客戶端腳本)可變分配是或否

else 
{ 
?> 
<script> 
var myVar = "<?php echo $bldg[$i]; ?> station is already full. Do you want to save the other networks?"; 
if (confirm(myVar)) { 
    IsCanceled = "no"; 
} else { 
    IsCanceled = "yes";   
} 
alert(IsCanceled); 
</script> 
<?php 
} 
+0

@Salim ....它已經在工作......但我怎樣才能將varibale的值傳遞給php?因爲我需要在PHP端創建一個if ...謝謝回覆 – user2826499

+0

這是可行的使用ajax – Salim

0

如果你想要做的客戶端的一些邏輯,你需要在它使用JS沒有PHP。 如果你需要做邏輯服務器端,所以你需要POST或GET到服務器。

只要打開你的頁面作爲源代碼加載後,你會看到,在你把PHP條件放在哪裏就什麼都沒有。

這是因爲PHP已經完成了所有工作。檢查$ IsCanceled並向您顯示頁面。

還請注意,如果您需要檢查而不是分配,則需要使用雙等號而不是一個例如if($IsCanceled == 'no')將檢查變量IsCanceled是否等於字符串'no'。但if($IsCanceled = 'no')告訴php分配字符串'no'到變量IsCanceled這將是真實的,因爲它的分配和賦值結果爲TRUE