Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как изменить пользователю свои данные в таблице users?

Как изменить пользователю свои данные в таблице users?


     25.12.2015    Общие вопросы по PHP, Ламерские вопросы    756

вопрос
Добрый день, есть допустим простенькая форма, где пользователь вносит в таблицу пользователей доп. имя и команду.

<?php 
require 'connect.php';

$team_name = trim($_REQUEST['team_name']);
$team_server = trim($_REQUEST['team_server']);

$insert_sql = "INSERT INTO dle_users (team_name, team_server)" .
"VALUES('{$team_name}', '{$team_server}');";
mysql_query($insert_sql);
echo "<p>OK</p>";
?>


Вопрос, как сделать чтобы изменения вносились именно тому пользователю - который работает с этой формой.

Ответа пока нет


Комментарии пользователей (11)

kolumb
8

203 | 46

kolumb - 25 декабря 2015 12:56 - Юзер

$member_id['name']

Gameer
224

1118 | 394

Gameer - 25 декабря 2015 15:17 - Эксперт

kolumb, а еще лучше
$member_id["user_id"];
Код чистый и опрятный

<?PHP
if( !defined( 'DATALIFEENGINE' ) ) die( "You are a fucking faggot!" );

$team_name = !empty($_REQUEST['team_name']) ? $db->safesql(trim(strip_tags(stripslashes($_REQUEST['team_name'])))) : false;
$team_server = !empty($_REQUEST['team_server']) ? $db->safesql(trim(strip_tags(stripslashes($_REQUEST['team_server'])))) : false;
if($team_name === false || $team_server === false)
return;

$insert_sql = "UPDATE " . PREFIX . "_users SET `team_name`='{$team_name}', `team_server`='{$team_server}' WHERE `user_id`='$member_id[user_id]'";
if($db->query($insert_sql))
echo "OK";
else
echo "BAD";

$db->free();
?>

Истина в противоречии.​

kolumb
8

203 | 46

kolumb - 25 декабря 2015 15:18 - Юзер

Согласен!

Kasspey
5

Kasspey - 25 декабря 2015 18:24 - Юзер

Благодарю, попробовал - ругается на
$team_name = !empty($_REQUEST['team_name']) ? $db->safesql(trim(strip_tags(stripslashes($_REQUEST['team_name'])))) : false;


Попробовал так - прошел (но не сработал)

<?PHP
require 'connect.php';

$team_name = trim($_REQUEST['team_name']);
$team_server = trim($_REQUEST['team_server']);

$insert_sql = "UPDATE " . PREFIX . "_users SET `team_name`='{$team_name}', `team_server`='{$team_server}' WHERE `user_id`='$member_id[user_id]'";
mysql_query($insert_sql);
echo "OK";
?>

Gameer
224

1118 | 394

Gameer - 25 декабря 2015 18:45 - Эксперт

Kasspey, в какой папке файл ?

Истина в противоречии.​

Kasspey
5

Kasspey - 25 декабря 2015 18:59 - Юзер

www/idteam/form.html
www/idteam/scripts/form.php
www/idteam/scripts/connect.php

Kasspey
5

Kasspey - 27 декабря 2015 11:44 - Юзер

Gameer, Подскажите пожалуйста, так ошибок нет - но и смысла не како-го нет.

<?PHP
require 'connect.php';

if( $is_logged ) {
$team_name = $db->safesql( $parse->process( $_POST['team_name'] ) );
$team_server = $db->safesql( $parse->process( $_POST['team_server'] ) );

$db->query( "INSERT INTO " . USERPREFIX . "_users SET `team_name`='{$team_name}', `team_server`='{$team_server}' WHERE `user_id`='$member_id[user_id]'" );
}

mysql_query($insert_sql);
echo "OK";
?>


В любом другом случае получаю "Call to a member function safesql() on a non-object in в

$team_name = !empty($_REQUEST['team_name']) ? $db->safesql(trim(strip_tags(stripslashes($_REQUEST['team_name'])))) : false;

kolumb
8

203 | 46

kolumb - 27 декабря 2015 11:46 - Юзер

Так не?
$team_name = !empty($_REQUEST['team_name']) ? stripslashes($_REQUEST['team_name']) : false;

Kasspey
5

Kasspey - 27 декабря 2015 12:26 - Юзер

kolumb, Так прошло, но данные не внесло.

<?PHP
require 'connect.php';

$team_name = !empty($_REQUEST['team_name']) ? stripslashes($_REQUEST['team_name']) : false;
$team_server = !empty($_REQUEST['team_server']) ? stripslashes($_REQUEST['team_server']) : false;
if($team_name === false || $team_server === false)
return;

$insert_sql = "UPDATE " . PREFIX . "_users SET `team_name`='{$team_name}', `team_server`='{$team_server}' WHERE `user_id`='$member_id[user_id]'";
mysql_query($insert_sql);
echo "OK";
?>


Вот форма, 2 столбика 'team_server' и 'team_name' в бд добавлены в таблицу 'dle_users'.

<body>
<form action="idteam/scripts/form.php" method="post" name="forma">
<fieldset>
<label for="name">Текст</label><br/>
<br>
<input type="text" name="team_name" size="30">
<select name="team_server">
  <option>Один</option>
  <option>Два</option>
</select>
</fieldset>
<br/>
<fieldset>
<input id="submit" type="submit" value="Отправить данные"><br/>
</fieldset>
</form>
</body>
</html>


Добавлена на статической странице, что я делаю не правильно...?

Gameer
224

1118 | 394

Gameer - 27 декабря 2015 12:29 - Эксперт

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

Истина в противоречии.​

Kasspey
5

Kasspey - 27 декабря 2015 13:21 - Юзер

Gameer, То есть надо через -

{include file="engine/modules/mymod.php"}


Или как правильно сделать?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы