【发布时间】:2013-11-17 03:59:16
【问题描述】:
我即将完成一个课堂项目。我必须创建一个卡路里跟踪网站。我已经编写了登录表单和 php 文件。考虑到我在几天内以某种方式半学会了用 php 编写代码,所以我不是专家。这是login.php
<?php
session_start();
if(isset($_POST) && !empty($_POST))
{
session_start();
include("config.php"); //including config.php in our file
$username = $_POST['Username']; //Storing username in $username variable.
$password = $_POST['Password']; //Storing password in $password variable.
$match = "SELECT UserID FROM users WHERE Username = '".$username."' and password = '".$password."';";
$qry = mysql_query($match);
$num_rows = mysql_num_rows($qry);
if ($num_rows <= 0)
{
echo "Sorry, either the username or the password are incorrect. ";
echo "Try again";
exit;
} else {
$_SESSION['username']= $_POST['username'];
//echo $_SESSION['username'];
header('Location:profile/index.html');
// It is the page where you want to redirect user after login.
}
} ?>
用户登录后,他会进入一个输入锻炼信息的页面,我想将所有这些信息存储在一个表格中。这是处理该问题的 php,input.php:
<?php
session_start();
define('DB_NAME', 'ritetrak');
define('DB_USER', 'root');
define('DB_PASSWORD', 'Buddy3942');
define('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
$_SESSION['username']= $_POST['username'];
//$value= $_SESSION['username'];
$value2= $_POST['WorkoutType'];
$value3 = $_POST['Weight'];
$value4 = $_POST['HeartRate'];
$value5 = $_POST['Calories'];
$value6 = $_POST['TimeSpent'];
$value7 = $_POST['DayOfWeek'];
$value8= $_POST['Mood'];
$sql = "
INSERT INTO demographics (
Username, WorkoutType, Weight, HeartRate, Calories,
TimeSpent, DayOfWeek, Mood)
VALUES (
'$_SESSION['username']', '$value2', '$value3',
'$value4', '$value5', '$value6', '$value7', '$value8'
)
";
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close();
header('Location: yourmain/index.html'); ?>
除了当前登录的用户名之外,我可以将所有内容存储在数据库的“人口统计”表中。我已经在这里搜索了一些其他问题,但找不到任何东西。任何帮助都深表感谢。
【问题讨论】:
-
您只需要启动一次会话。从
login.php中删除第二个session_start。 -
首先删除
'".$password."';";中的第一个分号,如'".$password."' ";中的login.php -
@Fred-ii- MySQL 中的分号对于一个查询是可选的,对于多个查询是必需的,但在这种情况下不会影响结果。
-
我认为分号是终止符@scrowler
-
好的,谢谢。注意到@scrowler
标签: php mysql database session