X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Из PHP кода в код SMARTY, нужна помощь
shtil
shtil
Topic Starter сообщение 1.5.2009, 17:17; Ответить: shtil
Сообщение #1


Прошу прощение за такое кол-во тем, просто много вопросов...
допустим, у меня есть скрипт Shop-Script FREE(2005 года)
я хочу вставить туда регистрацию пользователей, а проблема у меня в авторизации, когда я вставляю в шаблон форму авторизации

Fatal error: Smarty: [in ./templates/tmpl1/index.tpl.html line 105]: syntax error: invalid attribute name: '=' (smarty_compiler.class.php, line 1433) in Z:\home\localhost\www\shop\smarty\smarty_compiler.class.php on line 2062


Зделайте, пожалуйста, код авторизации для SMARTY

[php]<?php
$result = mysql_query ("SELECT id FROM users ORDER BY id DESC",$db);

@session_start();
if( isset($_POST['login']) && isset($_POST['password']))
{
$login = $_POST['login'];
$password = $_POST['password'];
$db = new mysqli(localhost, ragnarok, 248651793, shop);
if (mysqli_connect_error****** {
echo 'Невозможно подключится к базе данных: .mysqli_connect_error();
exit();
}
$sql = "select * from users where login = $login and password = $password";
$result = $db->query($sql);
if ($result -> num_rows > 0)
{
$_SESSION[valid_user] = $login;
}
$db->close();
}
if (isset($_SESSION[valid_user]))
{
echo "Вы вошли как <b>.$_SESSION[valid_user].</b><br><br>";

echo '<a href="logout.php">Выход</a><br>';
}
else
{
if (isset($login))
{
echo '<img src=images/no.png> Вход невозможен.<br>';
}
else
{
echo 'Вы не вошли в систему<br>';
}
?>
<p>
<form action="index.php" method="POST" enctype="multipart/form-data">
<p>Логин <br><input type="text" name="login"><br>
<p>Пароль <br><input type="password" name="password"><br>
<p><input type="submit" value="Войти "> <p><a href="registration.php">Регистр ация</a>


<?
}
?>[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 1.5.2009, 22:57; Ответить: ZiTosS
Сообщение #2


shtil, поймите, что SMARTY это шаблонизатор с добавлениями некоторых конструкций(например: условия, выбор)
Нельзя в шаблон вставлять код SMARTY
А вообще ваш код не заработает! Где все кавычки? Если вы думаете, что скрипт будет и без них работать, то вы глубоко ошибаетесь.

А вообще структура такова:
У нас есть каталог author и в нём 3 файла(1 - исполняемый, 2-шаблона):
index.php
[php]<?php
session_start();

// Обратите внимание: в слове Smarty буква 'S' должна быть заглавной
require_once('Smarty.class.php');
$smarty = new Smarty();

//Настройки абсолютных путей, не обязательны, но советуют
/*********************************************
$smarty->template_dir = '/web/www.example.com/guestbook/templates/';
$smarty->compile_dir = '/web/www.example.com/guestbook/templates_c/';
$smarty->config_dir = '/web/www.example.com/guestbook/configs/';
$smarty->cache_dir = '/web/www.example.com/guestbook/cache/';
**********************************************/

if(isset($_POST['login']) && isset($_POST['password']))
{
$login = mysql_escape_string($_POST['login']);
$password = mysql_escape_string($_POST['password']);

$db = new mysqli("localhost", "ragnarok", "248651793", "shop") or die("Невозможно подключится к базе данных:".mysqli_connect_error());
$sql = "SELECT * FROM users WHERE login='{$login}' AND password='{$password}'";
$result = $db->query($sql);
if ($result -> num_rows > 0)
{
$_SESSION['valid_user'] = $login;
}
$db->close();
}

$login = (isset($_SESSION['valid_user'])) ? $_SESSION['valid_user'] : "Гость";
$smarty->assign('name', $login);
$smarty->display('author.tpl');

if(empty($_SESSION['valid_user']))
$smarty->display('form.tpl');
?>[/php]

author.tpl
[php]{if $name eq 'Гость'}
<img src="images/no.png"> Вход невозможен.<br>
{else}
Вы вошли как <b>{$name}</b><br><br>
<a href="logout.php">Выход</a><br>
{/if}[/php]

form.tpl
<form action="index.php" method="POST">
Логин: <input type="text" name="login"><br>
Пароль: <input type="password" name="password"><br>
<input type="submit" value="Войти">
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shtil
shtil
Topic Starter сообщение 2.5.2009, 9:43; Ответить: shtil
Сообщение #3


так а куда папочку author кидать, в корень сайта?
ну вот я, к примеру, создам этих 3 файла, а как же всавить форму в index.tpl.htm во так {include file="authorization.tpl.html"}?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 2.5.2009, 10:05; Ответить: ZiTosS
Сообщение #4


Киньте шаблоны, туда где у вас все остальные шаблоны. И по условиям, которые вы сами зададаите, включайте в шаблоны, подшаблоны.
Вроде как так и включать, как вы написали. Я со Smarty не работаю, но документация на русском есть... Не составит труда её почитать и разобраться.
Документация Smarty на русском
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shtil
shtil
Topic Starter сообщение 2.5.2009, 11:46; Ответить: shtil
Сообщение #5


все разобрался, нет ошибок, но:
при вводе логина и пароля он просто обновляет страничку :P
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 3.5.2009, 11:10; Ответить: ZiTosS
Сообщение #6


Как понять просто обновляет? Проверка не выполняется? У меня просто на локалке данный скрипт не стоит, поэтому никак помочь не смогу. Могу только посоветовать, сделать проверку, например выводить состояние переменной
$_SESSION['valid_user']. Если оно пустое, значит проверка не проходит. И так докопаетесь до истины. Я вообще гляжу вы тут используете базу данных MySQLi, она идёт совместно с PHP5, как встроенная в него. У вас точно она? Возможно с этого стоило начинать...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shtil
shtil
Topic Starter сообщение 6.5.2009, 11:45; Ответить: shtil
Сообщение #7


я вставил в index.php вот эту строку
[php]include("./AUTH.php");[/php]

и форма авторизации появилась наверху (рабочая)
спасибо :P
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 6.5.2009, 21:43; Ответить: ZiTosS
Сообщение #8


Всегда пожалуйста :P

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3398 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44906 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1889 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3402 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 19.4.2024, 11:38
Дизайн