Я пытаюсь выяснить, как правильно отправить форму через PHP:Правильный способ отправки формы с PHP/JavaScript
В части у меня есть два вопроса: 1 конкретно о сайте, что я работаю на , и другой о форме, представляющей в целом.
Вопрос 1. Я использую php в качестве шаблона для своего сайта. поэтому у меня есть одна index.php страница с колонтитулы и все мое содержание втягивается из функции PHP как так:
<article id="main">
<?php
$page = $_GET['page'];
if(empty($page)){
$page = 'home';
}
$page.='.php';
if(file_exists("pages/$page")) {
include("pages/$page");
} else {
echo "$page no exist";
}
?>
</article>
Это код, я использую для моей формы, и я использую его в головной метке моей страницы index.php:
<head>
<?php
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
</head>
и HTML-коде формы:?
<form method="post" action="index.php">
<legend>Contact Us</legend>
<fieldset>
<label>Name</label>
<input name="name" placeholder="Type Here">
<label>Email</label>
<input name="email" type="email" placeholder="Type Here">
<label>Message</label>
<textarea name="message" placeholder="Type Here"></textarea>
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
</fieldset>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
Когда я отправить форму он освежает и помещает мое эхо-сообщение в мою index.php страница = домашняя страница вместо моей index.php? page = co ntact. Как бы я получил эхо, чтобы остаться на одной странице формы? (Я попробовал изменить action = "" часть формы, но, похоже, не смог заставить ее работать).
Вопрос 2. В общем, когда я осматривая другие веб-страницы, чтобы увидеть их код формы я видел это везде:
try
{
for(var lastpass_iter=0; lastpass_iter < document.forms.length; lastpass_iter++)
{
var lastpass_f = document.forms[lastpass_iter];
if(typeof(lastpass_f.lpsubmitorig2)=="undefined")
{
lastpass_f.lpsubmitorig2 = lastpass_f.submit;
lastpass_f.submit = function(){
var form=this;
var customEvent = document.createEvent("Event");
customEvent.initEvent("lpCustomEvent", true, true);
var d = document.getElementById("hiddenlpsubmitdiv");
for(var i = 0; i < document.forms.length; i++)
{
if(document.forms[i]==form)
{
d.innerText=i;
}
}
d.dispatchEvent(customEvent);
form.lpsubmitorig2();
}
}
}
}
catch(e){}
Кто-нибудь знаком с выше код? И если да, существует ли общий сценарий для правильной подачи форм?
Спасибо!
Не могли бы вы просто использовать AJAX для отправки формы? – Shawn31313
Вопрос 2: Вы уверены, что у вас есть не просто lastpass, а расширение, которое автоматически вводится в поля формы? Я думаю, именно поэтому вы видите его повсюду. – brbcoding
У меня есть lastpass как расширение, я не понимал, что он бросает код на каждую страницу. Благодаря! – kknopper