29.09.2015 / 02:46 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| Привет ). Такая проблема : Есть Главная страница html на не форма для заполнения и ещё немного текста. 1. При вводе текста в форму я обрабатываю его php и вношу данные в бд. При этом страница перезагружается и открывается страница php - как выполнить авто переход на index страницу обратно ? 2.Как сделать так чтоб при входе на index страницу мне выводилась инфа из бд на нужном месте в моей странице?
Сайт на хостинге и включить обработку php в html нельзя.
|
29.09.2015 / 06:35 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| Banschey, 1. header("Location: /index.html"); — это обычный редирект, отправка HTTP-заголовка, что нужно перейти на другую страницу. 1б. В скрипте PHP написать что-то вроде: <?php
if ($_POST['submit']) {
// Форма отправлена, кнока submit нажата, отправка данных в БД
}
// Вывод формы
require '/index.html';
2. Встроить html-вывод в php-скрипт: <html><body>…
<?php
if ($_POST['submit']) {
// Как и ранее..
echo 'Запрос отправлен';
}
?>
<form>…</form></body></html>
Следующим шагом станет вопрос: как не смешивать php и html — для этого нужны шаблонизаторы, например, Twig / Mustaches(.js) / Smarty. |
29.09.2015 / 12:43 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| C первым разобрался, со вторым пока что нет.
|
29.09.2015 / 19:25 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| Второе решил таки путем: Открыть спойлер Закрыть спойлер Добавил в файл .htaccess строчку AddType application/x-httpd-php .php .htm .html. При этом файлы формата html перестали загружаться а в место них качается файл без расширения после открытия которого я вижу написанный мной сайт. Переименовал index.html в index.php. Заполнил его html кодом и там где нужно вписал php код. Всё стало работать как нужно, но текст который выводит php с помощью echo виден на странице со стандартным стилем. Как применить ко выводимому тексту echo $p; нужный стиль к примеру class="style" ?
|
29.09.2015 / 21:13 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Banschey, echo '<div class="text-info">' . $variable . '</div>';
|
29.09.2015 / 21:50 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| Naik, Спс |
3.10.2015 / 02:10 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| echo('<p class="style2" align="center">Привет, '.$userdata['Name'].' </p>');
echo('<form method="POST">
<input class="button" name="Exit" type="submit" value="Exit">
</form>');
Вместо слова Привет выдает кракозябру. На странице в которую я инклудю этот код стоит windows-1251. |
3.10.2015 / 08:15 | |
JSBmanD Пользователь Сейчас: Offline
Имя: Dimitro Откуда: Санкт-Петербург Регистрация: 17.10.2012
| Banschey, Не используй вин-1251. Utf-8 наше все. Везде пропиши и не будет проблем. В хтассес тоже.
__________________
No thing is perfecT |
3.10.2015 / 14:24 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| поставил,Привет теперь нормально отображается но всё остальное вопросами )
|
4.10.2015 / 02:24 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| Проблема в $query = mysql_query($link,"SELECT id, Password FROM Users WHERE Name='".mysql_real_escape_string($link,$_POST['name'])."'")or die('Линия 35'.mysql_error());
Но по чему там проблема не могу понять (, код ошибки не пишет просто завершает выполнение. Открыть спойлер Закрыть спойлер <?php
//Определяем функцию генирации хеша
function generateCode($length=6){
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length){
$code .= $chars[mt_rand(0,$clen)];
}return $code;}
if($on_cookie==1)
{ //Если куки совпали выводим имя и форму для выхода
echo('<p class="style2" align="center">Привет, '.$userdata['Name'].' </p>');
echo('<form method="POST">
<input class="button" name="Exit" type="submit" value="Выход">
</form>');
if(isset($_POST['Exit']))
{//Если нажали выход то выходим и чистим за собой
unset($_SESSION['id']);
setcookie("hash","");
setcookie("id","");
header('location:index.php');}
}else{//Иначе выводим форму логина
echo('<form method="POST">
<p style="line-height:0.2;text-align:left">Имя:<input style="float:right; margin-top:-0.6em;" type="text" name="name" /></p>
<p style="line-height:0.2;text-align:left">Пароль:<input style="float:right;margin-top:-0.6em;" type="password" name="pass" /></p>
<input style="margin-left:auto" name="submit" type="submit" value="Войти" /> <a style="font-size:15px;" href="register_page.php">Зарегистрироваться ?</a>
</form>');
$link=mysql_connect($host,$name_for_host,$pass_for_host)or die("Не подключились к бд:".mysql_error());
mysql_select_db($db,$link);
//Проверяем что нажали и если воспали данные из бд то даем хеш и куки
if(isset($_POST['submit']))
{
$query = mysql_query($link,"SELECT id, Password FROM Users WHERE Name='".mysql_real_escape_string($link,$_POST['name'])."'")or die('Линия 35'.mysql_error());
$data = mysql_fetch_assoc($query);
//Проверяем совпали ли пароли
if($data['Password']==($_POST['pass']))
{
//Генерируем хеш
$hash = md5(generateCode(10));
//Записываес а бд новый хеш для юзера по полученному id
mysqli_query($link, "UPDATE Users SET hash='".$hash."'WHERE id='".$data['id']."'");
//Ставим Куки на час
setcookie("id", $data['id'], time()+3600);
setcookie("hash", $hash, time()+3600);
//Переадресовываем браузер на на главную страницу и закрываем конект к бд
mysql_close($link);
header("Location: index.php"); exit();
}else{//Ну тут понятно и так
echo ('Не верный логин или пароль');}
}
}
?>
|