2012-09-16 121 views
1

嗨即時嘗試登錄到使用PHP和Curl的網站。我遇到的問題是我要登錄的網站上的輸入字段的名稱具有腳本認爲是變量的名稱。所以當我運行這個腳本時,我收到一個錯誤,提示未定義的變量。PHP Curl未定義的變量錯誤

$fields = "[email protected]&ctl00$MainContent$PasswordText=xxxx"; 

我得到的錯誤是:

Notice: Undefined variable: MainContent 

Notice: Undefined variable: EmailText 

Notice: Undefined variable: PasswordText 

有沒有解決這個辦法嗎?

回答

2

是的,把字符串放在single quotes而不是雙。

+0

我試過了,但我只是被重定向到登錄頁面 – Matt9Atkins

+1

@ Matt9Atkins:你不覺得這裏絕對沒有任何信息可以讓任何人確定爲什麼會發生這種情況嗎?你爲什麼不提到你試過了? – Jon

+0

對不起,我想我會留下一個新的問題。謝謝 – Matt9Atkins

2

如果使用「,而不是」您的變量定義的,PHP將不能解釋裏面的內容請參見:http://php.net/manual/en/language.types.string.php

此外,我總是用捲曲-option CURLOPT_POSTFIELDS處理後場 - 因爲有了這個,我可以提交包含我的值的陣列 - 這提供了更多的美麗代碼:

$curlhandle = curl_init(); 
$post_values = array(
    'ctl00$MainContent$EmailText' => '[email protected]' 
    'ctl00$MainContent$PasswordText' => 'xxxx' 
); 
curl_setopt($curlhandle, CURLOPT_POST, true); 
curl_setopt($curlhandle, CURLOPT_POSTFIELDS, $post_values);