fill in inputs control (part II) PHP + JavaScript
| From: | Aniceto Lopez | Date: | Tue, 17 Jul 2001 11:53:57 +0000 |
| Subject: | fill in inputs control (part II) PHP + JavaScript | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-58259@lists.php.net to get a copy of this message | ||
Hello again:
some one told me to control the "input" and "text areas" right filling in
from a form using java script and this is what I'm trying but problems
appear.
Options:
the javascript is doing it's work but nothing is inserted in the db if using
<input OnClick="envia();" type="button" name="submit_opina"
value="opina">
the javascript checks (only) the filling in of the first input and after
this the form is
submited without more checking, empty fields are submited
<input OnClick="envia();" type="submit" name="submit_opina"
value="opina">
some help please?
thanks in advance
Ani López
http://www.lamundial.net
Visit us, download and spread our music
------ opinion.php file -------
<html>
<head>
<title>PHP + JavaScript fill in inputs control</title>
<script language="javascript" type="text/javascript">
function envia(){
if (document.opina.name_in.value.length < 1){
window.alert('Write your name');
} else if (document.opina.email_in.value == "" ||
document.opina.email_in.value.indexOf('@', 0) == -1){
window.alert('Write your email');
} else if (document.opina.text_in.value.length < 1){
window.alert('Your opinion please');
} else {
document.opina.submit();
}
}
</script>
</head>
<body bgcolor="#FFFFFF">
<!-- db conexion -->
<?php $dbcnx = @mysql_connect ("localhost", "xxxxx", "xxxxxx");
mysql_select_db ("xxxxxxxx", $dbcnx); ?>
<!-- Insert to db opinion form -->
<form name="opina" action="<?php echo($PHP_SELF); ?>"
method="POST">
<table border="0">
<tr>
<td>
name <input size="26" name="name_in"><br>
email <input size="28" name="email_in"><br>
text <br><textarea name="text_in" rows="4"
cols="65"></textarea><br>
<input OnClick="envia();" type="button" name="submit_opina"
value="opina">
</td>
</tr>
</table>
</form>
<?php
if ("opina" == $submit_opina) {
$sql = "INSERT INTO opinion SET " . "nombre = '$nombre_in', " .
"email =
'$email_in', " . "texto = '$texto_in', " . "fecha =
CURDATE()";
mysql_query($sql);
}
?>
<!-- select, show opinions and db conexion closing-->
<?php
$result = mysql_query("SELECT nombre, email, texto, fecha FROM opinion
ORDER BY fecha DESC");
while ( $row = mysql_fetch_array($result) ) {
$nombre_db = $row["nombre"];+
$email_db = $row["email"];
$texto_db = $row["texto"];
$fecha_db = $row["fecha"];
echo(
"<table width='550' border='0' cellspacing='0'
cellpadding='7'>
<tr>
<td><a href='mailto:$email_db'
class='enlace'><b>$nombre_db</b></a></td>
<td><span class='txt_p'>$fecha_db</span></td>
</tr>
<tr>
<td colspan='2'><p align='justify'>$texto_db</p></td>
</tr>
</table>
<br>");
}
$dbdecnx = mysql_close ($dbcnx);
?>
</body>
</html>