|
|
|
|
<?
if(isset($_POST['submit']))
{
$id = intval($_POST['id']);
$res=mysql_query("select * from avtorinok where id='$id'");
$res=mysql_Fetch_array($res);
$kart=$res["kartinka"];
$expa= $res["cena"];
$rs=mysql_query("select money from tb_users where username='$user'");
$rs=mysql_fetch_array($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("update tb_users set avtomobil='$kart', money='$money' where user='$user'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
|
сделал такое условие, оно будет выполнятся при нажатии на такую кнопку:
<form action="knopka" method=post>
<input type="submit" name="submit" id="submit" value="<?=$row["id"]?>">
</form>
|
Подскажите что не так?То ли условие неправильное,то ли кнопка никак не пойму, заранее спасибо!!! | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 13:07)
| | <form action="knopka" method=post>
knopka.php ?? расширение забыли | |
|
|
|
|
|
|
|
для: Alph[p]a
(08.09.2010 в 13:11)
| | а если мне ненадо чтобы кнопка переводила на другую страницу?то как сделать,я думал это название
и как
выразить в $id? | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 13:12)
| | я не понял.. вы походу описали часть задачи.. опишите полностью | |
|
|
|
|
|
|
|
для: Alph[p]a
(08.09.2010 в 13:18)
| | вообщем мне нужно чтобы при нажатии на кнопку выполнялось условие
if(isset($_POST['submit']))
{
$id = intval($_POST['id']);
$res=mysql_query("select * from avtorinok where id='$id'");
$res=mysql_Fetch_array($res);
$kart=$res["kartinka"];
$expa= $res["cena"];
$rs=mysql_query("select money from tb_users where username='$user'");
$rs=mysql_fetch_array($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("update tb_users set avtomobil='$kart', money='$money' where user='$user'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
|
но только как правильно сделать кнопку я незнаю,делал как писал в посте выше,но при нажатии условие не выполнялось,кнопка находится в таблице у нескольких id,т.е. мне нужно чтобы с нажатием передавались данные id строки на которой нажали кнопку | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 13:21)
| | скрытый input (input type="hidden")
вроде так
<input type="hidden" name="var" value="<?=$row["id"]?>"> | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 13:21)
| | что бы не переводило на другой файл с обработчиком, надо форму и обработчик разместить с одном файле, обработчик сверху формы
<?php
error_reporting(E_ALL); // обязательно на момент написания и отладки кода !
if(isset($_POST['submit')){
// если форма отправлена, обрабатываем данные
// переменные перед постановкой в запрос надо обрабатывать соответствующими функциями
mysql_real_escape_string(); // если строка
intval(); // если число, в данном случае $id
// имена таблицы и полей в обратные кавычки,
// операторы, ключевые слова SQL заглавными буквами
$query = "SELECT * FROM `avtorinok` WHERE ` id`='".intval($id)."'"
}
?>
<!-- ну и сама форма -->
<form action="" method="post">
<input type='hidden' name='id' value='<?php echo $id ?>' />
</form>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 13:44)
| |
<?
if(isset($_POST['submit']))
{
$res=mysql_query("select * from avtorinok where id='".intval($id)."'");
$res=mysql_Fetch_array($res);
$kart=$res["kartinka"];
$expa= $res["cena"];
$rs=mysql_query("select money from tb_users where username='$user'");
$rs=mysql_fetch_array($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("update tb_users set avtomobil='$kart', money='$money' where user='$user'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_array($res)) {
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>";
?>
<form action="" method="post">
<input type="hidden" name="id" id="submit" value="<?=$row["id"]?>">
</form>
</td>
</tr>
<?
}
?>
</table>
|
Если сделать вот так то несработает? | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 13:55)
| | 1) error_reporting(E_ALL); обязательно на момент написания и отладки кода !
Вы этого не сделали.
2) что это за файл config.php ? Если это подключение к БД, то почему он в середине скрипта?
3) и не кнопку надо скрытую делать
в своей форме Вы не передаёте ни каких данных
p.s. скорей всего, Вам надо полность пересмотреть свой код и переделать его | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 14:01)
| | Помогите с пересмотрением | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 14:19)
| | я не могу читать Ваши мысли, был бы признателен, если Вы опишите то, что Вам надо сделать | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 14:22)
| | Вообщем у меня есть таблица с автомобилями
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_array($res)) {
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>";
?>
<form action="" method="post">
<input type="hidden" name="id" value="<?=$row["id"]?>">
<input type="submit" name="kupit" value="Купить авто">
</form>
</td>
</tr>
<?
}
?>
</table>
|
напротив каждого есть кнопка "купить авто",мне надо чтобы при нажатии на неё выполнялось вто это:
if(isset($_POST['submit']))
{
$id=intval('id');
$res=mysql_query("select * from avtorinok where id='".intval($id)."'");
$res=mysql_Fetch_array($res);
$kart=$res["kartinka"];
$expa= $res["cena"];
$rs=mysql_query("select money from tb_users where username='$user'");
$rs=mysql_fetch_array($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("update tb_users set avtomobil='$kart', money='$money' where user='$user'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
|
| |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 14:26)
| | и у каждого авто есть свой id,его надо как то выводить что это определеный авто,чтобы вот это выполнялось
$res=mysql_query("select * from avtorinok where id='".intval($id)."'");
$res=mysql_Fetch_array($res);
|
| |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 14:26)
| | Никто вам не сможет помочь, ибо:
1. Не приходит вам никакого 'id', с которым можно было бы сотворить intval('id').
2. intval($id=intval('id')) - это уже слишком.
3. Не отделены котлеты от мух, так как нет никакого условия, есть параметр, по которому выбор/действие.
$id=intval($_POST['id'])..... а дальше, а дальше нечто невообразмое у вас. | |
|
|
|
|
|
|
|
для: sim5
(08.09.2010 в 14:51)
| | поэтому я и спрашиваю помощи,помогите сделать правильно | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 14:55)
| | Правильно? Правильно будет так:
<?
if(isset($_POST['submit'])) {
$res=mysql_query("select * from avtorinok where id=" . intval($_POST['id']));
$res=mysql_fetch_assoc($res);
|
Но вот дальше, я очень сомневаюсь, что все правильно, в смысле организации таблиц, либо в организации самого подхода к решению задачи, так как невесть откуда взявшийся $user и т.п... | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 14:26)
| | для начала я я бы отказался от формы.
потом добавил бы в таблицу ещё одну ячейку, в которой расположил бы ссылку "купить авто" и через эту ссылку передавал бы id записи
это первое.
во-вторых, действительно, откуда и зачем Вам $user ?
и в-третьих.
начните с переделки таблицы и вывода информации из базы, а потом уже делайте обработчик | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 15:17)
| |
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("login.php");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=login.php">
</noscript>
<?
exit();
}
include('header.php');
$user=$_SESSION["username"];
|
user отсюда,чото не проходит строка
$rep=mysql_query("select * from avtorinok where id='.intval($_POST['id'])'");
|
| |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 15:18)
| | Вот весь код чтобы не думалось чо откуда,почему всегда вылазеет слово "ошибка"
<?
session_start();
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("login.php");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=login.php">
</noscript>
<?
exit();
}
include('header.php');
$user=$_SESSION["username"];
?>
<h3>.::Авторынок::.</h3>
<br>
<?
if(isset($_POST['kupit']))
{
intval('id');
$rep=mysql_query("select * from avtorinok where id='".intval($_POST['id'])."'");
$res=mysql_Fetch_array($rep);
$kart=$res["kartinka"];
$expa=$res["cena"];
$rs=mysql_query("select money from tb_users where username='$user'");
$rs=mysql_fetch_array($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("update tb_users set avtomobil='$kart', money='$money' where user='$user'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_array($res)) {
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>";
?>
<form action="" method="post">
<input type="hidden" name="id" value="<?=$row["id"]?>">
<input type="submit" name="kupit" value="Купить авто">
</form>
</td>
</tr>
<?
}
?>
</table>
<? include('footer.php'); ?>
|
| |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 15:29)
| | Опять intval('id')? да еще бог знает зачем! Вас что по башке бить чтобы понятней было? И запомните раз и навсегда - не mysql_fetch_array, а mysql_fetch_assoc, и если первое, то только тогда, когда это оправдано! | |
|
|
|
|
|
|
|
для: sim5
(08.09.2010 в 15:34)
| |
<?php
session_start();
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("login.php");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=login.php">
</noscript>
<?
exit();
}
include('header.php');
$user=$_SESSION["username"];
?>
<h3>.::Авторынок::.</h3>
<br>
<?
if(isset($_POST['kupit']))
{
error_reporting(E_ALL);
require('config.php');
$rep=mysql_query("select * from avtorinok where id='".intval($_POST['id'])."'");
$res=mysql_fetch_assoc($rep);
$kart=$res["kartinka"];
$expa=$res["cena"];
$rs=mysql_query("select money from tb_users where username='$user'");
$rs=mysql_fetch_array($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("update tb_users set avtomobil='$kart', money='$money' where user='$user'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_array($res)) {
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>";
?>
<form action="" method="post">
<input type="hidden" name="id" value="<?=$row["id"]?>">
<input type="submit" name="kupit" value="Купить авто">
</form>
</td>
</tr>
<?
}
?>
</table>
<? include('footer.php'); ?>
|
Теперь что не так? | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 15:46)
| | Та по мне так все у вас не так, хотя это и на уровне интуиции. Вы не делайете мне одолжений, заменив в одном месте mysql_fetch_array на mysql_fetch_assoc, а лучше почитайте, что это такое.
<?
if(!emty($_SESSION["username"]) || !emty($_SESSION["password"])) header("location: login.php");
|
PS. Кстати, в сессии нужно не это держать, а признак, что пользователь авторизованный. | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 15:18)
| | Вы сначала разберитесь с html таблицей и формой. потом уже дойдёт очередь до обработчика
>чото не проходит строка
что именно?
и до сих пор не вижу у Вас в коде волшебной строки error_reporting(E_ALL);
и избавьтесь от коротких тегов <?, используйте <?php | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 15:31)
| | последний код который я опубликовал прошёл,но вылазеет слово "ошибка",следовательно $query не выполнился,почему незнаю,вставляю вашу волшебную строку одни ошибки вылетают | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 15:33)
| | ещё с вашей строкой вылазеет ошибка первой строки | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 15:31)
| | все ошибки пропали,даже со строкой,но всё равно вылазеет слово "ошибка",почему условие не выполняется? | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 15:42)
| | Где строка error_reporting(E_ALL); ?!
Что за файл config.php ?!
Где изменеия в html таблице и почему у Вас до сих пор присутствует форма в скрипте ?! Ведь у Вас не одна запись выводится, а много, зачем столько форм на одной странице?
>вставляю вашу волшебную строку одни ошибки вылетают
правильно, они и должны быть...
какие ошибки?
Измените сначала это, а уж потом беритесь за обработчик.
Вы привели всё тот же код, без изменений, и после этого Вы просите о помощи? | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 16:20)
| |
<?php
session_start();
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("login.php");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=login.php">
</noscript>
<?
exit();
}
include('header.php');
$user=$_SESSION["username"];
?>
<h3>.::Авторынок::.</h3>
<br>
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_array($res)) {
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>";
?>
<form action="" method="post">
<input type="hidden" name="id" value="<?=$row["id"]?>">
<input type="submit" name="kupit" value="Купить авто">
</form>
</td>
</tr>
<?
}
?>
</table>
<?
if(isset($_POST['kupit']))
{
error_reporting(E_ALL);
require('config.php');
$rep=mysql_query("select * from avtorinok where id='".intval($_POST['id'])."'");
$res=mysql_fetch_assoc($rep);
$kart=$res["kartinka"];
$expa=$res["cena"];
$rs=mysql_query("select money from tb_users where username='$user'");
$rs=mysql_fetch_assoc($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("update tb_users set avtomobil='$kart', money='$money' where user='$user'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
|
Файл config.php через него идёт подключение к базе,а формы мне нужны пусть что много,что ещё переделать надо чтобы заработало?Ошибок вроде не выдаёт,но условие невыполняет всё равно | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 18:49)
| | Вы либо ленивый, либо вам глубоко плевать на то, чего вам говорят. Вы понимаете, что будет результатом вот этого:
<?
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
|
? | |
|
|
|
|
|
|
|
для: sim5
(08.09.2010 в 18:51)
| | Нет,обьясните на что заменить эту строку или столбец весь,подробней что на что | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 18:53)
| | Не стоит, как и не стоит хранить пароль пользователя в сессии. Вы должны проверять, что некий пользователь аторизован, и признак этого хранить в сессии, и этот признак проверять. При этом для перенаправления пользователя совсем не требуется JS.
Все остальное, вы уже какой раз по кругу гоняте, и одно и то же.... | |
|
|
|
|
|
|
|
для: sim5
(08.09.2010 в 18:56)
| | Думаете мне охото по тсо раз одно и тоже писать?Я просто незнаю как переделать,помогите конкретно что изменить,я ведь незнаю | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 19:00)
| | А думаете всем остальным охота по несколько раз вам говорить тоже одно и тоже?
Вот, смотрите:
<?
$a;
$b;
if(isset($a) && isset($b)) echo "Y";
|
Видите какая лажа получается?
Не знаю от куда вы выгребаете логин и пароль, но учтите, при любых значениях, и даже пустых, ваше условие не будет выполнено (пользователь не будет перенаправлен). Еще раз повторяю - не стоит держать пароль в сессии. Вы потрудитесь исправить это хотя бы. Вы ведь ничего не делаете даже частями, теми, на которые вам указывают. Так чего вы хотите тогда? | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 18:49)
| | --- | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 18:49)
| |
<?php
if(isset($_POST['kupit']))
{
error_reporting(E_ALL);
//..............................................................
}
?>
|
В данном случае толку от error_reporting(E_ALL); ни какого. Вывод всех предупреждений и замечаний будет только в том случае, когда Вы нажмёте кнопку и появится $_POST['kupit'], а Вам надо, что бы постоянно выводились все ошибки и замечания.
Поехали дальше
Сколько раз Вам можно писать одно и тоже по поводу формы ? Ладно, повторю ещё раз, последний.
Вы выводите на страницу браузера кучу информации по авто, и ровно столько же форм, ради передачи ОДНОГО, заметьте, параметра. Значит форму долой! Заменить её ссылкой, через которую будет передаваться параметр, id записи в базе данных.Единственное отличие будет в способе передачи данных, не через $_POST, а через $_GET А что бы всё нормально выглядело, добавьте в таблицу ещё одну ячейку, где и пропишите ссылку, тем более, что она у Вас есть, эта ячейка, пустует, скучает ....
по поводу mysql_fetch_array(); Вам уже говорили, Вы опять же не желаете читать, что пишут. Замените на mysql_fetch_assoc();
вот Вам mysql_fetch_array()
а вот Вам mysql_fetch_assoc
В запросах, имена полей таблиц и имена самих таблиц берите в обратные кавычки, операторы, ключевые слова SQL-я и т.п. пишите заглавными буквами, Вам же самому будет удобно читать такой код.
<?php
$query = "SELECT `money` FROM `tb_users` WHERE `username` = '".$user."'"
?>
|
Уберите короткие теги, используйте длинные <?php
Всё, исправляйте, пробуйте, будут вопросы - пишите.
>а формы мне нужны пусть что много
Объясните зачем столько много? | |
|
|
|
|
|
|
|
для: slo_nik
(08.09.2010 в 20:18)
| | Спасибо,щас вот переделал вроде,но только не понял как формы заменить на ссылки?И что за ссылку делать?В таблицу в БД надо ячейку добавлять?Поконкретней про ссылку распишите пожалуйста...Остальное вроде понял | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 09:43)
| | Да, действительно, не уточнил про таблицу...
Я имел ввиду html таблицу, вот там и добавляйте ячейку.
а ссылка может иметь вот такой вид
<?php
// такая ссылка ведёт на скрипт в котором расположены и таблица с авто и обработчик
// если обработчик находится в другом файл, то перед ? впишите имя файла-обработчика
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
// ну и часть самой таблицы
echo "<td>".$buy."</td>";
?>
|
и теперь свои данные получайте из массива $_GET
<?php
if(isset($_GET['buy'])){
// составляйте запрос, получайте данные
}
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 10:04)
| | А в БД таблицу ничего добавлять не нужно? и у меня вылетает ошибка неожиданный конец
<? include('footer.php');
php?>
|
| |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 10:47)
| | >А в БД таблицу ничего добавлять не нужно?
откуда я знаю, Вы же не привели дам таблицы и не говорили, что Вам от неё надо. Это отдельная тема, да и для другого форума.
>и у меня вылетает ошибка неожиданный конец
смотрите, где Вы не закрыли фигурные скобки.
Вы уберёте короткие теги <? или нет ? | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 11:12)
| | вроде везде закрыл,а всё равно вылетает неожиданный конец
<?php
session_start();
error_reporting(E_ALL);
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("login.php");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=login.php">
</noscript>
<?
exit();
}
include('header.php');
$user=$_SESSION["username"];
if(isset($_GET['buy']))
{
require('config.php');
$rep=mysql_query("SELECT * FROM 'avtorinok' WHERE 'id'='".intval($_POST['id'])."'");
$res=mysql_fetch_assoc($rep);
$kart=$res["kartinka"];
$expa=$res["cena"];
$rs="SELECT 'money' FROM 'tb_users' WHERE 'username'='".$user."'";
$rs=mysql_fetch_assoc($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("UPDATE 'tb_users' SET 'avtomobil'='$kart', 'money'='$money' WHERE 'user'='".$user."'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
<h3>.::Авторынок::.</h3>
<br>
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>". $buy ."</td>
</tr>"
?>
}
</table>;
<?php include('footer.php');
?>
|
| |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 11:31)
| | Вы проверяйте не только этот файл, но и все подключаемые файлы, кроме фигурных скобок проверяйте ; и всё-всё
Кстати, по поводу подстановки в запросы строк, в данном случае $user, их тоже надо обрабатывать соответствующими функциями для предотвращения SQL-иньекций | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 11:42)
| |
<?php
session_start();
error_reporting(E_ALL);
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("login.php");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=login.php">
</noscript>
<?
exit();
}
include('header.php');
$user=$_SESSION["username"];
if(isset($_GET['buy']))
{
require('config.php');
$rep=mysql_query("SELECT * FROM 'avtorinok' WHERE 'id'='".intval($_POST['id'])."'");
$res=mysql_fetch_assoc($rep);
$kart=$res["kartinka"];
$expa=$res["cena"];
$rs="SELECT 'money' FROM 'tb_users' WHERE 'username'='".$user."'";
$rs=mysql_fetch_assoc($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("UPDATE 'tb_users' SET 'avtomobil'='$kart', 'money'='$money' WHERE 'user'='".$user."'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
<h3>.::Авторынок::.</h3>
<br>
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>". $buy ."</td>
</tr>"
?>
}
</table>;
<?php include('footer.php');
?>
|
Блин всё обыскал вроде везде всё стоит,почему Parse error: syntax error, unexpected $end in /home/avto/domains/avto.ipbux.ru/public_html/avtorinok.php on line 85 | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 12:47)
| | Этот кусок неправильный:
<br>
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
|
У вас php-код в соответствующие теги не заключен. Подсветка ж есть... Как вы все обыскивали, я не знаю... мне секунда понадобилась.
И еще один неправильный кусок:
while ($row = mysql_fetch_assoc($res))
{
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>". $buy ."</td>
</tr>"
?>
}
|
Посмотрите внимательно, куда вы влепили закрывающуюся скобку. | |
|
|
|
|
|
|
|
для: Лена
(09.09.2010 в 12:55)
| |
<h3>.::Авторынок::.</h3>
<br>
<?php
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
?>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
?>
<td>". $buy ."</td>
</tr>
<?
}
?>
</table>;
|
всё равно ошибка та же | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:02)
| |
<h3>.::Авторынок::.</h3>
<br>
<?php
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
<center><a>Список автомобилей</a></center>
|
Где в этом фрагменте php-код, который исполняется на сервере, а где чистый html, который выдает броузер? Построчно перечислите.
PS. Вы сколько книг по PHP прочитали, прежде, чем браться за список автомобилей? | |
|
|
|
|
|
|
|
для: Лена
(09.09.2010 в 13:07)
| | $buy = "<a href='?buy=".intval($row["id"])
вот наверное | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 12:47)
| | кроме того, что указанный участок код не заключён в теги php, так ещё Вы его вставили не понятно где. как Вы собираетесь получить $row["id"], откуда Вы этот параметр будете брать?
Вы хоть подумали бы немного, прежде чем просто скопировать, то что я Вам дал. | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 13:00)
| |
<h3>.::Авторынок::.</h3>
<br>
<?php
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
?>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
?>
<td>". $buy ."</td>
</tr>
<?
}
?>
</table>;
|
всё равно таже ошибка | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:04)
| | почитайте что нибудь о том как оформлять в файле php код и что относится к php коду.
почему Вы решили, что html код можно обрамлять php тегами?
почему в echo , где Вы выводите список авто, Вы закрывающую скобку цикла while окружили тегами(короткими!) php? а закрывать конструкцию echo кто будет? | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 13:17)
| | а как обрамлять html код? | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:37)
| | у Вас вообще есть какие то книги по php? | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 13:38)
| | есть одна,но в ней это не раскрыто | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:40)
| | что не раскрыто, что одна? читайте всё подряд...
обратите внимание на те ссылки, которые относятся к основам синтаксиса php | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:37)
| |
<h3>.::Авторынок::.</h3>
<br>
<center><a>Список автомобилей</a></center>
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
?>
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>". $buy ."</td>
</tr>"
}
</table>;
|
ошибка вот в этом фрагменте 100%,потому что пробовал его убрать ошибка не вылазеет,а где незнаю | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:39)
| | мало того, что не знаете, так ещё не внимательны и не желаете ни чего понять
смотрите на проблемный участок до полного прояснения в Вашей голове.
ошибка такая явная, что и писать не хочется.
читайте основы синтаксиса
Вы каким редактором пользуетесь, там есть подсветка кода?
Да же здесь, после написания сообщения, посмотрите внимательно на свой код | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 13:47)
| | посоветуйте редактор,а то я обычным блокнотом пользуюсь...Код должен весь подсвечиватся если он правильный? | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:53)
| |
<h3>.::Авторынок::.</h3>
<br>
<center><a>Список автомобилей</a></center>
<div id="tables">
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>". $buy ."</td>
?>
</tr>";
}
<?php
echo "</table></div>";
?>
|
| |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 13:55)
| | почти правильно... осталось ещё чуть- чуть
в качестве редактора я использую Notepad++ , хотя тут обсуждалась подобная тема, поищите, пробуйте разные редакторы, который Вам понравится, тем и пользуйтесь. | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 14:02)
| |
<center><a>Список автомобилей</a></center>
<div id="tables">
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>". $buy ."</td>
</tr>";
}
?>
</table></div>";
|
Заработало,спасибо большое | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:03)
| | правда жму на кнопку а вылазеет "ошибка",&query не выполняется | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:04)
| |
if(isset($_GET['buy']))
{
require('config.php');
$rep=mysql_query("SELECT * FROM 'avtorinok' WHERE 'id'='".intval($_POST['id'])."'");
$res=mysql_fetch_assoc($rep);
$kart=$res["kartinka"];
$expa=$res["cena"];
$rs="SELECT 'money' FROM 'tb_users' WHERE 'username'='".$user."'";
$rs=mysql_fetch_assoc($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("UPDATE 'tb_users' SET 'avtomobil'='$kart', 'money'='$money' WHERE 'user'='".$user."'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
|
Здесь чото не проходит(((,может с id чо то не так | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:04)
| | а вот теперь, конечно если у Вас выставлен уровень ошибок в E_ALL можно приступить к написанию обработчика...
для выявления ошибок запроса можно использовать функции mysql_errno() или mysql_error() или обе сразу.
читайте об этих функциях на страницах руководства по php
И ГДЕ ERROR_REPORTING(E_ALL); !!!
>может с id чо то не так
Конечно не так... | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 14:10)
| |
<?php
session_start();
error_reporting(E_ALL);
if(!(isset($_SESSION["username"]) && isset($_SESSION["password"])))
{
?>
<script type="text/javascript">
location.replace("login.php");
</script>
<noscript>
<meta http-equiv="refresh" content="0; url=login.php">
</noscript>
<?
exit();
}
include('header.php');
$user=$_SESSION["username"];
if(isset($_GET['buy']))
{
require('config.php');
$rep=mysql_query("SELECT * FROM 'avtorinok' WHERE 'id'='". $buy ."'");
$res=mysql_fetch_assoc($rep);
$kart=$res["kartinka"];
$expa=$res["cena"];
$rs="SELECT 'money' FROM 'tb_users' WHERE 'username'='".$user."'";
$rs=mysql_fetch_assoc($rs);
$money=$rs["money"]-$expa;
$query=mysql_query("UPDATE 'tb_users' SET 'avtomobil'='$kart', 'money'='$money' WHERE 'user'='".$user."'");
if($query) {echo "Авто куплен";}else{echo"ошибка";}
}else{
}
?>
<h3>.::Авторынок::.</h3>
<br>
<center><a>Список автомобилей</a></center>
<div id="tables">
<table cellspacing="0" cellpadding="0">
<tr>
<th align=center>Фото</th>
<th align=center>Название</th>
<th align=center>Цена</th>
<th> </th>
</tr>
<?php
require('config.php');
$res = mysql_query("SELECT * FROM avtorinok");
while ($row = mysql_fetch_assoc($res))
{
$buy = "<a href='?buy=".intval($row["id"])."'>купить авто</a>";
echo "
<tr>
<td align=center>". $row["kartinka"] ."</td>
<td align=center>". $row["nazvanie"] ."</td>
<td align=center>". $row["cena"] ."</td>
<td>". $buy ."</td>
</tr>";
}
?>
</table></div>";
<?php include('footer.php'); ?>
|
Erorr я поставил,ошибок нет,а куда можно поставить строки которые вы дали? | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:15)
| | >а куда можно поставить строки которые вы дали?
так тяжело перейти по ссылке, что я дал и прочитать ? или Вы предлагаете мне здесь перепечатывать полностью руководство? | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:15)
| |
$rep=mysql_query("SELECT * FROM 'avtorinok' WHERE 'id'='". $buy ."'");
|
тут ошибка,как мне правильно id выразить? Вот что выдало 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''avtorinok' WHERE 'id'=''' at line 1 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''avtorinok' WHERE 'id'=''' at line 1 ошибка | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:22)
| | Я Вам писал выше, что имена таблиц, полей этих таблиц надо брать в `обратные кавычки`, Вы же их заключили в прямые одинарные кавычки.
Что бы добраться до обратных кавычек, нажмите на клавиатуре(англ. разкладка) кнопку, которая находится над кнопкой TAB, на самой кнопки изображён знак ~ | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 14:27)
| | исправил,теперь вот чо пишет 1054: Unknown column '' in 'where clause' | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:30)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 14:32)
| | нет,просто я незнаю как мне взять id ссылки на которую нажали `id`=`...` что должно быть где многоточие? | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:35)
| | >что должно быть где многоточие?
должно быть id записи, а это id хранится в базе данных...
а вот то, что туда ни чего не подставляется, так это надо смотреть, что из базы пришло, какое значение подставилось в ссылку, потом, что пришло в массив $_GET и т.п.
и по поводу вот этого `id`=`...` , с самим id всё правильно, а разве я писал, что и данные в обратные кавычки? тут как раз наоборот....
посомотрите выше по теме | |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 14:44)
| | А как посмотреть что идёт в массив GET и что идёт из БД?
Поставил данные в ' ' теперь выдаёт 0:,значит ошибок нет? | |
|
|
|
|
|
|
|
для: leo58
(09.09.2010 в 14:50)
| | что бы посмотреть содержимое массива можно вывести его дамп. сделать это можно при помощи функции print_r();
тоже самое можно сделать и с массивом, в который помещается результат запроса к базе данных, в Вашем случае это массив $row
полезно ещё контролировать, что идёт в запрос, надо просто после формирования запроса выводить его в браузер
пример
<?php
$query = "SELECT * FROM `table` WHERE `id` = '".$id."'";
echo $query;
// совершаем запрос к базе
$a = mysql_query($query);
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(09.09.2010 в 15:59)
| | Спасибо огромное!!! Благодаря вашей помощи всё получилось, единственное хотел уточнить, а можно ссылку сделать скрытой для глаз пользователей?Обьясню зачем,при продаже авто,возвращаются деньги,так что если вставить ссылку в окно браузера и обновить,деньги опять возвратятся и так можно догнать баланс до неприличной суммы,поэтому нужно как то закрыть ссылку ,возможно ли это? Заранее спасибо!!! | |
|
|
|
|
|
|
|
для: Slo_Nik
(08.09.2010 в 13:44)
| | Кто-нибудь сможет помочь? | |
|
|
|
|
|
|
|
для: leo58
(08.09.2010 в 14:00)
| | Ребят кто в этом понимает помогите,очень надо!!! | |
|
|
|