2017-12-10 2 views
0

Ich möchte, dass Mitglieder in der Lage sind, Elemente auf der Website einzureichen. Der Übergabeprozess funktioniert und die Elemente werden ordnungsgemäß zur Datenbank hinzugefügt, die Sitzungsmeldung gilt jedoch nicht. Die Sitzungsnachricht wird nicht festgelegt. Wie behebe ich das?

<?php 

    require 'db2.php'; 

$email = $mysqli2->escape_string($_POST['email']); 
$itemName = $mysqli2->escape_string($_POST['itemName']); 
$image = $mysqli2->escape_string($_POST['image']); 
$price = $mysqli2->escape_string($_POST['price']); 
$wpSite = $mysqli2->escape_string($_POST['wpSite']); 
$description = $mysqli2->escape_string($_POST['description']); 
$banned = $mysqli2->escape_string($_POST['omitBox']); 




    $sql2 = "INSERT INTO itemsTable (email, itemName, image, price, wpSite, description, banned) " 
      . "VALUES ('$email', '$itemName', '$image', '$price', '$wpSite', '$description', '"; 


if(empty($_POST["omitBox"])) { 
$sql2 .= "0"; 
} else { 
$sql2 .= "1"; 
} 

$sql2 .= "');"; 




    if ($mysqli2->query($sql2)){ 

     $_SESSION['message'] = 'Successfully added this item to your wishlist'; 
     echo'<script> window.location="success.php"; </script> '; 

    } 

    else { 
     $_SESSION['message'] = 'Something went wrong! Please try again!'; 
     echo'<script> window.location="error.php"; </script> '; 
    } 

Ich erwarte, dass die Informationen in die Datenbank eingefügt werden (und es ist. Kein Problem gibt), aber auf der Erfolgsseite, die Sitzungs-Nachricht existiert nicht. Die Erfolgsseite funktioniert auf anderen Teilen der Website, aber nicht auf dieser Seite.

Antwort

0

nur session_start() am Anfang der Datei

<?php 
session_start(); 
require 'db2.php'; 

...... 
?> 
0

Sie verpassen die session_start() Funktion hinzuzufügen. Beim Erstellen oder Einstellen einer Sitzung müssen Sie die Sitzung starten. Für die succes.php und error.php Dateien ist es auch erforderlich zu testen, ob die Sitzung existiert. So würde ich Ihnen raten, die follwing zwei Dinge zu tun:

  1. hinzufügen session_start() zu Ihrer Hauptdatei:

    <?php 
    // Start the session 
    session_start 
    // Rest of the code. 
    ?> 
    
  2. hinzufügen session_start() + überprüfen, um Ihre succes.php und error.php Dateien. Es gibt viele Möglichkeiten, dies zu testen, so werde ich Ihnen den Weg mit isset:

Verwenden isset Funktion

function ifsessionExists(){ 
// check if session exists? 
    if(isset($_SESSION)){ 
    return true; 
    }else{ 
    return false; 
    } 
} 

Sie können auch leere verwenden Funktion

function ifsessionExists(){ 
// check if session exists? 
    if(!empty($_SESSION)){ 
    return true; 
    }else{ 
    return false; 
    } 
} 

Hope Diese hilft!

Verwandte Themen