-1

shopping.php

<html>
<head>
<?php 
if(isset($_POST['sub'])){
    $a=$_POST['prod'];
    $b=$_POST['qty'];
    $_SESSION[$a]=$b;    
}    
?> 
</head>
<body>
<form method="post" action="Billing.php">

Select any Product:
<select name="prod">
   <option>Nokia</option>
   <option>Reliance</option>
   <option>Samsung</option>
   <option>LG</option>
</select>

<br><br>
Quantity:<input name="qty"> <br><br>

<input type="submit" name="sub" value="ADD">
</form>
</body></html>

Billing.php

<html>
<head>

<?php  
session_start();
echo session_id();
echo "<br>";
echo "selected products are:<br>";
// print_r($_SESSION);
foreach($_SESSION as $x=>$y){  
   echo "product is $x and Quantity is:$y<br>";
}
?>
</head> </html>

出力

 Warning: session_start() [function.session-start]: Cannot send session cookie - 
 headers already sent by (output started at E:\PHP programs\Billing.php:2) in   E:\PHP     programs\Billing.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - 
headers already sent (output started at E:\PHP programs\Billing.php:2) in E:\PHP programs\Billing.php on line 4

上記の警告メッセージの解決策を教えてください。プログラムを正常に実行するにはどうすればよいですか?

4

4 に答える 4

2

session_start(); kind out 出力の前 (ファイルの最初の行)に配置する必要があります。session_start出力をユーザーに送信した場合に失敗する Cookie ヘッダーを送信する必要があります。

<?php
session_start();
?>
**shopping.php**

<html>

<head>

<?php 

if(isset($_POST['sub'])){
于 2013-09-19T07:53:13.553 に答える
2

SESSIONファイルの先頭にある必要があります。でコードを開始しますsession_start();

最初に宣言してから、次のように変更<html>するだけでセッションを開始billing.phpしたようです...

Billing.php

<?php session_start(); ?>

<html>
<head>
于 2013-09-19T07:55:20.490 に答える
0

このようなことをしようとしているのかもしれません...あなたが作成したような2つのファイルがあることを確認してください。あなたが忘れていた主なことは、最初のファイルの session_start() です。したがって、 $_SESSION は、セッション変数ではなく、ユーザーが作成した配列変数として機能しました。

<?
    //you always need to start session before using the session in php
    session_start();
?>
<html>
<head>
<?php 
if(isset($_POST['sub'])){
    $a=$_POST['prod'];
    $b=$_POST['qty'];
    $_SESSION[$a]=$b;  

    // check if its being added in the session or not
    print_r($_SESSION);  
}    
?> 

</head>
<body>
<form method="post" action="">
Select any Product:
<select name="prod">
<option>Nokia</option>
<option>Reliance</option>
<option>Samsung</option>
<option>LG</option>
</select>
<br><br>
Quantity:<input name="qty"> <br><br>
<input type="submit" name="sub" value="ADD">
</form>
</body>
</html>
<? 
    //it is best way to close the session at the end of the file
    session_close();
?>


<? session_start();?>
<html>
<head><title>Billing.php file</title></head>
<body>
<?php
echo session_id();
echo "<br>";
echo "selected products are:<br>";
 print_r($_SESSION);

foreach($_SESSION as $x=>$y){
    echo "product is $x and Quantity is:$y<br>";
}
?>
</body>
</html>
于 2013-09-19T08:21:45.140 に答える