За последние 24 часа нас посетили 21758 программистов и 1689 роботов. Сейчас ищет 1941 программист ...

не работает цикл if

Тема в разделе "Прочие вопросы по PHP", создана пользователем literator, 6 мар 2013.

  1. literator

    literator Активный пользователь

    С нами с:
    29 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    <?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, а как переменную?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты бы не по памяти писал, а прямо из кода копировал, может че и понятно стало бы.
     
  3. literator

    literator Активный пользователь

    С нами с:
    29 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    <? 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>
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    В одинарных кавычках переменная не подставится

    Добавлено спустя 27 секунд:
    Работай не в блокноте. Тогда сразу увидишь.
     
  5. literator

    literator Активный пользователь

    С нами с:
    29 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    тут я уже экспериментировал над оператором, проверяя переменную на пустое значение. но ничего не вышло

    Добавлено спустя 1 минуту 15 секунд:
    я уже и в двойных пробовал. все одно

    Добавлено спустя 1 минуту 13 секунд:
    работаю не в блокноте. а в adobe dreamweaver

    Добавлено спустя 3 минуты 33 секунды:
    твою мать... у меня ж разные переменные!!! я только увидел. Простите. Зарапортавался. Только вот с кавычками ничего не выходит
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    А, точно
     
  7. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    так и должно быть или там всё-таки операция сравнения?
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    о, ещё косяк нашелся =)
     
  9. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Цикл if? :D
     
  10. Priler

    Priler Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    171
    Симпатии:
    0
    Адрес:
    New-York
    Название темы убило - цикл if....
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Это нормально (правда в этом случае переменная пере-определится или определится если не существует, это не сравнение это присваивание):
    Не работает:
    Код (PHP):
    1. if($newspost='') {
    2.     echo'Работает';
    3. } else {
    4.     echo'Не работает';
    5. }
    Работает:
    Код (PHP):
    1. if($newspost='string') {
    2.     echo'Работает';
    3. } else {
    4.     echo'Не работает';
    5. }
    Но почему цикл if? Что требовалось в задаче, не понятно.