Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не сохраняет в базе
 
 автор: Ermak   (23.12.2009 в 08:21)   письмо автору
 
 

Я еще новечек в этом деле, но учусь.
Есть переменая 'percent' , которую я по формуле высчитываю и сохраняю в базе, но она почему то не сохраняет в базе. Подскажите в чем дело


<?php
$query 
"UPDATE tb_users SET percent='$percent'  where id='$id'";
    
mysql_query($query) or die(mysql_error());

    echo 
"<font color=\"green\"><b>Сохранено.</b></font><br><br>";

}


if (isset(
$_GET["id"]))
{

$id=$_GET["id"];

if (
$_GET["option"]=="edit")
{

$tablae mysql_query("SELECT * FROM tb_users where id='$id'"); 
$registroe mysql_fetch_array($tablae);
$registroe["percent"] = ($registroe["money"]/100) ;
?>

<form method="post" action="index.php?op=7">

<b>Проба</b><br>
<table>
<tr>

<th width="200">Число:</th><td><b><?= $registroe["percent"?></b>$<br></td><tr>

?>

  Ответить  
 
 автор: sim5   (23.12.2009 в 08:37)   письмо автору
 
   для: Ermak   (23.12.2009 в 08:21)
 

Во-первых - код содержит массу ошибок.
Во-вторых - разве вам парсер не выдает предупреждений об ошибках?
В третьих - с чего это первой строкой срзу идет обновление, чего и от кого?
В четвертых - где же сама форма (кроме ее заголовка)?
В пятых.... В общем так нельзя учиться.

  Ответить  
 
 автор: Ermak   (23.12.2009 в 08:44)   письмо автору
 
   для: sim5   (23.12.2009 в 08:37)
 

Это часть кода

Вот можно сказать весь


<?php


if (isset($_POST["id"]))
{

$id=$_POST["id"];
$username=$_POST["username"];
$password=$_POST["password"];
$referer=$_POST["referer"];
$email=$_POST["email"];
$pemail=$_POST["pemail"];
$country=$_POST["country"];
$vistis=$_POST["vistis"];
$referals=$_POST["referals"];
$referalvisits=$_POST["referalvisits"];
$money=$_POST["money"];
$user_status=$_POST["user_status"];
$percent=$_POST["percent"];




    
$query "UPDATE tb_users SET username='$username', percent='$percent', password='$password', referer='$referer', 
    email='
$email', pemail='$pemail', country='$country', visits='$vistis', referals='$referals', referalvisits='$referalvisits', 
    money='
$money', money_prec='$money_prec', date_deposit=NOW(), user_status='$user_status' where id='$id'";
    
mysql_query($query) or die(mysql_error());

    echo 
"<font color=\"green\"><b>User отредактирован.</b></font><br><br>";

}


if (isset(
$_GET["id"]))
{

$id=$_GET["id"];

if (
$_GET["option"]=="edit")
{

$tablae mysql_query("SELECT * FROM tb_users where id='$id'"); 
$registroe mysql_fetch_array($tablae);
$registroe["percent"] = ($registroe["money"]/100) ;
?>



<form method="post" action="index.php?op=7">


<b>Редактор пользователя</b><br>
<table>
<tr>
<th width="200">Id:</th><td> <input type="hidden" name="id" value="<?= $registroe["id"?>"><?= $registroe["id"?><br></td><tr>
<th width="200">Логин:</th> <td> <input type="text" name="username" value="<?= $registroe["username"?>"><br></td></tr><tr>
<th width="200">Пароль:</th> <td> <input type="text" name="password" value="<?= $registroe["password"?>"><br></td></tr><tr>
<th width="200">Реферал:</th> <td> <input type="text" name="referer" value="<?= $registroe["referer"?>"><br></td></tr><tr>
<th width="200">E-mail:</th> <td> <input type="text" name="email" value="<?= $registroe["email"?>"><br></td><tr>
<th width="200">Откуда:</th> <td> <input type="text" name="country" value="<?= $registroe["country"?>"><br></td></tr>
<th width="200">№ счета:</th> <td>  <b><?= $registroe["pemail"?></b><br></td><tr>
<th width="200">Рефералов:</th> <td> <input type="text" name="referals" value="<?= $registroe["referals"?>"><br></td><tr>
</table>

<b>Редактор аккаунта</b><br>
<table>
<tr>

<th width="200">Процентов:</th><td><b><? echo $row["proc"]; ?></b>$<br></td><tr>
<th width="200">Баланс:</th><td><b><?echo $registroe["money"] + $registroe["percent"?></b>$<br></td><tr>
<th width="200">Всего заработано:</th><td><b><?= $registroe["percent"?></b>$<br></td><tr>
<th width="200">Всего выплачено:</th><td><b><?= $registroe["paid"?></b>$<br></td><tr>
<th width="200">Активный депоз:</th> <td><input type="text" name="money" value="<?= $registroe["money"?>">$<br></td><tr>


</table>
<br>



<td colspan='2'><br><fieldset><legend>Служебная информация</legend>
ip адрес при регистрации: <b><?= $registroe["ip"?></b><br>
Дата регистрации: <b><?= $registroe["joindate"?></b><br>
Дата последнего визита: <b><?= $registroe["lastlogdate"?></b><br>
ip адрес последнего входа: <b><?= $registroe["lastiplog"?></b><br>

</fieldset></td><tr>



<td><input type="submit" value="сохранить" class="button"></td>

</form>
 


<?


Ошибки не какой не выводит. В админ панели я виже результат 'percent' а в базе нет его, если вам не трудно объясните в чем дело.

  Ответить  
 
 автор: sim5   (23.12.2009 в 09:06)   письмо автору
 
   для: Ermak   (23.12.2009 в 08:44)
 

1. По умолчанию форма передается методом GET. Берем вашу форму, и пропишем вашу переменную в атрибуте action: op=7, полученное от формы выведем на экран:
<?
print_r
($_GET); 
?>
<FORM ACTION="?op=7">
<INPUT TYPE="text" NAME="as" VALUE="1">
<INPUT TYPE="submit" VALUE="Send">
</FORM>

В результате будет получено:
Array ( [as] => 1 )
Теперь изменим метод отправки формы на POST:
<?
print_r
($_GET); 
?>
<FORM ACTION="?op=7" METHOD="post">
<INPUT TYPE="text" NAME="as" VALUE="1">
<INPUT TYPE="submit" VALUE="Send">
</FORM>

В результате будет получено:
Array ( [op] => 7 )
То есть, переменная передаваемая в атрибуте action формы, будет передана на сервер только в том случае, если форма передается методом POST. В вашем же случае она останется "бесхозной".

2. Вы проверяете полученное как методом POST, а форма у вас передается методом GET.

3. Самого поля percent в форме вообще нет.

4. Вывод переменных как <?= $var; ?> будет работать только в том случае, если разрешен короткий РНР-тег - <?. У вас же на странице комбинация и этого и через echo. Это конечно не ошибка как таковая, если разрешен тег короткий, но это уже небрежность.

PS. Виноват. Изначально пропустил метод POST все таки указанный у вас.
Значит - поле.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования