Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как изменить пользователю свои данные в таблице users?

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


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

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

<?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
Юзер

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

$member_id['name']

LazyDev
PHP-developer

LazyDev - 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();
?>

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

kolumb
Юзер

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

Согласен!

Kasspey
Юзер

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";
?>

LazyDev
PHP-developer

LazyDev - 25 декабря 2015 18:45 -

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

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Kasspey
Юзер

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

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

Kasspey
Юзер

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
Юзер

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

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

Kasspey
Юзер

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>


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

LazyDev
PHP-developer

LazyDev - 27 декабря 2015 12:29 -

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

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Kasspey
Юзер

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

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

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


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

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

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

наверх