2013-05-15 8 views
0

PHP를 호출하는 HTML에 메일 폼이 있습니다. 제출을 클릭하면 PHP로 리디렉션되고 양식에 대한 다양한 경고가 표시됩니다.PHP로 리디렉션하지 않고 HTML 폼에서 PHP 실행

PHP로 리디렉션하지 않고 HTML에 경고를 표시하고 싶습니다. PHP에서 다시 리디렉션하려고했으나이 경우 경고가 표시되지 않았습니다.

나는 그렇게 할 수 없었다. 유사한 글을 읽을 수도 있지만 도움이되지는 않습니다.

아무도 도와 줄 수 있습니까?

HTML 형태 :

<?php 
function spamcheck($field) 
{ 
$field=filter_var($field, FILTER_SANITIZE_EMAIL); 
if(filter_var($field, FILTER_VALIDATE_EMAIL)) 
{ 
return TRUE; 
} 
else 
{ 
return FALSE; 
} 
} 
if (isset($_REQUEST['sender_email']) && !empty($_REQUEST['sender_name']) &&  
!empty($_REQUEST['subject']) && !empty($_REQUEST['message'])) 
{ 

$mailcheck = spamcheck($_REQUEST['sender_email']); 
if ($mailcheck==FALSE) 
{ 
echo "<script>alert('Lütfen geçerli bir e-posta adresi girin.')</script>"; 
// $URL="http://pantuff.com/testing/iletisim.html"; 
// header ("Location: $URL"); 
} 
else 
{//send email 
$sender_name = $_REQUEST['sender_name'] ; 
$sender_email = $_REQUEST['sender_email'] ; 
$subject = $_REQUEST['subject'] ; 
$message = $_REQUEST['message'] ; 
$headers = "From: ".$sender_name." <".$sender_email.">\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=utf-8\r\n"; 
mail("[email protected]", "$subject", "$message" . " " . "$sender_name", $headers); 
echo "<script>alert('Mesajınız alınmıştır. Teşekkür ederiz.')</script>"; 
// $URL="http://pantuff.com/testing/iletisim.html"; 
// header ("Location: $URL"); 
} 
} 
else 
{ 
echo "<script>alert('Lütfen tüm alanları doldurun.')</script>"; 
// $URL="http://pantuff.com/testing/iletisim.html"; 
// header ("Location: $URL"); 
} 
?> 

감사 : 여기

<form method="post" action="sendmail.php"> 
<input name="id" type="hidden" value="1775"> 
<table cellpadding="10px" border="0"> 
<tr> 
    <td align="right"><iletisimmetni>ad soyad :</iletisimmetni></td> 
    <td><input class="yuvarlak" name="sender_name" type="text"></td> 
</tr> 
<tr> 
    <td align="right"><iletisimmetni>e-posta :</iletisimmetni></td> 
    <td><input class="yuvarlak" name="sender_email" type="email"></td> 
</tr> 
<tr> 
    <td align="right"><iletisimmetni>konu :</iletisimmetni></td> 
    <td><input class="yuvarlak" name="subject" type="text"></td> 
</tr> 
<tr> 
    <td align="right" valign="top"><iletisimmetni>mesaj :</iletisimmetni></td> 
    <td><textarea class="yuvarlak" rows="10" cols="40" name="message" 
    onkeyup="textLimit(this, 250);"></textarea></td> 
</tr> 
<tr> 
    <td colspan="2" align="right"><input class="urunbutton" value="Gönder" name="send" 
    type="submit" id="send"></td> 
</tr> 
</table> 
</form> 

는 PHP입니다.

+2

AJAX를 사용하는 방법을 배워야합니다. – Barmar

+0

@Barmar : 그저. ''는 HTML5의 일부입니까? –

+0

js에서 자신의 태그를 선언 할 수는 있지만 자연스럽게 유효한 것만 사용하는 것이 더 나을 것입니다. –

답변

0

여기서 생각한 것 (그리고 일반적인 관행은 PHP 코드에 HTML 코드를 삽입하는 것입니다.

<?php ?> 태그 외부에 HTML 코드가있는 것은 완전히 유효합니다.

는 예를 들어, 당신은 같은 하나의 파일 sendmail.php 보면 뭔가 것 :

<?php 

if(isset($_POST['id'])) 
{ 
    // checks and alerts 
    // ... 
} 

?> 

<form method="post" action="sendmail.php"> 
<input name="id" type="hidden" value="1775"> 
<table cellpadding="10px" border="0"> 
<!-- ... --> 
</form> 

을 그리고 당신의 클라이언트는 sendmail.php에 URL을 통해에서 액세스 할 것입니다.

1

양식을 전송하기 전에 유효성을 검사하는 것처럼 보입니다. 실제로 양식을 제출하기 전에 클라이언트 측에서이를 수행하려면 javascript를 사용할 수 있습니다. jQuery를 사용하면 시간을 절약 할 수 플러그인이 있습니다

<form method="post" action=""> 

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

1

변화 코드를 다음 동일한 HTML 페이지에서의 PHP 코드를 작성합니다.

양식 유효성 확인을 위해 Javascript 코드를 같은 페이지에 사용하십시오.

0

당신은

<?php 
    //php code in here 
?> 
<form action="index.php"> 
    <input type=text /> 
    <!-- html code in here --> 
</form> 

우리가 PHP 파일을 액세스 할 때, PHP는 서버에서 실행됩니다 index.php를 하나의 파일 예로 결합 할 수 있습니다. HTML과 자바 스크립트는 브라우저에서 읽을 수 있습니다. 리디렉션 할 때 서버에서 브라우저에 다른 페이지를 제공하기 때문에 스크립트를 브라우저에서 읽을 수 없습니다.

관련 문제