2016-06-27 11 views
-1

Dies ist mein Code: -Sitzung Fehler in PHP bildet

<html> 
<body> 
<center> 
<h2>working time</h2> 
<form action="" method="post"> 
<button name="starttime" class="starttime">starttime</button> 
<?php 
session_start(); 
$name = $_SESSION["name"]; 
if(isset($_POST["starttime"])){ 
$date = date('Y-m-d'); 
$date1 = date('H:i:s'); 
require "database.php"; 
$n = ""; 
$d = ""; 
$sql = "SELECT name, ddate FROM karthick.date WHERE name = '$name' AND ddate = '$date'"; 
$result = $conn->query($sql); 
if($result->num_rows > 0){ 
    while($row = $result->fetch_assoc()){ 
     $n = $row["name"]; 
     $d = $row["ddate"]; 
    } 
} 
if($n == $name && $d == $date){ 
    echo'<script> 
    alert("Time already registered"); 
    </script>'; 
}else{ 
    $sql = "INSERT INTO karthick.date (name, ddate, starttime) VALUES ('$name', '$date', '$date1')"; 
    if($conn->query($sql) === TRUE){ 
     echo "starttime inserted"; 
    }else{ 
     echo "error"; 
    } 
} 
} 
?> 
</form> 
<form action = "" method="post"> 
<button name="endtime" class="endtime">Endtime</button> 
<?php 
session_start(); 
$name = $_SESSION["name"]; 
if(isset($_POST["endtime"])){ 
$date = date('Y-m-d'); 
$date1 = date('H:i:s'); 
require "database.php"; 
$n = ""; 
$d = ""; 
$sql = "SELECT name, ddate, endtime FROM karthick.date WHERE name = '$name' AND ddate = '$date'"; 
$result = $conn->query($sql); 
if($result->num_rows > 0){ 
    while($row = $result->fetch_assoc()){ 
     $e = $row["endtime"]; 
    } 
} 
if($e != '00:00:00'){ 
    echo'<script> 
    alert("Time already registered"); 
    </script>'; 
}else{ 
    $sql = "UPDATE karthick.date SET endtime='$date1' WHERE name = '$name' AND ddate = '$date'"; 
    if($conn->query($sql) === TRUE){ 
     echo "Endtime inserted.<br>"; 
    }else{ 
     echo "error"; 
    } 
    $sql1 = "UPDATE karthick.date SET worked = (endtime - starttime) WHERE name = '$name' AND ddate = '$date'"; 
    if($conn->query($sql1) == TRUE){ 
     echo "worked time updated"; 
    }else{ 
     echo "error"; 
    } 
} 
} 
?> 
</form> 
<form action="user.php" method="post"> 
<button name= "logout" class="logout">Logout</button> 
</form> 
</body> 
</html> 

Wie ich diesen Code ausführen es zeigt mir eine Unterbrechungsmeldung.

Hinweis: Eine Sitzung bereits begonnen worden war - zu ignorieren session_start()

Aber der Code funktioniert gut. Gibt es eine Möglichkeit, die Nachricht zu verbergen?

enter image description here

+2

Hinweis durch sagt, dass Sie Ihre Sitzung zweimal –

+1

entfernen 'session_start() beginnen;' in der Form –

+1

Sie sind einige wie einschließlich '" uatten.php "' (Wahrscheinlich durch 'database.php') sollten Sie sicherstellen, dass Sie nur einmal die Sitzung in all Ihren includes starten =] –

Antwort

1

Nur einmal session_start() ist auf einer Seite (oben erforderlich). Sie haben es zweimal in Ihrer Seite, also entfernen Sie die zweite.

Vorschlag: -

immer etwas Fehlerberichterstattung Code verwenden.

Beispiel: -

error_reporting(E_ALL); // check all type of errors 
ini_set('display_errors',1);// display those errors 

Immer am Anfang zu Ihrem php Skript hinzuzufügen. Es wird dir sehr helfen. Vielen Dank.

+0

so hilft es Hackern ... –

+0

@Pepo_rasta immer. Übrigens kannst du meine anderen Antworten überprüfen. Meistens habe ich diesen Fehlerbericht verwendet. Inzwischen bin ich nicht der Down-Voter. –

0

Verwendung session_start(); nur einmal und vor der Ausgabe (ganz am Anfang der Seite) zu senden

oder Wende Fehlerberichterstattung (nicht empfohlen):

  • hinzufügen error_reporting(0); bei der Begin der Seite, um alle Fehler zu verbergen und Hinweise
  • hinzufügen @ Zeichen vor dem Befehl, der Fehler verursacht oder Hinweis (z. B. @session_start();)
+0

"Was ich will ist, um den Fehler loszuwerden, gibt es eine Möglichkeit, den Fehler zu verbergen?" sowieso downvoted .... –

+0

nie vorschlagen, von Fehlern während der Programmierung zu überspringen. Du hast gerade gegenüber gestanden. Ich fürchte, Sie werden mehr Punkte bekommen. –

1

Entfernen Sie session_start() aus Ihrer Datei. Weil du die Sitzung zweimal gestartet hast. Entweder die Datei, die in Ihrem Code enthalten ist, in der Sie die Sitzung gestartet haben. also bitte einmal ur-Code wieder deutlich

0

Änderung

<html> 
<body> 
<center> 
<h2>working time</h2> 
<form action="" method="post"> 
<button name="starttime" class="starttime">starttime</button> 
<?php 
session_start(); 

zu

<?php 
session_start(); 
?> 

<html> 
<body> 
<center> 
<h2>working time</h2> 
<form action="" method="post"> 
<button name="starttime" class="starttime">starttime</button> 
<?php