Проблема PHP $ _SESSION - PullRequest
       1

Проблема PHP $ _SESSION

1 голос
/ 25 июля 2011

Я делаю страницу входа для моего сайта. Это также делается [сделано в том смысле, что не будет, не в том смысле, что это безопасно.] В строке 30 появляется ошибка с «$ _SESSION ['username'] = $ username; - «Ошибка разбора: синтаксическая ошибка, неожиданный T_VARIABLE»

Вся информация в базе данных называется "db12345", чтобы скрыть учетные данные. Кроме того, единственная точка на этой странице входа в систему состоит в том, чтобы зарегистрировать пользователя на сайте с помощью таблицы базы данных, называемой «члены», и привести пользователя к странице с некоторыми ссылками.

<?php

session_start();

$username = $_POST ['username'];
$password = $_POST ['password'];

if ($username&&$password)
{
$connect = mysql_connect("localhost", "db12345", "db12345") or die("could not connect to mysql"); 
mysql_select_db("db12345") or die("could not connect to db");
}

$query = mysql_query("SELECT * FROM members WHERE username='$username'");

$numrows = mysql_num_rows($query);

if ($numrows!=0)
{

while  ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}

if ($username==$dbusername&&$password==$dbpassword)
{
echo ("you're in, click <a href="#">here</a> to enter your profile");
$_SESSION['username']=$username; 
}
else
{
echo ("please enter your username and password");
}

?>

Спасибо. Я уверен, что это просто что-то очень простое, я все испортил!

Ответы [ 5 ]

4 голосов
/ 25 июля 2011

Вам нужно экранировать двойные кавычки в этой строке:

echo ("you're in, click <a href="#">here</a> to enter your profile");

Это должно выглядеть так:

echo ("you're in, click <a href=\"#\">here</a> to enter your profile");

2 голосов
/ 25 июля 2011

вам также не хватает закрывающей скобки } в строке 35.

1 голос
/ 25 июля 2011

В эхо выше строки 30 вы используете двойные кавычки внутри строки в двойных кавычках.

Это должно быть что-то вроде:

echo ("you're in, click <a href=\"#\">here</a> to enter your profile");
0 голосов
/ 17 апреля 2014

извините, вам нужно экранировать "" в вашем коде с косой чертой \

заменить этот текст в вашем коде на:

echo ("you're in, click <a href=\"#\">here</a> to enter your profile");
0 голосов
/ 25 июля 2011

Строка выше, это проблема. Вы используете двойные кавычки в строке, которая использует двойные кавычки в качестве разделителя. Либо используйте одинарные кавычки для переноса (и избегайте одиночных кавычек внутри), либо используйте двойные кавычки (и избегайте двойных внутри). например,

// double quotes with escaped double quotes:
echo ("you're in, click <a href=\"#\">here</a> to enter your profile");

// single quotes, with escaped single quote
echo ('you\'re in, click <a href="#">here</a> to enter your profile');

См. Руководство по php strings для дополнительных примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...