¿Comparar dos cadenas de caracteres en php?

Iniciado por Netstat89, 1 Octubre 2012, 12:57 PM

0 Miembros y 2 Visitantes están viendo este tema.

Netstat89

Tengo el primer formulario: llamado index.html

<html>
<body>

<title> Ahorcado </title>
<form action="enviar.php" method="Post">
Ingrese palabra a adivinar :<input type="text" name="jugador1" />
<input type="submit" value="enviar formulario" />
</form>

</body>
</html>


Tengo el segundo formulario: llamado enviar.php

?php

$jugador1= $_POST['jugador1'];


?>

<?

echo "Jugador 2 intente adivinar";

?>

<br><br>



<form action="enviar.php" method="Post">
Ingrese Una Letra :<input type="text" name="jugador2" size="1" />
<input type="submit" value="enviar formulario" />
</form>

<br><br>

<?

$contador= strlen($jugador1);
print "La Palabra ingresada Tiene $contador Letras";


?>

<br>

<?
$jugador2= $_POST['jugador2'];

if(isset($_POST['jugador2'])){

if ($jugador1[0]==$jugador2[0]);{
echo "ok";
}else{

echo "no";
}
}

?>


Mi problema es que quiero compar lo ingresado en el campo jugador1 con la letra del campo jugador2, osea quiero comparar si existe una letra igual de la que ingrese en la variable $jugador2 con la palabra ingresada en la variable $jugador1 y que la muestra en la pantalla, o mejor dicho que cada vez que hacierte una letra se valla formando la palabra oculta.

#!drvy

#1
En caso de que el jugador2 solo meta una letra puedes utilizar stristr.
Código (php) [Seleccionar]
<?php
$palabra 
'omgwtf';
$letra 'w';

if(
stristr($palabra,$letra)){echo 'La letra '.$letra.' coincide.';}else{echo 'No coincide';}
?>


Te retornaría algo así:
Código (url) [Seleccionar]
La letra w coincide.

Si son 2 palabras y quieres comparar que letras coinciden...
Código (php) [Seleccionar]
<?php
$palabra 
'omgwtf';
$palabra2 'shit';

function 
comparar($palabra1,$palabra2){
   
// Obtener tamaño de palabra.
   
$len mb_strlen($palabra2);
   
// Por cada letra
   
for($i=0$i<$len;$i++){
      
// Comparar la letra con palabra1
      // Si coincide meterla en array($coinciden).
      
if(stristr($palabra1,$palabra2[$i])){$coinciden[]=$palabra2[$i];}
   }
   
// Si $coinciden no esta definido... retornar false.
   // Si no retornar array.
   
if(!isset($coinciden)){return false;} else {return $coinciden;}
}

print_r(comparar($palabra,$palabra2));
?>


Retornaría:
Código (url) [Seleccionar]
Array ( [0] => t )
Se podrá hacer algo mejor supongo... pero te sirve de ejemplo.

PD: Por favor usa las etiquetas [code=php][/code] o [code=html4strict][/code] para meter el código. Se nos hace mas fácil leerlo.

Saludos

Netstat89



<?php

       $jugador2
$_POST['jugador2'];
       if(isset(
$_POST['jugador2'])){
   
 
 if(
stristr($jugador1,$jugador2)){echo 'La letra '.$jugador2.' coincide.';}else{echo 'No coincide';}
 }
?>




Me quedo algo asi, pero aunque pongon en jugador1=casa y despues pongo en jugador2= s, me da que no coincide

#!drvy


Netstat89

#4
No se porque no funciona

<?php

$jugador1
$_POST['jugador1'];



?>




<?

echo "Jugador 2 intente adivinar";

?>

<br><br>



      <form action="enviar.php" method="Post">

      Ingrese Una Letra :<input type="text" name="jugador2" size="1" />

      <input type="submit" value="enviar formulario" />

     

 <?php



       $jugador2
$_POST['jugador2'];

       if(isset(
$_POST['jugador2'])){

   

    
         

              if(
stristr($jugador1,$jugador2)){print "Coinciden";} else {print "No Coincide";}

               
       
}

?>






       



      </form>

      <br><br>


<!-- <?

$contador= strlen($jugador1);

print "La Palabra ingresada Tiene $contador Letras";


?>
-->

     

Shell Root

Siempre printea los valores a ver que tiene :D

Muestranos el resultado!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.