2017-04-19 4 views
0

from from from captchaキャプチャが正しくない場合は、フォームに同じ値が表示されます。PHPセッションエラーセッションは既に開始されています。未定義変数:_session

これはセッションにデータを追加するためのページです。ここにはecho $_session['txtShippingFirstName'];などのセッションのデータが表示されます。ラインecho $_session['txtShippingFirstName'];に_SESSION:キャプチャは正しい。このことは、エラー未定義の変数を表示ページ

if(isset($_session['txtShippingFirstName'])){ 
      $customerFirstName = $_session['txtShippingFirstName']; 
      $customerLastName = $_session['txtShippingLastName']; 
      $customerEmail = $_session['txtShippingEmail']; 
      $customerAddress = $_session['txtShippingAddress1']; 
      //$_session['txtShippingAddress2'] 
      $customerPhone = $_session['txtShippingPhone']; 
      $customerCity = $_session['txtShippingCity']; 
      $customerState = $_session['txtShippingState']; 
      $customerPostalCode = $_session['txtShippingPostalCode']; 

} 

echo $_session['txtShippingFirstName']; 

に戻らない場合

// Use captcha 
if(!((md5((isset($_POST['captcha'])?$_POST['captcha']:"")) == $_SESSION['captchaKey']) || (isset($_SESSION['plaincart_customer_id'])))){    

$_session['txtShippingFirstName'] = $_POST['txtShippingFirstName']; 
$_session['txtShippingLastName'] = $_POST['txtShippingLastName']; 
$_session['txtShippingEmail'] = $_POST['txtShippingEmail']; 
$_session['txtShippingAddress1'] = $_POST['txtShippingAddress1']; 
$_session['txtShippingAddress2'] = $_POST['txtShippingAddress2']; 
$_session['txtShippingPhone'] = $_POST['txtShippingPhone']; 
$_session['txtShippingCity'] = $_POST['txtShippingCity']; 
$_session['txtShippingState'] = $_POST['txtShippingState']; 
$_session['txtShippingPostalCode'] = $_POST['txtShippingPostalCode']; 

//setError($_session['txtShippingFirstName']); 
setError("CAPTCHA not correct"); 
header("Location: checkout.php?step=1"); 

}else{ 
    $includeFile = 'checkoutConfirmation.php'; 
} 

これは、フォームページです。ページの先頭にsession_start();を追加すると、既にヘッダファイルにsession_startを追加しているため、エラーNotice: A session had already been started - ignoring session_start()が表示されます。このエラーを修正するには?

+2

問題は小文字であると思います= $ _SESSION!= $ _session – shomel

答えて

0

PHPのスーパーグローバルは大文字でする必要があります。この場合は

$_SESSION['txtShippingFirstName'] 

関連する問題