Validación de campos en php

Hola experto, tengo el siguiente problema, le agregue una validación al siguiente script pero si le dejo la validación no me guarda los datos y si es al contrario se saca el saca la restricción pero aun así me guarda los datos, por favor podrías indicarme que estoy haciendo mal
gracias
<?
if (!isset(tiny_mce_markerSERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Acceso de Usuarios Acreditados"');
header('HTTP/1.0 401 Unauthorized');
echo 'acceso denegado';
}
$fich = file("passwords.txt");
$i=0; $validado=false;
while ($fich[$i] && !$validado)
{
$campo = explode("|",$fich[$i]);
if ((tiny_mce_markerSERVER['PHP_AUTH_USER']==$campo[0]) && (tiny_mce_markerSERVER['PHP_AUTH_PW']==chop($campo[1]))) $validado=true;
$i++;
}
if (!$validado) {
header('WWW-Authenticate: Basic realm="Acceso de Usuarios Acreditados"');
header('HTTP/1.0 401 Unauthorized');
echo 'acceso denegado';
exit;
}
?>
<?
function BuscarHD($PID, $es = 0){
$link = mysql_connect("localhost", "root", "");
mysql_selectdb("foro", $link);
$res = mysql_query("SELECT * FROM foro WHERE PID = '".$PID."'", $link);
$num = mysql_num_rows($res);
if (!$num) {mysql_free_result($res); return FALSE;}
for ($num--; $num >= 0; $num--){
$tam = $es * 30;
echo "<SPACER SIZE=".$tam.">\n";
if ($es > 0)
mysql_data_seek($res, $num);
$row = mysql_fetch_array($res);
//echo "<A HREF='verforo.php3?id=".$row["ID"]."'>".$row["texto"]."</A> - ".$row["nombre"]."<BR>\n";
//BuscarHD($row["ID"], $es + 1);
}
mysql_free_result($res);
return TRUE;
}
?>
<script language="javascript">
function valida_envia(){
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 0;
}
if (document.fvalida.puesto.value.length==0){
alert("Tiene que escribir su Puesto")
document.fvalida.puesto.focus()
return 0;
}
if (document.fvalida.texto.value.length==0){
alert("Ingrese a quien va dirigido el reporte?")
document.fvalida.texto.focus()
return 0;
}
if (document.fvalida.texto2.value.length==0){
alert("Ingrese su comentario")
document.fvalida.texto2.focus()
return 0;
}
//alert("Muchas gracias por enviar el formulario");
document.fvalida.submit();
}
</script>
<HTML>
<HEAD>
<TITLE> Envio de Quejas </TITLE>
</HEAD>
<BODY oncontextmenu="return false" onkeydown="return false TEXT="#000000" BGCOLOR="#C0D9D9" link="#000080">
<FONT FACE=Arial SIZE=2>
<P>
</font>
<script LANGUAGE="JavaScript">
var dt = new Date();
var hr = dt.getHours();
var msg = ((hr<12) ? "Buenos dias" :"Buenas Noches");
msg = ((hr>11)&&(hr<19) ? "Buenas Tardes" : msg);
msg=" "+msg+"!";
document.write(msg);
</script>
<?
echo "Bienvenido ";
echo $campo[0];
?>
<html>
<BODY TEXT="#000000" BGCOLOR="#C0D9D9">
<b style='font-size:15;color:#C0D9D9';>
___________________________________________________________________________________________
</html>
</b>
<span id="contenedor">
<script>
<!--
function mostrarclock(){
if (!document.all&&!document.getElementById)
return
thelement=document.getElementById? Document.getElementById("contenedor"): document.all.contendor
var Digital=new Date()
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
var dn="PM"
if (hours<12)
dn="AM"
if (hours>12)
hours=hours-12
if (hours==0)
hours=12
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
var ctime=hours+":"+minutes+":"+seconds+" "+dn
thelement.innerHTML="<b style='font-size:15;color:#000000;'>"+ctime+"</b>"
setTimeout("mostrarclock()",1000)
}
window.onload=mostrarclock
//-->
</script>
</span>
<br>
<?
BuscarHD(0);
echo date("d-m-Y");
?>
</TABLE>
<form name="fvalida"
<HR SIZE=10 WIDTH=75%>
<I><CENTER><H2><font color="#000080"> XXXXXXXXXXXXXX</H2></CENTER></I>
<I><CENTER><H2> Agregar nueva nota</H2></I></font>
<BR>
<BR>
<BR>
<FORM name="fvalida" ACTION="addforo.php3" METHOD=POST>
<INPUT TYPE="hidden" NAME="pid" VALUE="0">
Nombre: <INPUT TYPE="text" NAME="nombre"><BR>
<br>
Puesto:
<select name="puesto">
<option value="">Elegir
</select>
<?
$fecha = date ("d/m/y");
$campo[0];
?>
Reporte dirigido a :
<select name="texto">
<option value="">Elegir
<option value="Administracion">Administracion
<option value="Informatica">Informática
</select>
<br>
<br>
<br>
Texto: <BR><TEXTAREA NAME="texto2" ROWS=8 COLS=60></TEXTAREA><BR>
<td align="center"><input type="submit" value="Enviar" onclick="valida_envia()"></td>
<INPUT TYPE="reset" VALUE="Borrar">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</CENTER>
</BODY>
</FORM>
</HTML>

1 Respuesta

Respuesta
1
Supongo que la validación a la que te refieres es la que hay al principio según la variable $validado.
En ese caso, parece en principio correcto. Si no hay validación se retorna un error 401.
Dices que no te guarda los datos. ¿Qué es lo que ocurre? ¿Te devuelve el error 401?
¿O ocurre alguna otra cosa?
¿Qué servidor HTTP tienes activo? ¿Apache? ¿IIS? Puesto que estás utilizando PHP_AUTH_USER debería ser uno de estos dos, puesto que no es compatible con otros.
Otra cosa que me ha llamado la atención es que 'parece' que inicias dos veces el formulario "fvalida" y eso es incorrecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas