2017-02-11 1 views
-2

Ich habe $mobile = $_SESSION['mobile']; für meine Website als eine Benutzeranmeldung Bestätigung oder so verwendet.SESSION übergibt den Wert nicht, gibt leeren Steckplatz in db, während keine Fehlermeldung in Bildschirm ausgegeben

Es funktionierte in letzter Zeit gut, bis gestern hörte es auf. Geben Sie eine leere Eingabe in DATABASE (wenn Sie versuchen, den Wert mit INSERT einzugeben) und geben Sie keinen Fehler beim Ausführen der Seite aus.

Code Meine Seite Seite wie folgt:

<?php 
    //15 2 2015 
    session_start(); 
    if(!isset($_SESSION["login"])) 
     header("location:usersignin.php"); 
?> 
<html> 
<body> 

<?php 
    $mobile = $_SESSION['mobile']; 
    $sql = "SELECT * FROM users WHERE mobile = '$mobile' "; 
    $result = $conn->query($sql); 
    if ($result->num_rows > 0) {        
    while($row = $result->fetch_assoc()) {         
?> 

<div class="clearfix otm"> 
    <h3 class="title">Add Money</h3> 
    <a href="#" onclick="document.getElementById('walletadd').submit();"> 
    <ul class="links"> 
     <li style="font-size:14px;"><strong>Add Money</strong></li>      
    </ul> 
    </a>      
    <br> 
<input type="hidden" name="preamount" form="walletadd" value="<?php echo ($row["wallet"]); ?>"/> 
<div> 
    <div class="circle"> 
     <img src="/assets/images/iicons/useraddmoney.png" alt="image" style="width:150px;height:150px;">      
    </div> 
<input type="text" class="useraddmoney" name="amount" form="walletadd" placeholder="Enter Amount Here"/> 
    </div> 
</div> 

</body> 
</html> 

Bitte beachten Sie, dass auf der oben genannten Seite, wenn ich die Parameter des jeweiligen Benutzers, dessen Handynummer anrufen ist $ Mobil Antwort richtig Ausgänge.

Die Seite Backend php wie geht:

<?php include('sitepage.php'); ?> 
<?php include('db.php'); ?> 
<?php 
$mobile = $_SESSION['mobile']; 
$amount = $_POST['amount']; 
$preamount = $_POST['preamount']; 

$date = date('M-d,Y H:i:s'); 
$date2 = date('M-d,Y'); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$amountdis = $amount * 0.02; 

$sql3 = "INSERT INTO useraddmoneyhistory (mobile, amountdis, amount, date, preamount) 
VALUES ('$mobile', '$amountdis', '$amount', '$date', '$preamount')"; 

if ($conn->query($sql3) === TRUE) { 
} 
else { 
    echo "ERROR" . $sql3 . "<br>" . $conn->error; 
} 

$sql = "UPDATE users SET wallet = '$amount' + '$amountdis' + '$preamount' 
WHERE mobile = '$mobile'"; 

if ($conn->query($sql) === TRUE) { 

echo '<a href="sitepage.php"></a>'; 
} 
else { 
    echo "ERROR" . $sql . "<br>" . $conn->error; 
} 
$conn->close(); 
?> 

Es funktioniert tatsächlich aber fügt leeren Raum anstelle von $ mobiles Variable/.. Scheint, wie Session ist nicht mehr Wert übergeben. aber es früher zu arbeiten ..

Konnte nicht herausfinden, was schief gelaufen ist.

Jede Beratung sehr geschätzt wird ..

+0

Start sesion in Ihrem Backend-Seite auch –

+0

@MudassarSaiyed Die Sitzung bereits in 'backend.php' wird gestartet, wie sie‘ re include die Seite der Site in der Zeile 'include ('sitepage.php');', die 'session_start() hat;' –

+0

Im Backend, überprüfen Sie nicht $ _SESSION ['mobile']; 'ist auf gesetzt alles bevor Sie es verwenden – RiggsFolly

Antwort

1

Startsitzung auf allen Seiten

session_start(); 
+0

Die Sitzung wird bereits gestartet ed in 'backend.php', da sie die Seite der Seite in die Zeile' include ('sitepage.php'); 'enthalten, die' session_start(); ' –

+0

hat. Auch müssen Sie beim ersten Start beginnen der Seite direkt nach

+1

Warum würden Sie die Sitzung zweimal starten? –

Verwandte Themen