PDA

View Full Version : HElp PHP.....!!!!!!!!!!!!!!!!!!!!!


vegetaweb
23-04-2005, 14:05
Ciao a tutti, non riesco a visualizzare queste 2 pagine:
----------------------
memory.php:

<?php
//inizializzazione sessione
session_start();

//definizione della funzione di inizializzazione del gioco memory
function initialize()
{
//l'insieme delle parole disponibili (8, il gioco è 4x4=16 caselle ciascuna parola è in coppia con una uguale 16/2=8)
$words = array("uno","due","tre","quattro","cinque","sei","sette","otto");

/* COSTRUZIONE DEL TABELLONE */

//vettore controllo
$inserted = array(0,0,0,0,0,0,0,0);

//vettore tabellone
$game = array();

//contatore elementi tabellone
$i=0;

//ciclo di generazione del tabellone
while($i<16)
{
//estrazione casuale della parola
$num= rand(0,7);

//controllo di non inserire + di un duplicato per ogni parola
if($inserted[$num] < 2)
{
$game[$i]=$words[$num];
$inserted[$num]++;
$i++;
}
}

return $game;
}

function ended($checked)
{
//controlla se è stato scoperto tutto il tabellone di gioco
$ended = true;

//echo count($checked);

//ciclo su tutte le caselle finchè non ne trova una scoperta
for($i=0; ($i < count($checked))&&($ended); $i++)
if(!$checked[$i]) $ended=false;

//ritorna il risultato
return $ended;
}


//controllo stato della sessione
if(isset($_SESSION["game"]))
$playing = true;
else
$playing = false;

//azioni da intraprendere se il gioco non è iniziato
if(!$playing)
{
//inizializzazione gioco
$game = initialize();
$already_checked = array();
for ($i=0; $i<16; $i++) $already_checked[$i]=false;
$errors = 0;

//memorizzazione variabili di sessione
$_SESSION["game"] = $game;
$_SESSION["checked"] = $already_checked;
$_SESSION["errors"] = $errors;
}

echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";
?>
<!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">
<head>
<title>Soluzione Dell'Esercitazione 4 (Es.3) del corso di Sistemi Informativi B - A.A.
2004-2005</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>
<h1>Esercitazione 4 (Es.3) - Sistemi Informativi B - A.A. 2004-2005</h1>
<hr/>
<h3>Memory!</h3>
<?php
//inizializzazione variabili locali
$game = $_SESSION["game"];
//echo "GAME".$game;
$already_checked = $_SESSION["checked"];
//echo "<br/>CHECKED".$already_checked;
$errors = $_SESSION["errors"];
//echo "<br/>ERRORS".$errors;

//visualizzazione del tabellone
echo "<form action='memory_action.php' method='get'><table border='1'>";

for($i=0; $i<4; $i++)
{
echo "<tr>";
for($j=0; $j<4; $j++)
{
echo "<td>";

//visualizzazione game area,una parola o una checkbox
if($playing)
{
if($already_checked[($i*4)+$j]) echo $game[($i*4)+$j];
else echo "<input type='checkbox' name='checked[]' value='".(($i*4)+$j)."'/>";
}
else
echo "<input type='checkbox' name='checked[]' value='".(($i*4)+$j)."'/>";

echo "</td>";
}
echo "</tr>";
}
echo "</table>";

if(ended($already_checked))
{
//stampa i complimenti....
echo "<br/><h3>Congratulazioni hai finito!!! In totale hai commesso ".$errors." errori.<br/>";

//elimina la sessione
session_unset();
session_destroy();

//abilita la selezione di una nuova partita
echo "<a href='memory.php'>Gioca una nuova partita</a>";
}
else
{
echo "<br/><input type='submit' name='submit' value='Gioca!'/></form>";
}
?>
</body>

</html>
---------------------------------------------------------------------------
memory_action.php

<?php
//sessione
session_start();

//controllo sessione
if(!isset($_SESSION["game"]))
//non è stata inizializzata la partita
header("Location:memory.php");

//memorizzazione tavolo di gioco
$game = $_SESSION["game"];

//inizializzazione checked array
$checked = array();

//controllo dati ricevuti tramite form
if(isset($_REQUEST["checked"]))
{
if(count($_REQUEST["checked"]) == 2)
{
//sono state scelte solo 2 caselle--> si può effettuare il controllo e proseguire il gioco
$checked = $_REQUEST["checked"];
}
else
//è necessario rifare la mossa
header("Location:memory.php");
}
else
//non è stata fatta la mossa
header("Location:memory.php");

//echo $checked[0]."-";
//echo $checked[1];

//se arriva qui si può iniziare il controllo.....
if(strcmp($game[$checked[0]],$game[$checked[1]])==0)
{
$already_checked = $_SESSION["checked"];

//setta a checked la coppia di caselle
$already_checked[$checked[0]] = true;
$already_checked[$checked[1]] = true;

$_SESSION["checked"] = $already_checked;
}
else
//aumenta il numero di errori
$_SESSION["errors"] = $_SESSION["errors"]+1;

echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";
?>
<!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">
<head>
<title>Soluzione Dell'Esercitazione 4 (Es.3) del corso di Sistemi Informativi B - A.A.
2004-2005</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Refresh" content="5; url=memory.php"/>
</head>

<body>
<h1>Esercitazione 4 (Es.3) - Sistemi Informativi B - A.A. 2004-2005</h1>
<hr/>
<h3>Memory!</h3>
<?php

//inizializzazione variabili locali
$game = $_SESSION["game"];
$already_checked = $_SESSION["checked"];
$errors = $_SESSION["errors"];

//visualizzazione del tabellone
echo "<form><table border='1'>";

for($i=0; $i<4; $i++)
{
echo "<tr>";
for($j=0; $j<4; $j++)
{
echo "<td>";

//visualizzazione game area,una parola o una checkbox
if((((($i*4)+$j) == $checked[0]) || ((($i*4)+$j) == $checked[1])) || ($already_checked[($i*4)+$j])) echo $game[($i*4)+$j];
else echo "<input type='checkbox'/>";
echo "</td>";
}
echo "</tr>";
}

echo "</table></form>";
?>
</body>
</html>
---------------------------------------------------------------
Premetto che ho installato easyphp, ma niente da fare!!!!???? :muro: :muro:

Suggerimenti? Grazie a tutti

anonimizzato
23-04-2005, 14:51
cosa vuole dire che non riesci a visualizzarle?
Che errore ti viene riportato?

vegetaweb
23-04-2005, 15:03
cosa vuole dire che non riesci a visualizzarle?
Che errore ti viene riportato?

Ciao e grazie per l'interessamento.

Allora io ho salvato i 2 files memory.php e memory_action.php.
Quando lancio easyPHP, file->apri e dico ad esempio memory.php non riesco a visualizzare la pagina ma vedo il sorgente....xkè???? :muro:

Tutte le altre pagine scritte in php e utilizzando questo metodo sono sempre riuscito a vederle!!!!

Hai qualche consiglio? Grazie

anonimizzato
23-04-2005, 17:33
io non uso easy php ma mi sfugge ancora il metodo con cui tu vedi i file?
richiamando il file col browser cosa succede?

vegetaweb
23-04-2005, 17:53
io non uso easy php ma mi sfugge ancora il metodo con cui tu vedi i file?
richiamando il file col browser cosa succede?

Continuo a vedere il listato della pagina!!!!!!
:muro: :muro: :muro: :muro: :muro: :muro:

anonimizzato
24-04-2005, 17:14
allora non stà funzionando l'interprete PHP
controlla che PHP sia correttamente installato.

prova a richiamare una pagina contente le seg. istruzioni:

<?php
phpinfo();
?>

se PHP è correttamente istallato dovresti vedere una lunga pagina di settaggi.