El motivo que me trae a aquí es el siguiente:
Tengo que hacer un juego del ahorcado con php. El caso es que he conseguido que se conecte a la base de datos (ahorcado), acceda a la tabla (lista_palabras) y muestre una palabra aleatoria sin muchos problemas. También he conseguido, por el método Get, cambiar el valor de la variable que recoge la letra sobre la que se pulsa, para luego recorrer la cadena de texto que contiene la palabra. Pero el caso es que cada vez que pulso sobre cualquier letra, la página se vuelve a cargar, y muestra otra palabra de la BDD.
He probado a poner un switch que interrumpa hasta que el número de fallos sea el máximo o el de aciertos igual que la longitud de la palabra, pero nada.
La aplicación consta de 4 archivos *.php:
- add_palabra.php - Aquí hay un formulario que guarda palabras nuevas en la BDD; No he tenido problemas.
- img_char.php - Esto es una función, que cambia todos los caracteres de la palabra que se le pasa como parámetro por imágenes de manos (lenguaje de signos); No he tenido problemas.
- index.php - Aquí sólo llamo a las funciones. Este es el código fuente:
Cita:
No hay ningún problema con este archivo.<?php
echo "Ahorcado PHP<br>";
include 'mostrar.php';
include 'add_palabra.php';
mostrar ();
?>
<br>
echo "Ahorcado PHP<br>";
include 'mostrar.php';
include 'add_palabra.php';
mostrar ();
?>
<br>
- mostrar.php - Aquí están declaradas las funciones mostrar() y ahorcado():
Cita:
Pues muchas gracias por la ayuda ^^. <?php
function mostrar()
{
$link = mysql_connect("localhost", "root", "root");
mysql_select_db("ahorcado", $link);
$result = mysql_query("SELECT palabras FROM lista_palabras ORDER BY rand() LIMIT 1", $link);
while ($row = mysql_fetch_row($result))
{
$palabra=$row[0];
img_char($palabra);
echo "<br>Aqui va el algoritmo<br>";
ahorcado($palabra);
}
}
//_________________________
function ahorcado($palabra)
{
//Variables necesarias
$aciertos=0;
$fallos=0;
$a="<a href='?opcion=a'><img src='sml/a.png'/></a>";
$b="<a href='?opcion=b'><img src='sml/b.png'/></a>";
$c="<a href='?opcion=c'><img src='sml/c.png'/></a>";
//[...] Así hasta la Z
$y="<a href='?opcion=y'><img src='sml/y.png'/></a>";
$z="<a href='?opcion=z'><img src='sml/z.png'/></a>";
echo "<br>";
$opcion=$_GET['opcion'];
echo "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z";
//Aqui se van actualizando tanto los aciertos como los fallos
for($ç=0;$ç<strlen($palabra);$ç++)
{
if($palabra[$ç]==$opcion)
$coinciden=1;
if($coinciden==1)
$aciertos++;
else
$fallos++;
}
echo "<br>";
echo "Aciertos: $aciertos<br>";
echo "Fallos: $fallos<br>";
//echo "<br>$pos";
echo "$opcion";
echo "<br>$palabra";
}
?>
function mostrar()
{
$link = mysql_connect("localhost", "root", "root");
mysql_select_db("ahorcado", $link);
$result = mysql_query("SELECT palabras FROM lista_palabras ORDER BY rand() LIMIT 1", $link);
while ($row = mysql_fetch_row($result))
{
$palabra=$row[0];
img_char($palabra);
echo "<br>Aqui va el algoritmo<br>";
ahorcado($palabra);
}
}
//_________________________
function ahorcado($palabra)
{
//Variables necesarias
$aciertos=0;
$fallos=0;
$a="<a href='?opcion=a'><img src='sml/a.png'/></a>";
$b="<a href='?opcion=b'><img src='sml/b.png'/></a>";
$c="<a href='?opcion=c'><img src='sml/c.png'/></a>";
//[...] Así hasta la Z
$y="<a href='?opcion=y'><img src='sml/y.png'/></a>";
$z="<a href='?opcion=z'><img src='sml/z.png'/></a>";
echo "<br>";
$opcion=$_GET['opcion'];
echo "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z";
//Aqui se van actualizando tanto los aciertos como los fallos
for($ç=0;$ç<strlen($palabra);$ç++)
{
if($palabra[$ç]==$opcion)
$coinciden=1;
if($coinciden==1)
$aciertos++;
else
$fallos++;
}
echo "<br>";
echo "Aciertos: $aciertos<br>";
echo "Fallos: $fallos<br>";
//echo "<br>$pos";
echo "$opcion";
echo "<br>$palabra";
}
?>