MySQL, PHP - Справка по формам

Привет,

У меня есть следующий код

          <?       
        include("conn.php");
        $sn=$_GET["sn"];
        $sql = "select * from kpi where no='$sn'";

        $result=mysql_query($sql,$connection) or die(mysql_error());
        while($row=mysql_fetch_array($result)) {
            $sn=$row['id'];
            $no=$row['no'];
            $pdetails=$row['pdetails'];
            $kpistatus=$row['kpistatus'];
            $status=$row['status'];
            $cols=$row['cols'];
            $rows=$row['rows'];
        }
    ?>

    <form name = "form1" method = "post" action = "formsubmit.php?mode=addtable">
        <table width = "100%" border = "1" align = "center" cellpadding = "2" cellspacing = "2">
          <tr>
            <td colspan = "2"><strong>Add Table</strong></td>
               </td>
          </tr>
          <tr>
            <td>NO</td>
            <td><input name = "no" type = "text" id = "no" value = "<? echo $no; ?>"></td>
          </tr>
          <tr>
            <td>PROJECT DETAILS</td>
            <td><textarea name = "pdetails" rows = "10" cols = "100"><? echo $pdetails; ?></textarea></td>
          </tr>
                        <tr>
            <td>KPISTATUS</td>
            <td>
            <?
            echo "<table border=\"1\" align=\"left\">\n";
            $j=0;
            while ($j < $rows) 
            {
            echo "<tr>\n";
            $i=0;
            while ($i < $cols) 
            {
            ?>
            <td><input type = "text" name = "kpistatus" id = "kpistatus"></td>
            <?
            $i++;
            }       
            echo "</tr>\n";
            $j++;
            }
            echo "</table>\n";
            ?>
            </td>
            </tr>
            <tr>
            <td>STATUS</td>
            <td><textarea name = "status" rows = "10" cols = "100"><? echo $status; ?></textarea></td>
          </tr>
          <tr>
            <td colspan = "2"><input type = "submit" name = "Submit" value = "ADD TABLE"></td>
          </tr>
        </table>
      </form>
        elseif ($mode= = "addtable") {
        $no=$_POST["no"];
        $pdetails=$_POST["pdetails"];
        $kpistatus=$_POST["kpistatus"];
        $status=$_POST["status"];
        $sn=$_POST["id"];
        $sql = "update kpi set pdetails='$pdetails',kpistatus='$kpistatus',status='$status' where no='$no'";
        //echo $sql;
        $result=mysql_query($sql,$connection) or die(mysql_error());
        //header("location: index.php");
      }
      ?>

Скриншот формы: http://img395.imageshack.us/my.php?image=1226818203913yi6.png

Пользователи могут ввести, сколько строк и столбцов им нужно для вставки данных. На скриншоте мои строки - 10, а столбец - 5.

Теперь, когда я застрял, как я могу убедиться, что все введенные данные в <input type = "text" name = "kpistatus" id = "kpistatus"> сохранить в таблице kpistatus mysql ..

Помогите мне, пожалуйста.

Спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
271
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы поместите квадратные скобки в имя input, php автоматически превратит их в массив для вас в массиве сообщений. Затем вы можете просто выполнить итерацию и сохранить их по мере необходимости. В вашей форме вы бы поместили

<input type = "text" name = "kpistatus[]" id = "kpistatus">

(Обратите внимание на добавление двух скобок).

Затем в коде обработки формы у вас будет $_POST['kpistatus'] в виде массива. Вы можете использовать функцию PHP implode, чтобы превратить это в список, разделенный запятыми, выполнив что-то вроде implode(',', $_POST['kpistatus'].

Небольшое примечание:

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

Представьте, что произошло бы, если бы кто-нибудь заключил в строку статуса одинарную кавычку. В лучшем случае это вызовет ошибку, в худшем они могут перезаписать или стереть ваши данные.

Извините, если это очевидно для вас, но я просто хочу не забыть об этом.

Другие вопросы по теме