управление должно перейти в другую программу при выходе из оператора if с использованием php - PullRequest
4 голосов
/ 08 декабря 2011

У меня есть 2 программы welcome.php и form.jsp. я пытаюсь вставить значения в базу данных SQL с помощью odbc через форму пользователя. Я создал пользовательскую форму, используя form.jsp. вставка строк с использованием welcome.php. во время вставки я не вставляю повторяющиеся значения, поэтому проверяю условия в цикле while. когда оператор if работает, он полностью выходит из программы благодаря оператору exit (). после выполнения выхода получаю пустую страницу. но мне нужно вернуться к пользовательской форме, или элемент управления должен перейти к form.jsp, так что я снова должен получить пользовательскую форму для ввода информации без предоставления пустой страницы. Как я могу это сделать?

        $query1="select * from company";
        $result1 = odbc_exec($connect, $query1);

         while(odbc_fetch_row($result1)){
         $compname[$index] = odbc_result($result1, 1);
         $empname[$index] = odbc_result($result1, 2);

        if($compname[$index]==$_POST['cname'])
        {
       echo "<script> alert(\"compname Exists\") </script>";
       exit();
       //exit("<script> alert(\"compname Exists\") </script>");
       }
       if($empname[$index]==$_POST['ename'])
       {
      echo "<script> alert(\"empname Exists\") </script>";
      exit();
     }
     }
     $query=("INSERT INTO dbo.urllink(cname,ename) VALUES ('$_POST[cname]','$_POST[ename]') ");
     $result = odbc_exec($connect, $query);
    echo "<script> alert(\"Row Inserted\") </script>";

 ?>

Ответы [ 3 ]

1 голос
/ 08 декабря 2011

Использование exit() останавливает обработку программы. Чтобы отправить пользователя на другую страницу из PHP, вы можете использовать функцию header() с параметром 'Location:':

header('Location: form.jsp');

Обратите внимание, что вы не можете выводить информацию (например, используя echo), а затем использовать функцию header. Весь вывод должен быть сделан на странице, на которую вы их отправляете.

Если вы хотите передать информацию, например, если отправленное поле существует, вы можете отправить его, используя параметр строки запроса, например:

header('Location: form.jsp?error=abc');

Ваша страница JSP будет отображать ошибку в зависимости от значения abc.

Кроме того, вы можете использовать сеансы для передачи более сложной информации на другую страницу. Вы можете найти больше информации о сессиях здесь .

1 голос
/ 08 декабря 2011

Вы можете использовать буферизацию вывода и функцию заголовка.

ob_start();
... many lines of code ...
header("Location: reload.php");
0 голосов
/ 08 декабря 2011

Вы также можете использовать javascript для этого.

window.location = "your location path where you want to redirect";

                     OR

window.location.href = "your location path where you want to redirect";

Я думаю, это также может быть полезным для вас.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...