2017-04-19 2 views
0

Ich möchte mit Captcha erstellen. Wenn das Captcha nicht korrekt ist, zeige dasselbe Formular in Form an.PHP Sitzungsfehler Eine Sitzung wurde bereits gestartet und nicht definierte Variable: _session

Dies ist eine Seite zum Hinzufügen von Daten zur Sitzung. Es kann Daten aus der Sitzung wie echo $_session['txtShippingFirstName']; hier anzeigen.

// 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'; 
} 

Dies ist Formularseite, wenn Captcha nicht dann auf diese Seite zurück korrigieren

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']; 

Es Fehler undefinierte Variable zeigen: _SESSION on line echo $_session['txtShippingFirstName'];. Wenn ich session_start(); oben auf der Seite hinzufüge, zeige es Fehler Notice: A session had already been started - ignoring session_start() an, weil ich session_start in Header-Datei bereits hinzufüge. Wie behebe ich diesen Fehler?

+2

Ich denke, das Problem ist mit Kleinbuchstaben = $ _SESSION! = $ _session – shomel

Antwort

0

Die PHP-Superglobals müssen in Großbuchstaben sein:

$_SESSION['txtShippingFirstName'] 

in diesem Fall.

Verwandte Themen