ФорумПрограммированиеPHP для идиотов → Submit

Submit

  • 27MHz

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 1 сентября 2008 г. 11:16

    Привет. У меня такой вопрос. Есть форма, в ней поля для ввода данных. При нажатии Submit, данные из полей записываются в БД и возвращаются в ту же форму. Как сделать, чтобы при нажатии Submit, эта кнопка стала недоступной? Делаю так:

    <?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    вставляю данные в БД(тут всё ок)
    $frmFirstClick = "document.frmFirst.fsubmit.disabled = true";
    }
    потом в форме
    <P><input type="submit" name="fsubmit" onclick ="<?= $frmFirstClick ?>" value="<?= $kno ?>">
    ?>

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

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 1 сентября 2008 г. 11:21, спустя 5 минут 1 секунду

    <input type="submit" name="fsubmit"  onclick ="this.disabled=true" value="<?= $kno ?>">

  • 27MHz

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 1 сентября 2008 г. 12:52, спустя 1 час 30 минут 39 секунд


    <input type="submit" name="fsubmit"  onclick ="this.disabled=true" value="<?= $kno ?>">




    Так кнопка стаёт неактивной, но данные в базу не пишутся((((
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 1 сентября 2008 г. 13:03, спустя 11 минут 13 секунд

    27MHz,
    Я в душе не ебу почему они не пишутся. Покажи код. Поставь в начале скрипта error_reporting(E_ALL); и покажи ошибки…
  • 27MHz

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 1 сентября 2008 г. 13:12, спустя 9 минут 31 секунду


    27MHz,
    Я в душе не ебу почему они не пишутся. Покажи код. Поставь в начале скрипта error_reporting(E_ALL); и покажи ошибки…


    <?php
    require_once ($_SERVER['DOCUMENT_ROOT'].'/bzd/bd.php');
    @mysql_connect($dbHost,$dbUser,$dbPass) or die("Ошибка при подключении к БД!");
    @mysql_select_db($dbName) or die("Can not connect…");
    $kno = "Начать первый тур";
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $player1 = ($_POST['fplayer1']);
    $player2 = ($_POST['fplayer2']);
    $query = @mysql_query("INSERT INTO raspisanie (rid, rplayer1, rplayer2)
    VALUES (0,'$player1','$player2')");
    $kno = "Идёт первый тур";
    $frmFirstClick = "document.frmFirst.fsubmit.disabled = true";
    @mysql_close();
    }

    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <HTML>
    <HEAD>
    <link href= "oform.css" rel="stylesheet" type="text/css">
    </HEAD>
    <BODY>
    <form method="post" name="frmFirst" action= "<?= $_SERVER['PHP_SELF'] ?>">
    <a>Игрок1</a><input type="text" name="fplayer1" value= "<?= $player1 ?>">
    <P><a>Игрок2</a><input type="text" name="fplayer2" value= "<?= $player2 ?>">
    <P><input type="submit" name="fsubmit" onclick ="="<?= $frmFirstClick ?>" value="<?= $kno ?>">
    </form>
    </BODY>
    </HTML>
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 1 сентября 2008 г. 13:14, спустя 2 минуты 8 секунд

    Всеx собак нахуй убери. Вставь в начале скрипта error_reporting(E_ALL); и ПОКАЖИ мне ошибки.
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 1 сентября 2008 г. 13:16, спустя 1 минуту 49 секунд

    27MHz, ты не evrlen случайно?
  • 27MHz

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 1 сентября 2008 г. 13:21, спустя 4 минуты 17 секунд


    Всеx собак нахуй убери. Вставь в начале скрипта error_reporting(E_ALL); и ПОКАЖИ мне ошибки.


    В полях формы, такая хрень:
    <!–error–><br /><b>Notice</b>:  Undefined variable: player1 in <b>Z:\home\localhost\www\rassadka.php</b> on line <b>30</b><br /><script language=JavaScript src='/denwer/errors/phperror_js.php'></script>
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 1 сентября 2008 г. 13:23, спустя 2 минуты 55 секунд

    <?php
    $player1 = '';

    $player2 = '';

    require_once $_SERVER['DOCUMENT_ROOT'] . '/bzd/bd.php';

    mysql_connect($dbHost, $dbUser, $dbPass) or die('Ошибка при подключении к БД!');

    mysql_select_db($dbName) or die('Can not connect…');

    $kno = 'Начать первый тур';

    if (isset($_POST['fplayer1']) && isset($_POST['fplayer2']))
    {
       $player1 = $_POST['fplayer1'];
       $player2 = $_POST['fplayer2'];
       $query = mysql_query("INSERT INTO raspisanie (rid, rplayer1, rplayer2)
       VALUES (0,'$player1','$player2')"); // SQL-injection!!! Мне похуй.
       $kno = 'Идёт первый тур';
       mysql_close();
    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <HTML>
    <HEAD>
    <link href= "oform.css" rel="stylesheet" type="text/css">
    </HEAD>
    <BODY>
    <form method="post">
    <a>Игрок1</a><input type="text" name="fplayer1" value="<?= $player1 ?>">
    <P><a>Игрок2</a><input type="text" name="fplayer2" value="<?= $player2 ?>">
    <P><input type="submit" name="fsubmit" onclick="this.disabled=true" value="<?= $kno ?>">
    </form>
    </BODY>
    </HTML>


    Попробуй…
  • 27MHz

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 1 сентября 2008 г. 13:29, спустя 5 минут 40 секунд

    терь в полях и в кнопке такие вещи > Исправил
    Но в базу не пишет.
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 1 сентября 2008 г. 13:33, спустя 3 минуты 53 секунды

    aivee, ты первый раз правильно сказал, почти


    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <HTML>
    <HEAD>
    <link href= "oform.css" rel="stylesheet" type="text/css">
    </HEAD>
    <BODY>
    <form method="post" onsubmit="function(){document.getElementById('fsubmit').disabled=true}">
    <a>Игрок1</a><input type="text" name="fplayer1" value="><?= $player1 ?>">
    <P><a>Игрок2</a><input type="text" name="fplayer2" value="><?= $player2 ?>">
    <P><input type="submit" name="fsubmit" id="fsubmit" value="><?= $kno ?>">
    </form>
    </BODY>
    </HTML>
  • 27MHz

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 1 сентября 2008 г. 13:40, спустя 6 минут 50 секунд

    g

    aivee, ты первый раз правильно сказал, почти


    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <HTML>
    <HEAD>
    <link href= "oform.css" rel="stylesheet" type="text/css">
    </HEAD>
    <BODY>
    <form method="post" onsubmit="function(){document.getElementById('fsubmit').disabled=true}">
    <a>Игрок1</a><input type="text" name="fplayer1" value="><?= $player1 ?>">
    <P><a>Игрок2</a><input type="text" name="fplayer2" value="><?= $player2 ?>">
    <P><input type="submit" name="fsubmit" id="fsubmit" value="><?= $kno ?>">
    </form>
    </BODY>
    </HTML>


    Пишет в базу, но кнопка активна. При повторном нажатии повторно пишет в базу.
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 1 сентября 2008 г. 13:54, спустя 14 минут 11 секунд

    aivee, я за мат щас наказывать буду
    все умрут, а я изумруд
  • 27MHz

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 1 сентября 2008 г. 14:10, спустя 16 минут 10 секунд

    aivee, Ничего нельзя придумать?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 1 сентября 2008 г. 14:17, спустя 6 минут 23 секунды

    md5, дык ты сам к такому стилю приучаешь ;)
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!