Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2011, 14:27
Avatar de sulacok2
sulacok2
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Pregunta Problema al comparar dos variables dentro de un bucle

Muy buenas estoy intentando comparar dos variables dentro de un bucle y no lo consigo, ya publique antes este mensaje pero nadie me respondió y les pido ayuda porque ya no se donde mas mirar y no os exagero si les digo que con este tema llevo unos meses arrastrándolo, si son tan amables de echarme una mano de verdad que os lo agradecería, en fin, en “for” o “while” no me importa en los dos casos me sucede lo mismo, me explico.
En los dos casos “los dos por separado” antes se recibe una variable de otra pagina “$clave” esta variable se la pasamos a la función pasando el valor a una variable “$contr=strlen($clave)” y luego se analiza con “if($contr >5)”, se mira si es mayor de 5 caracteres, si lo es se abre un archivo de texto con “fopen()” y se entra en el bucle para leerlo con “fgets()”, cada vez que se lee una línea esta se compara con otro “if($linea==$clave)” para ver si es igual que la variable enviada por la otra pagina, esa que antes se analizo para ver cuantos caracteres tenia, pero el bucle sigue hasta el final y no entra aun las dos coincidan, vale ya lo explique ahora les dejo el código para que lo vean y haber si pueden ayudarme.

“$clave” es la variable que se envía desde otra página y el código empieza así:
<form action="ContPassw.php" method="POST">
<?php
$contr = strlen($clave);
if($contr > 5)
{
$ar=fopen("Registros/$nombre.txt","r") or
die("<h1>No se pudo abrir el archivo o no existe.</h1>");
while (!feof($ar))
{
$linea=fgets($ar);
if($linea == $clave)
{
fclose($ar);
include("3PAGPRINinclude.php");
exit;
}
}
fclose($ar);
echo "<h1>No coinciden los datos que nos proporcionas, intentalo de nuevo<br></h1>";
include("../CuriososIncluido.php");
//exit;
}
else
{
echo "<h1>La clave tiene que contener 5 o mas caracteres alfanumericos, vuelve a intentarlo:</h1>";
include("../CuriososIncluido.php");
//exit;
}
?>
</form>

Vale lo que no se es si al utilizar la función “strlen()” esta modifica en algo al contenido o formato de la variable y en el bucle al final quite la otra función “n12br()” que le añade un salto de carro claro esto es por si quiero imprimirlo en la pagina, pero eso no quiero y tengo el mismo resultado.

Lo que me parece curioso es que fuera del bucle si me funciona la condición del “if” claro esto comparando la variable enviada con otra que defino con el mismo valor en la pagina de destino, también he intentado recuperar los resultados de la lectura en una variable un “array” pero no se como recuperar esa variable, es decir yo voy grabando los datos recuperados, los muestro y todo pero dentro del bucle, fuera de el es como si el “array” se borrara y no contiene nada, en fin haber si me podéis echar una mano porque llevo una temporada buscando cosas y no soy capaz de resolver el problema.