Есть проблема с реализацией PHP с HTML, неообходимо, чтобы сайт оставался написанным на HTML и обработчик PHP был отдельным файлом?

<?php
    require_once("dbconnect.php");

    if(isset($_POST["r_name"])){ $r_name = $_POST["r_name"]; }
    if(isset($_POST["r_username"])){ $r_username = $_POST["r_username"]; }
    if(isset($_POST["r_password"])){ $r_password = md5($_POST["r_password"]); }
    if(isset($_POST["r_send"])){ $r_send = $_POST["r_send"]; }

    if(isset($r_send)){

        $query = " INSERT INTO users (name,username,password) VALUES ('$r_name','$r_username','$r_password')";
        $result = mysql_query($query) or die ( "Error : ".mysql_error() );

        if($result){
            echo 'Регистрация прошла успешно! <a href="index.php">Перейти на главную страницу.</a> ';
            exit();
        }
    }else{
        echo 'Вы зашли на эту страницу напрямую, поэтому нет данных для обработки. Вы можете перейти на <a href="index.php"> главную страницу </a>';
    }
?>


Да, обработчик скопировал, признаю, но есть ли возможность заменить index.php в коде, на index.html?
  • Вопрос задан
  • 218 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Переименуйте index.php в index.html, а обработчик вынесите в файл user.php и затем, пишите в форме в html-файле:
<form action="user.php" method="POST">
Ответ написан
Комментировать
@fomenko_alexandr
А если не передан какой-то из POST-параметров, то что добавляем?
И почитайте про sql-инъекции

Можно делать так, только что набросал. Можно добавлять код php внутри html, и это нормально:

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
  if(!empty($_POST['r_name'])) {
    $r_username = $_POST['r_username']
  } else {
    $error[] = 'Заполните имя';
  }

  if(!empty($_POST['r_username'])) {
    $r_username = $_POST['r_username']
  } else {
    $error[] = 'Заполните логин';
  }

  if(!empty($_POST['r_username'])) {
    $r_username = $_POST['r_password']
  } else {
    $error[] = 'Заполните пароль';
  }

  if(empty($error)) {
    $result = mysql_query(...);
  }
}
?>

<!DOCTYPE>
<body>
<?php if(!empty($error)): ?>
  <ul>
  <?php foreach($error as $value): ?>
    <li>Ошибка - <?=$value?>
  <?php endforeach ?>
  </ul>
<?php endif ?>

<?php if($result): ?>
  успешно зпрегистрировались, всё хорошо
<?php else: ?>
  <form...>
<?php endif ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы