|
|
|
| Всем привет! Я новичок! Проблема такая. Передача данных в файле обработки:
Фрагмент кода:
$id = $_POST['id']; $_SESSION['id'] = $id;
$name = $_POST['name']; $_SESSION['name'] = $name;
$email = $_POST['email']; $_SESSION['email'] = $email;
Дальше надо в базе найти этот email, и с его помощью переписать данные.
Ни чего не получается. Гуру, обращаюсь к вам!
<?php
session_start();
$sql = mysql_connect("localhost","root","");
mysql_select_db("my_bd");
$result = mysql_query ("UPDATE users SET id = '$id', name ='$name' WHERE email = '$email'");
if ($result == 'true')
{
echo "Данные успешно обновлены.";
}
else
{
echo "Данные не обновлены!";
}
?> | |
|
|
|
|
|
|
|
для: hobin
(26.11.2012 в 14:38)
| | id - это число?
$result = mysql_query ("UPDATE users SET id = $id, name ='$name' WHERE email = '$email'");
if ($result)
|
во вторых у вас данные приходят в один файл а обрабатываются в другом? так покажите как они в этот другой попадают
про не безопасность кода я сейчас молчу | |
|
|
|
|
|
|
|
для: Valick
(26.11.2012 в 14:44)
| | Да. id -это число. Безопасность для меня пока не главное. Хочу просто разобраться.
Страница1 1.php
<form action="2.php" method="post" name="myform" >
<input name="id" type="text" />id</p><p>
<input name="name" type="text" />name</p><p><label>
<input name="email" type="text" /></label>email</p><p><label>
<input name="pass" type="text" /></label>pass</p><p>
<input id="sub_mit" type="submit" value="Registration" />
</form>
Страница2 2.php
<?php
session_start();
//---------------------------------
$sql = mysql_connect("localhost","root","");
mysql_select_db("my_bd");
$w = mysql_query("SELECT id, name, email, pass FROM users");
//---------------------------------
$id = $_POST['id']; $_SESSION['id'] = $id;
$name = $_POST['name']; $_SESSION['name'] = $name;
$email = $_POST['email']; $_SESSION['email'] = $email;
$pass = $_POST['pass']; $_SESSION['pass'] = $pass;
//---------------------------------
$result = mysql_query ("INSERT INTO users (id, name, email, pass)
VALUES ('$id', '$name', '$email', '$pass')");
//---------------------------------
echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=3.php">';
?>
Страница3 3.php
<?php
session_start();
$sql = mysql_connect("localhost","root","");
mysql_select_db("my_bd");
$query = 'SELECT `id` FROM `users` WHERE `email`="'.trim(mysql_real_escape_string($_SESSION['email'])).'" LIMIT 1';
$res = mysql_query($query);
if($res)
$row = mysql_fetch_array($res, MYSQL_NUM);
echo !empty($row[0]) ? $row[0] : 'Is not found';
$id = 12345;
$ name = Ivan;
$sql = mysql_connect("localhost","root","");
mysql_select_db("my_bd");
$result = mysql_query ("UPDATE users SET id = '$id', name ='$name' WHERE email = '$email'");
if ($result == 'true')
{
echo "Данные успешно обновлены.";
}
else
{
echo "Данные не обновлены!";
}
?>
То есть меняю id и name. И надо их заменит в таблице через email. | |
|
|
|
|
|
|
|
для: hobin
(26.11.2012 в 14:38)
| | примерно так
<?php
session_start();
$id = intval($_POST['id']);
$name = $_POST['name'];
$email = $_POST['email']; // email лучше проверить релуляркой
$_SESSION['id'] = $id;
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$name = mysql_real_escape_string($name);
$email = mysql_real_escape_string($email);
$sql = mysql_connect("localhost","root","");
mysql_select_db("my_bd",$sql);
$query="UPDATE users SET id = $id, name ='$name' WHERE email = '$email'";
$result = mysql_query ($query);
if ($result){
echo "Данные успешно обновлены.";
}else{
echo "Данные не обновлены!";
}
?>
|
| |
|
|
|
|
|
|
|
для: Valick
(26.11.2012 в 15:03)
| | Прошу прощения. Я не давно начал изучать php поэтому много чего не знаю.
Что такое "email лучше проверить релуляркой "?
Как проверяется? Даже представления не имею. Научите пожалуйста. | |
|
|
|
|
|
|
|
для: hobin
(26.11.2012 в 15:10)
| | регулярные выражения
Научите пожалуйста.
Я то не против, но на одном мне и одних форумах вы "далеко не уедете", купите хорошую книгу для изучения. | |
|
|
|
|
|
|
|
для: Valick
(26.11.2012 в 15:13)
| | Ну да, я согласен. Уже скачал несколько книг. Но там через чур умными словами написано. Порой не понять о чем речь! Спасибо вам! | |
|
|
|
|
|
|
|
для: hobin
(26.11.2012 в 15:25)
| | Не скачать, а купить в книжном магазине :)
Знания на халяву плохо усваиваются ;) | |
|
|
|
|
|
|
|
для: hobin
(26.11.2012 в 15:10)
| | >Что такое "email лучше проверить релуляркой "?
Проверить, правильно ли введен email или нет.
Проверяется с помощью регулярных выражений.
Подробнее об этом здесь http://softtime.ru/bookphp/gl7_1.php.
Проверить email можно так:
<?php
...
if (preg_match("/^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$/i", $_POST['email'])) $email = $_POST['email'];
else exit("Email введен неправильно!");
...
?>
|
| |
|
|
|