您好,登錄后才能下訂單哦!
php中有幾種傳值方式?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
php傳值方式有四種
我們定義page01.php和page02.php兩個php文件,將page01中的內容想辦法傳遞到page02,然后供我們繼續使用。
第一種:
使用客戶端瀏覽器的cookie。cookie很容易理解,就是一個臨時文件,可以把它看成一個儲藏室,瀏覽器在瀏覽的過程中記錄一些信息,就暫時存放在這里。
在page01中設置一個cookie。
代碼如下:
<?php setcookie('mycookie','自靈'); ?>
我們定義了一個變量mycookie,它的值是字符串'自靈'。
我們可以隨便給cookie變量起名字,可以定義多個cookie變量。
在page02頁面接受cookie。
代碼如下:
<?php $wuziling = $_COOKIE['mycookie']; echo $wuziling; ?>
我們使用$_COOKIE[]提取cookie中的變量mycookie,將它的值付給$wuziling。然后簡單的輸出。
好了,到這里使用cookie從頁面之間傳遞參數完畢。
第二種:
使用服務器端的session。理解session是一件很容易的事情。與cookie的不同在于它是服務器端的臨時儲藏室。session常被稱作會話。
在page01中設置一個session。
代碼如下:
<?php session_start(); $_SESSION["temp"]=array('123','456','789'); ?>
要想使用session,必須啟動session。session_start();就是啟動session的方法。一般要寫在最前面。
第二個語句我定義了一個$_SESSION["temp"]數組,數組的名稱是$_SESSION["temp"],里面存儲了3個字符串。
在page02頁面接受session。
代碼如下:
<?php session_start(); for($i=0;$i<3;$i++) { echo $_SESSION['temp'][$i].'<br />'; } ?>
首先啟動會話。啟動后我們在page01定義的變量已經可以使用了,不需要其他任何獲取的操作,這里不同于cookie。
下面我們使用for循環將其內容輸出。
不要以為$_SESSION['temp'][$i]是一個二維數組,它是個一維數組,數組的名稱是$_SESSION["temp"],雖然這個名稱比較繁瑣,數組的下標是'temp'
我們在寫$_SESSION["temp"]時,temp加雙引號或者單引號都是等價的。
這里我們定義會話變量時定義的是數組,也可以定義普通變量,就像cookie里面講到的。
第三種:
使用表單來傳遞。
page01.php這樣寫:
代碼如下:
<form action="page02.php" method="post"> <input type="text" name="wuziling" /> <input type="submit" name="submit" value="提交" /> </form>
表單內的屬性action直接指定此表單內容傳遞到哪個頁面。method指明了傳遞的方式。post代表使用消息傳遞,就像我們發短信一樣。、
page02.php這樣寫:
代碼如下:
<?php $wu = $_POST['wuziling']; echo $wu; ?>
用$_POST[ ]獲取傳遞過來的變量值。這個變量名wuziling在表單的input標簽的name屬性里定義。
然后將其傳遞給另外一個變量$wu。這樣我們就可以輸出了。直接輸出也是可以的,echo $_POST['wuziling'];
第四種:
使用超鏈接傳遞參數。我們上網的很多操作都是點擊超鏈接在網頁之間跳來跳去。點的同時同樣可以傳遞參數。
page01.php這樣寫:
代碼如下:
<?php $var = 'I love you !'; ?> <a href="<?php echo "page02.php?new=".$var ?>">get</a>
定義一個變量$var超鏈接a的href屬性里寫明要跳轉到page02頁面。后面加一個問號,一個自己定義的變量new此名稱在page02頁面要使用,new的值就是我們想傳遞的$var。
page02.php這樣寫:
代碼如下:
<?php echo $_GET['new']; ?>
使用$_GET[ ]獲取new的值,然后就可以輸出或做其他用途這時的瀏覽器地址欄可以直接看到new變量和它的值。。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。