2016-06-27 2 views
-1

Это мой код: -ошибка сеанса в PHP формирует

<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> 

Как я запускаю этот код он показывает мне отключающее сообщение.

Примечание: уже началось заседание - игнорирование session_start()

Но код работает отлично. Есть ли способ скрыть уведомление?

enter image description here

+2

Обратите внимание, ясно говорит, что вы начинаете сеанс дважды –

+1

удалить 'session_start();' внутри формы –

+1

Вы как-то включаете '' uatten.php'' (возможно, через 'database.php') вы должны убедиться, что вы только начинаете сеанс один раз во всех своих включенных = = –

ответ

1

только один раз session_start() необходимо на странице (вверху). У вас есть это два раза на вашей странице, поэтому удалите второй.

Предложение: -

Всегда используйте код отчетов об ошибках.

пример: -

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

Всегда добавьте в ваш php сценарий в начале. Это вам очень поможет. Благодарю.

+0

, поэтому он помогает хакерам ... –

+0

@Pepo_rasta всегда. Кстати, вы можете проверить мои другие ответы. большую часть времени я использовал этот код сообщения об ошибках. Между тем я не являюсь нищим. –

0

использование session_start(); только один раз и перед отправкой выход (в самом начале страницы)

или очередь из отчетов об ошибках (не рекомендуется):

  • добавить error_reporting(0); на начало страницы, чтобы скрыть все ошибки и уведомления
  • добавить @ символ перед командой, вызывающей ошибку или уведомление (например. @session_start();)
+0

«Я хочу, чтобы избавиться от ошибки, есть ли способ скрыть ошибку от показа?» downvoted в любом случае .... –

+0

никогда не предлагает пропустить ошибки при программировании. вы сделали прямо противоположное. Я боюсь, что вы получите больше. –

1

удалить session_start() из вашего файла. Потому что u начал сеанс дважды. Либо файл u r, включенный в ваш код, в этом запущенном сеансе. поэтому, пожалуйста, пройти через ур код еще раз

0

изменение

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

в

<?php 
session_start(); 
?> 

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