Hola amigos, que tal, les comento estoy haciendo un codigo que es el action de un formulario en donde el usuario introduce un par de cosas; y si introduce caracteres invalidos como &, <> se enumera el error.
La cuestion es la siguiente, al introducir esos caracteres salta el mensaje de error, pero si no se introducen, no puedo lograr que salte el mensaje de Datos guardados con exito.
Dejo el codigo para que vean que es lo que estoy haciendo mal:
update.php:
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es">
<head>
<?php
include('connect.php'); //incluimos el config.php que contiene los datos de la conexión a la db
$usuario=$_SESSION['usuario'];
$errcnt=0;
if(count($_POST)<>0) //IF SOME FORM WAS POSTED DO VALIDATION {
{
}
else
{
}
{
$errs[$errcnt]="Firstname must be provided";
$errcnt++;
}
elseif(preg_match ("/[;<>&]/", $_REQUEST["firstname"])) {
$errs[$errcnt]="Firstname can not have any special character (e.g. & ; < >)";
$errcnt++;
}
{
$errs[$errcnt]="Lastname must be provided";
$errcnt++;
}
elseif(preg_match ("/[;<>&]/", $_REQUEST["lastname"])) {
$errs[$errcnt]="Lastname can not have any special character (e.g. & ; < >)";
$errcnt++;
}
{
$errs[$errcnt]="Ocupacion debe ser completada";
$errcnt++;
}
elseif(preg_match ("/[;<>&]/", $_REQUEST["ocupacion"])) {
$errs[$errcnt]="Ocupacion no debe tener caracteres especiales (e.g. & ; < >)";
$errcnt++;
}
if($errcnt==0)
{
UPDATE members
SET firstname='".trim($firstname)."',lastname='".trim($lastname)."',ocupacion='$ocupacion' WHERE usuario='$_SESSION[usuario]' ");
}
{
$firstname=$_REQUEST["firstname"];
$lastname=$_REQUEST["lastname"];
$ocupacion=$_REQUEST["ocupacion"];
if ( $errcnt<>0 )
{
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>prueba</title>
</head>
<body>
<div id="prueba">
<tr>
<td colspan="2"><strong>No se pudo ejecutar el update debido a las siguientes razones</strong></td>
</tr>
<tr height="10">
<td colspan="2"></td>
</tr>
<?php
for ($i=0;$i<$errcnt;$i++)
{
?>
<tr valign="top">
<td width="6%"> <?php echo $i+1;?></td>
<td width="94%"><?php echo $errs[$i]; ?></td>
</tr>
<?php
}
?>
</table>
<?php
}
}
else {
echo '<span class="Estilo24">Datos Guardados con éxito</span>';
}
}
?>
</div>
</body>
</html>
Gracias