<?php if (isset($newspost)) { mysql_query("INSERT INTO "название таблицы" ("название строки") VALUES ('$newspost')"); } ?> Собственно переменная $newpost выставляется с помощью оператора input и приходит на эту же страницу. Дальше делаю проверку существования сей переменной. И ежели такая существует(а она существует, приходит- проверял), то (по логике оператора if) должен заносить в базу данных эту переменную. Так вот. Проблемы две - первая. По такой логики ничего не заноситься в базу, но ежели так: <?php if (isset($newspost)) { "какое-то условие" } else { mysql_query("INSERT INTO "название таблицы" ("название строки") VALUES ('$newspost')"); } ?> то все работает. в базу все заноситься. Где логика?! И второй вопрос - как тут поступить:mysql_query("INSERT INTO "название таблицы" ("название строки") VALUES ('$newspost')"); ? А именно в этой части -('$newspost'). Как сказать браузеру, чтобы он понимал это не как текст $newspost, а как переменную?
<? session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>База данных</title> </head> <body> <?php $newpost=$_POST['newpost']; $p=2; $c=na; $basdan=mysql_connect("localhost","root",""); mysql_query ("set character_set_client='utf8'", $basdan); mysql_query ("set character_set_results='utf8'", $basdan); mysql_query ("set collation_cоnnectiоn='utf8_general_ci'", $basdan); mysql_select_db("basdan", $basdan); $result = mysql_query("SELECT * FROM postavshchiki", $basdan); $myrow= mysql_fetch_array($result); echo "1".$myrow['pos']."<br>"; for($myrow['pos'],$p; $myrow= mysql_fetch_array($result); $p++ ) { echo $myrow['pos']."<br>"; ${$c.$p}=$myrow['pos']; echo ${$c.$p}."<br>"; } ?> <div> <form action="basdan.php" method="post" name="form1"> <input name="newpost" type="text" size="30" maxlength="20" /> <input name="otprav" type="submit" value="Занести нового поставщика" /> </form> </div> <?php if ($newspost = "") { echo "dd"; } else { mysql_query('INSERT INTO postavshchiki(pos) VALUES ("$newspost")'); } unset($newspost); ?> </body> </html>
В одинарных кавычках переменная не подставится Добавлено спустя 27 секунд: Работай не в блокноте. Тогда сразу увидишь.
тут я уже экспериментировал над оператором, проверяя переменную на пустое значение. но ничего не вышло Добавлено спустя 1 минуту 15 секунд: я уже и в двойных пробовал. все одно Добавлено спустя 1 минуту 13 секунд: работаю не в блокноте. а в adobe dreamweaver Добавлено спустя 3 минуты 33 секунды: твою мать... у меня ж разные переменные!!! я только увидел. Простите. Зарапортавался. Только вот с кавычками ничего не выходит
Это нормально (правда в этом случае переменная пере-определится или определится если не существует, это не сравнение это присваивание): Не работает: Код (PHP): if($newspost='') { echo'Работает'; } else { echo'Не работает'; } Работает: Код (PHP): if($newspost='string') { echo'Работает'; } else { echo'Не работает'; } Но почему цикл if? Что требовалось в задаче, не понятно.