Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][JavaScript][PHP]Wysyłanie formularza
ZhLeliwa
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.06.2012
Skąd: Polska

Ostrzeżenie: (0%)
-----


Witam wszystkich...
a szczególnie Ekspertów mogących poradzić sobie z pewną drobnostką dotyczącą wysyłania formularza.
Zaznaczam że jako całkowicie! "zielony" w sprawach php problem o którym chcą wspomnieć jest dla mnie zupełnie nie do przeskoczenia.
Otóż mam taki skrypt formularza z walidacją 3 pól i captcha. Poniżej ten formularz i walidacja.

CODE
<?php session_start();

if(isset($_REQUEST['Submit']))
{
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$comment = $_REQUEST['comment'];


// code for check server side validation
if(empty($_SESSION['6_letters_code'] ) ||
strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
{

//Note: the captcha code is compasuperscript-red case insensitively.
//if you want case sensitive match, update the check above to
// strcmp()


print("<script language='javascript'>alert('error: The Validation code does not match!'); location.href='contact-form.php';</script>");
}else{

?>
<table width="100%" border="0" summary="" align="center" cellpadding="3" cellspacing="2" class="blue1">
<tr class="blue3">
<td align="left">Thank you for contacting, we will get back to you within 24 hours or next working day.. </td>
</tr>
<tr class="blue3">
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><input type="button" value="Exit" onclick="window.close()"></td>
</tr>
</table>
<?php }}?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Contact</title>
<link href="default.css" rel="stylesheet" type="text/css" >
<script type="text/JavaScript">

//tutaj walidacja formularza w javascript


</head>
<body>
<table width="600" border="0" align="center" summary="z formularzem" cellpadding="0" cellspacing="0" style="text-align:left;">
<tr><td>
<form action="" method="post" name="form1" id="form1" onsubmit="return validate();">
<tr>
<td>
<table width="100%" border="2" align="center" cellpadding="3" cellspacing="2" class="blue3" summary="tabela ogolna"><!--/td--><!--/tr-->
<tr>
<td width="31%" class="simplegraytable">Name : </td>
<td width="69%" class="simplegraytable"><input name="name" type="text" class="input2" id="name"><span class="style9">*</span></td>
</tr>
<tr>
<td width="31%" class="simplegraytable">Email : </td>
<td width="69%" class="simplegraytable"><input name="email" type="text" class="input2" id="email"><span class="style9">*</span></td>
</tr>
<tr>
<td width="31%" valign="top" class="simplegraytable">Your Message : </td>
<td width="69%" class="simplegraytable"><textarea name="comment" cols="30" rows="10" class="textarea" style="background-image:url(images/mail.jpg); background-position:center; background-repeat:no-repeat;"></textarea><span class="style9">*</span></td>
</tr>
<tr>
<td valign="top" class="simplegraytable"><span class="style9">*</span> Validation code:</td>
<td class="simplegraytable"><img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id='captchaimg' alt=""><br>
<label for='message'>Enter the code above here :</label>
<br>
<input id="6_letters_code" name="6_letters_code" type="text">
<br>
<small>Can't read the image? click <a href='java script:refreshCaptcha();'>here</a> to refresh</small>
</td>
</tr>
<tr>
<td width="31%" class="simplegraytable">&nbsp;</td>
<td width="69%" class="simplegraytable"><input name="Submit" type="submit" onclick="return validate();" value="Submit"></td>
<!--/td--></tr>
</table>
<div align="center"></div>
<div align="center"></div>
<div align="center"></div></td>
</form><!-- /td -->
</tr>
</td></tr>
</table>

<script language='JavaScript' type='text/javascript'>
function refreshCaptcha()
{
var img = document.images['captchaimg'];
img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}
</script>
<noscript>
Java script not enabled.
</noscript>
</body>
</html>


W trakcie walidacji kodu całej strony przy pomocy mozillowskiej Tidy wyskakuje jednak mi błędne umieszczenie skryptu JavaScript który wyprintowywuje komunikat w przypadku błędnego wpisania captcha, lub wyświetlenie komunikatu o wysłanym mailu. Wyświetla się to w tym miejscu (w trakcie walidacji Tidą)

CODE

<p>działa</p> <div style="margin-top:200px; margin-left:30px;">
<table width="100%" summary="komunikat" align="center" cellpadding="3" cellspacing="2" class="blue1">
<tr class="blue3">
<td><br></td>
</tr>
<tr class="blue3">
<td align="left"><span class="cz">Thank you for contacting, we will get back to you within 24 hours or next working day.</span></td>
</tr>
</table></div>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">



Jak umieścić komunikat o wysłaniu (lub nie wysłaniu) maila powyżej tabeli / summary="z formularzem"/ albo w pop-upie albo w divie?
Dopasowałem na teraz miejsce wyświetlania się komunikatu na stronie przy pomocy div-a, ALE sam błąd kodu walidacji się nie zmienił.
Czy mógłbym poprosić o pomoc?
Spokojnego dnia
Zdz

Ten post edytował ZhLeliwa 13.06.2012, 11:10:40
Go to the top of the page
+Quote Post
czachor
post
Post #2





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nigdy przenigdy nie drukuj nic przed <!DOCTYPE HTML PUBLIC - ani jednej pojedynczej spacji. Treść wrzucasz zawsze między <body></body>. To usunie błąd walidacji.


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
ZhLeliwa
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.06.2012
Skąd: Polska

Ostrzeżenie: (0%)
-----


Cytat(czachor @ 13.06.2012, 12:59:31 ) *
Nigdy przenigdy nie drukuj nic przed <!DOCTYPE HTML PUBLIC - ani jednej pojedynczej spacji. Treść wrzucasz zawsze między <body></body>. To usunie błąd walidacji.


Dzień dobry czachor
Piszesz że nie printować nic przed <!DOCTYPE HTML PUBLIC . We fragmencie kodu jaki dałem w pierwsym poście printowanie komunuikatu złego wpisania captchy jest zadeklarowane podczas walidacji. Więc jak to ożenić? Skrypt chodzi, tylko ta walidacja.
Czy przez to rozumieć że tę tabelę z komunikatem wstawić mam gdzie piszesz questionmark.gif Jeżeli tak, to jak i w jakim miejscu podstawowego kodu questionmark.gif questionmark.gif
Uściślij proszę.

Ten post edytował ZhLeliwa 14.06.2012, 08:28:07
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:47