Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6829-й день

Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua

 Вопросы по PHP

Glavar
Dec 12 2010, 20:35
  
Пост #1



Репутация:   10  
Активист
*

Группа: Пользователи
Сообщений: 379
С нами с: 11-May 08


Доброго время суток!
1. Скажите как мне обрезать первых 7 знаков, а остальные занести в базу?
2. У меня есть максимальное число голосов припустим 50, как мне присвоить ему 1 место
15 глосов - 5 место
43 голоса - 2 место
28 голосов - 3 место
24 - 4 место и т.д. и что бы место записывалось и обновлялось автоматически в базе данных?

Тема для обговорення мови програмування PHP, всі сторонні коментарі будуть видалятися, а їх автори отримувати %

Сообщение отредактировал BoyKot - Feb 3 2011, 13:22
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
20 Страницы  « < 13 14 15 16 17 > »   
Reply to this topicStart new topic
Ответов(280 - 299)
-RC-
Nov 29 2012, 21:18
  
Пост #281



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


У тебя нет формы, соответственно submit
в форме каждое поле должно иметь name

которое ты потом будешь присваивать через Get или Post

причем лучше так
if (!empty($_POST['search']))
$search = htmlspecialchars($_POST['search']);
или другую проверку входящих переменных

и выводеть лучше через if isset, а то будут warning, что переменные не определены
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
YoGi
Nov 29 2012, 21:29
  
Пост #282



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 435
С нами с: 21-March 08


форма есть :

<html>
<head>
<title></title>
</head>
<body>
<div id="header"></div>
<div id="content">
<h1>search:</h1>
<p>введите имя:</p>
<form action="scripts/search.php" method ="POST">
<fieldset>
<label for="search" > search :</label>
<input type = "text" name="search" size="200"/></br>
</fieldset>
</br>
<fieldset class="center">
<input type = "submit" value="отправить" />
<input type = "reset" value="очистить" />
</fieldset>
</form>
</div>
<div id="footer"></div>
</body>
</html>

простенькая форма разобраться с механизмом поиска, потом проверок добавлю.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Dec 11 2012, 22:34
  
Пост #283



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


header ("Location: show_error.php");
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
YoGi
Dec 24 2012, 12:36
  
Пост #284



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 435
С нами с: 21-March 08


хочу сделать авторизацию, что бы администратор имел доступ ко всем страницам, а обычные пользователи нет.
создал три таблицы:

users:user_id,user_login,user_pass
groups: id,name
user_groups:users_id,groups_id в ней данные из первой и второй таблицы.

далее идет login.php


<?
session_start();
// подключение к БД
if(isset($_POST['submit']))
{$query = mysql_query("SELECT user_id, user_pass FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
$data = mysql_fetch_assoc($query);
if($data['user_pass'] === md5(md5($_POST['password'])))
{ header('Location:\cards\cards_pr\scripts\bridge.php');
exit();
}
else
{
print "Вы ввели неправильный логин/пароль";
}
}
?>
<form method="POST">
Логин <input name="login" type="text"><br>
Пароль <input name="password" type="password"><br>
<input name="submit" type="submit" value="Войти">
</form>
?>


после того как пользователь залогинился он переходит на bridge.php

<?
// подключение к БД
session_start();
$query = mysql_query("SELECT groups_id FROM user_groups WHERE users_id= mysql_real_escape_string($_SESSION['user_id'])");
$auto_gr = mysql_fetch_assoc($query);
if($auto_gr['groups_id'] ==1){
//header('Location:\show_error.php');
print("123");
exit();
}else{
//header('Location:\show_all.php');
print("123");
exit();
}

?>


где по идее должна проходить сверка id пользователя с группой, и если он относится к группе администратор, то получает доступ к одной странице, если он в группе пользователи, то перенаправляется на другую.
проблема в том, что ничего из этого не работает.
Подскажите в чем ошибка? спс

p.s может в запросе ошибка?

Сообщение отредактировал YoGi - Dec 24 2012, 16:22
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Dec 24 2012, 13:35
  
Пост #285



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


а не лучше ли при авторизации слздавать $_SESSION['role'], куда прописывать роль, админ или юзер.

if( !isset($_SESSION['authorized']) || $_SESSION['role'] != 'admin')
или же вместо 'admin' integer переменную
дальше твой код

типо такого

Сообщение отредактировал -RC- - Dec 24 2012, 13:52
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
YoGi
Dec 24 2012, 14:28
  
Пост #286



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 435
С нами с: 21-March 08


(-RC- @ Dec 24 2012, 13:35) Перейти к цитате

а не лучше ли при авторизации слздавать $_SESSION['role'], куда прописывать роль, админ или юзер.

if( !isset($_SESSION['authorized']) || $_SESSION['role'] != 'admin')
или же вместо 'admin' integer переменную
дальше твой код

типо такого


чет не вкурю то есть в логине.пхп передаем логин в $_SESSION, и назначаем ему группу в bridge.php?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Dec 24 2012, 14:39
  
Пост #287



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


можно сразу в login.php вызывать функцию что-то типа:
$_SESSION['role'] = setRole ($id);

а реализация setRole будет дергать из базы твои права.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
elevenelven
Dec 24 2012, 14:46
  
Пост #288



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 218
С нами с: 2-June 07


Перед этой строчкой.
header('Location:\cards\cards_pr\scripts\bridge.php');

Мы же будем работать с ролями и дальше по проекту?! Так зачем тут bridge.php который как контрольный пункт в игре Хитмен?

mysql_query("UPDATE users SET user_hash
Что за user_hash? В описании таблицы `users` небыло никакого хеша.

После вычитки из БД юзера ,авторизации и аутентификации, следует создать в сессии массив этого пользователя со всеми его данными.

Можно сразу выбрать джойном его роль и группу.

$data = mysql_fetch_assoc($query);
if($data['user_pass'] === md5(md5($_POST['password']))){
$_SESSION['current-user'] = $data;
}

А в bridge.php в зависимости от роли генерировать перенаправление. А в перенаправленом файле позволять читать только тем, кто находиться в группе с правами чтения\выполнения.

Сообщение отредактировал elevenelven - Dec 24 2012, 14:47
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Dec 24 2012, 16:20
  
Пост #289



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


и еще на UPDATE рекомендуется тоже ставить лимиты, для таких случаев.
+ я бы добавил дополнительную фильтрацию переменных через strip_tags или htmlspecialchars, + в том числе проверку на /[^(\w)|(\x7F-\xFF-)|(\s)]/
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
elevenelven
Dec 24 2012, 16:56
  
Пост #290



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 218
С нами с: 2-June 07


Еще раз перечитал задачу. YoGi я не думаю что есть смысл применять тут груповую политику. Достаточно ролевой.

users:user_id,user_login,user_pass_md5_hash, role
roles: id,name
------------------------------------------------------


<?
session_start();
// подключение к БД
if(isset($_POST['submit']))
{$query = mysql_query("SELECT * FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
$data = mysql_fetch_assoc($query);
if($data['user_pass'] === md5(md5($_POST['password'])))
{

$_SESSION['current-user'] = $data;

if($data['role'] == 0){//Обычный пользователь
header('Location:/index.php'); die();
}elseif($data['role'] == 1){//Модератор
header('Location:/control-panel.php'); die();
}elseif($data['role'] == 1){//Администратор
header('Location:/admin-panel.php'); die();
}
}
else
{
print "Вы ввели неправильный логин/пароль";
}
}
?>
<form method="POST">
Логин <input name="login" type="text"><br>
Пароль <input name="password" type="password"><br>
<input name="submit" type="submit" value="Войти">
</form>
?>
------------------------------------------------------

Что касается самого вопроса, почему не работает, может у вас структура данных в БД немного запуталась.

Сообщение отредактировал elevenelven - Dec 24 2012, 17:32
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
YoGi
Dec 24 2012, 17:03
  
Пост #291



Репутация:   39  
Активист
*

Группа: Пользователи
Сообщений: 435
С нами с: 21-March 08


ссасибо всем за помощь, вечером поробую, ролевая политика заинтересовала видимо действительно нет смісла исользовать груы , если всего два типа user/admin, хотел росто разобраться с груповой.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-RC-
Dec 24 2012, 17:20
  
Пост #292



Репутация:   424  
bifurcated person
*****

Группа: Пользователи
Сообщений: 6 519
С нами с: 24-December 08


если ставите session_start();
не забудьте тогда уже и присвоить переменные.

ведь на следующих страничках необходимо будет проверять пользователя.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
OldStyleBoY
Aug 31 2013, 23:10
  
Пост #293



Репутация:   133  
Активист
*

Группа: Пользователи
Сообщений: 455
С нами с: 5-April 07


Подскажите, застрял sad.gif
Есть определенная папка, в ней находятся папки, так вот мне нужно узнать все название папок и запихнуть их в select.


<?php
$dir = opendir("a");
while($name = readdir($dir)){
    if($name == "." or $name == "..")
        continue;
    if(is_dir($name))
        echo "<b>[$name]</b><br />";
    else
        echo "$name<br />";
}
closedir($dir);
?>

Название папок у меня выводятся, но когда добавляю :

echo "<select>$name<br />";


то появляется поле селект, но там не выводятся название попок sad.gif

Сообщение отредактировал OldStyleBoY - Aug 31 2013, 23:12
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Navern
Sep 1 2013, 0:05
  
Пост #294



Репутация:   552  
Aut vincere , aut mori
****

Группа: Пользователи
Сообщений: 2 861
С нами с: 10-October 06


(OldStyleBoY @ Sep 1 2013, 0:10) Перейти к цитате

Подскажите, застрял sad.gif
Есть определенная папка, в ней находятся папки, так вот мне нужно узнать все название папок и запихнуть их в select.


<?php
$dir = opendir("a");
while($name = readdir($dir)){
    if($name == "." or $name == "..")
        continue;
    if(is_dir($name))
        echo "<b>[$name]</b><br />";
    else
        echo "$name<br />";
}
closedir($dir);
?>

Название папок у меня выводятся, но когда добавляю :

echo "<select>$name<br />";


то появляется поле селект, но там не выводятся название попок sad.gif


Название папок нужно в опции вставлять,а не конкретно в селект
<select>
<option>$name</option>
<option>$name</option>
</select>
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
artishok
Sep 1 2013, 10:02
  
Пост #295



Репутация:   807  
follow the music
*****

Группа: Пользователи
Сообщений: 5 125
С нами с: 31-December 06


<?php
$dir = opendir("a");
$option = '';
while($name = readdir($dir)){
    if($name == "." or $name == "..")
        continue;
    if(is_dir($name))
        $option .= "<option>[$name]</option>";
    else
        $option .= "<option>$name</option>";
}
closedir($dir);

echo "<select>$option</select>";
?>


Если надо чтобы название папки заметно отличалось от названия файла, можно задать background-color (только так). Или можно использовать сторонние плагины.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
nerve
Jan 1 2014, 17:18
  
Пост #296



Репутация:   282  
Постоялец
***

Группа: Пользователи
Сообщений: 1 753
С нами с: 5-January 07


хочу вывести данные из майскл в виде таблицы.
сначала создаю таблицу с нужными заголовками, потом в цикле вывожу данные из базы.
выглядит не очень. подскажите как лучше сделать.
и еще вопрос: я воспользовался конструкцией do-while, однако рекомендуют использовать просто while. но с просто while не выводится первая строка из таблицы. как быть?


» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Open in new windowIPB Image

Сообщение отредактировал nerve - Jan 6 2014, 17:29
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kapals
Jan 1 2014, 22:08
  
Пост #297



Репутация:   -9  
Дух


Группа: Пользователи
Сообщений: 47
С нами с: 16-March 10


вынеси таблицу за пределы цикла
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
nerve
Jan 6 2014, 16:05
  
Пост #298



Репутация:   282  
Постоялец
***

Группа: Пользователи
Сообщений: 1 753
С нами с: 5-January 07


решение:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

цикл с обращением к базе и выводом значений построчно надо делать внутри тегов таблицы.

Сообщение отредактировал nerve - Jan 6 2014, 17:28
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Yes
Feb 1 2014, 2:48
  
Пост #299



Репутация:   30  
Активист
*

Группа: BANNED
Сообщений: 288
С нами с: 18-June 09


Prestashop - Помощь за деньгиsmile.gif
Помогите добавить небольшой функционал в раздел Заказы Prestashop.
Тот, что AdminOrdersContoller.php, версия престы 1.5.6.2
Нужно в таблице заказов добавить такие поля:
Цены приходная и расходная, стоимость доставки, прибыль с заказа, налог, название перевозчика.

И отдельно вывести такие значения:
Всего приход, всего расход, всего налог, всего прибыль, всего доставки, средняя прибыль с заказа, средняя корзина.
Проверить, чтобы все новые поля фильтровались соответственно выбранным датам на странице заказов.

Работы не много, но у меня знаний не хватает. Я электрик, а не программистsmile.gif
Некоторые значения получаются математическими действиями со значениями, которые уже загружены из БД, другие надо подгрузить из другой ветки БД.
Денег скажем $30-40 ну или как договоримся.
Оплата - на карту или другим взаимно удобным способом. Можно лично в руки, если вы из Киева.
Пишите в ПМ

Сообщение отредактировал Yes - Feb 1 2014, 2:53
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kobzon
Jul 21 2014, 13:32
  
Пост #300



Репутация:   19  
Дух


Группа: Пользователи
Сообщений: 102
С нами с: 7-November 09


Всім доброго дня!
Задумався над такою штукою... Треба написати скрипт(на пхп напевно), щоб робот заходив на мій сайт (вантажні перевезення) і продивлявся сторінки наприклад по 2 хв кожну, і потім змінював айпі, і знову так само. ЯКа ціль? Підвищити відвідуваність, і можливо підніметься трастовість. Що скажете? Яка ціна такого завдання? (Головне в бан не попасти від ПС))
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

20 Страницы  « < 13 14 15 16 17 > » 
Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 25th November 2024 - 5:52
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст.