Ciao a tutti, sono all'inizio dello studio di php e per esercizio sto tentando di creare un rudimentale traduttore italiano-inglese.
I dati sono salvati in un database Access (è l'unico database che conosco).
Quando provo il tutto nel browser mi compare questo messaggio: Parse error: syntax error, unexpected '<' in C:\Programmi\Apache Group\Apache2\htdocs\leggi.php on line 21![]()
La riga 21 nel file specificato è la seguente:
if ($rs->EOF) print "
Nessun dato trovato</p>";
Sapreste darmi qualche suggerimento al riguardo?
Riporto il codice in tutte le sue parti quì sotto:
*** Home page del traduttore: traduttore.htm
<html>
<head></head>
<body>
<form method="post" action="traduci.php">
Testo da tradurre:
<input type="text" name="testo" value="" />
</p>
<input name="submit" type="submit" value="Traduci">
</p>
</form>
</body>
</html>
*** pagina php che deve gestire la traduzione: traduci.php
<html>
<head></head>
<body>
<?php
include "connessione.php";
include "leggi.php";
?>
</body>
</html>
*** pagina php che deve eseguire la connessione al database
*** cioè connessione.php
<?PHP
$db = "C:\traduttore\database.mdb";
$sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$db;";
?>
*** pagina che cerca la parola tradotta nel database e la visualizza
*** cioè leggi.php
<html>
<head>
<title>Risultato traduzione</title>
</head>
<body>
<?PHP
// Includo il file contenente la stringa di connessione
include("connessione.php");
//Creo due oggetti COM contenenti gli oggetti Connection e Recordset
$cn = new COM("ADODB.Connection");
$rs = new COM("ADODB.Recordset");
// Apro la Connection ed il Recordset
$cn->open($sc);
$rs->Open("SELECT * FROM lingua WHERE nome = '$testo';", $cn);
// Controllo che sulla tabella ci siano dati
if ($rs->EOF) print "
Nessun dato trovato</p>";
// Se ce ne sono effettuo un ciclo di lettura
else while ($rs->EOF == FALSE)
{
print "
";
print "Traduzione: " . $rs->Fields ['linguaIN']->value;
print "
";
print "</p>";
$rs->MoveNext();
}
// Chiudo il Recordset
$rs->Close();
$rs->Release();
$rs = null;
// Chiudo la Connection
$cn->Close();
$cn->Release();
$cn = null;
?>
</body>
</html>
Il database è rudimentale e ha i seguenti campi:
- nome (ovvero la parola in italiano)
- linguaIN (ovvero la parola tradotta in inglese)
Grazie ancora, ciao