Salve a tutti, sto cercando di imparare il php e per iniziare sto tentando di realizzare un rudimentale traduttore....
In pratica ho una pagina (traduttore.htm) in cui si inserisce una parola in italiano; poi si preme il tasto "traduci" e dovrebbe comparire la parola tradotta in inglese.
Ho un database Access (database.mdb) in cui "memorizzo" le parole in italiano e le corrispondenti traduzioni in inglese, e da cui attingo per visualizzare la parola tradotta.
Però quando provo a connettermi al database per leggere la parola tradotta e visualizzarla mi compare nel browser questo messaggio d'errore:
Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft JET Database Engine
Description: Impossibile trovare il file "C:\Programmi\Apache Group\Apache2\database.mdb".' in C:\Programmi\Apache Group\Apache2\htdocs\leggi.php:15 Stack trace: #0 C:\Programmi\Apache Group\Apache2\htdocs\leggi.php(15): com->open('Provider=Micros...') #1 C:\Programmi\Apache Group\Apache2\htdocs\traduci.php(6): include('C:\Programmi\Ap...') #2 {main} thrown in C:\Programmi\Apache Group\Apache2\htdocs\leggi.php on line 15
Di sicuro non gli è piaciuto il modo in cui provo ad accedere al database, ma non capisco cosa!!!!!!!!!!!!! :ister: :ister:
Spero che qualcuno possa aiutarmi!!!!!!!!!!!
Sono nella disperazione + totale e sto provando soluzioni assurde per cercare di farlo funzionare :incazz:
Riporto di seguito il codice di tutti i moduli che uso per il mio traduttore:
*** pagina principale cioè traduttore.htm
<html>
<head></head>
<body>
<form method="post" action="traduci.php">
<p><br>
Testo da tradurre:
<input type="text" name="testo" value="" />
</p>
<p><br>
<input name="submit" type="submit" value="Traduci">
</p>
</form>
</body>
</html>
***modulo php per la connessione al database cioè connessione.php
<?PHP
$db = "database.mdb";
$sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$db;";
?>
***modulo php per la lettura da database 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);
//$rs->Open("SELECT * FROM lingua WHERE nome = '$nome' AND lingua = '$lingua';", $cn);
// Controllo che sulla tabella ci siano dati
if ($rs->EOF) print "<p>Nessun dato trovato</p>";
//<b>
//</b>
else while ($rs->EOF == FALSE)
{
print "<p>";
print "<b>Traduzione: </b> " . $rs->Fields ['linguaIN']->value;
print "<br>";
print "</p>";
$rs->MoveNext();
}
// Chiudo il Recordset
$rs->Close();
$rs->Release();
$rs = null;
// Chiudo la Connection
$cn->Close();
$cn->Release();
$cn = null;
?>
</body>
</html>
*** modulo per eseguire la traduzione cioè traduci.php
<html>
<head></head>
<body>
<?php
include "connessione.php";
include "leggi.php";
?>
</body>
</html>
Ringrazio anticipatamente chi mi potrà aiutare!!!
Ciao
In pratica ho una pagina (traduttore.htm) in cui si inserisce una parola in italiano; poi si preme il tasto "traduci" e dovrebbe comparire la parola tradotta in inglese.
Ho un database Access (database.mdb) in cui "memorizzo" le parole in italiano e le corrispondenti traduzioni in inglese, e da cui attingo per visualizzare la parola tradotta.
Però quando provo a connettermi al database per leggere la parola tradotta e visualizzarla mi compare nel browser questo messaggio d'errore:
Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft JET Database Engine
Description: Impossibile trovare il file "C:\Programmi\Apache Group\Apache2\database.mdb".' in C:\Programmi\Apache Group\Apache2\htdocs\leggi.php:15 Stack trace: #0 C:\Programmi\Apache Group\Apache2\htdocs\leggi.php(15): com->open('Provider=Micros...') #1 C:\Programmi\Apache Group\Apache2\htdocs\traduci.php(6): include('C:\Programmi\Ap...') #2 {main} thrown in C:\Programmi\Apache Group\Apache2\htdocs\leggi.php on line 15
Di sicuro non gli è piaciuto il modo in cui provo ad accedere al database, ma non capisco cosa!!!!!!!!!!!!! :ister: :ister:
Spero che qualcuno possa aiutarmi!!!!!!!!!!!
Sono nella disperazione + totale e sto provando soluzioni assurde per cercare di farlo funzionare :incazz:
Riporto di seguito il codice di tutti i moduli che uso per il mio traduttore:
*** pagina principale cioè traduttore.htm
<html>
<head></head>
<body>
<form method="post" action="traduci.php">
<p><br>
Testo da tradurre:
<input type="text" name="testo" value="" />
</p>
<p><br>
<input name="submit" type="submit" value="Traduci">
</p>
</form>
</body>
</html>
***modulo php per la connessione al database cioè connessione.php
<?PHP
$db = "database.mdb";
$sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$db;";
?>
***modulo php per la lettura da database 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);
//$rs->Open("SELECT * FROM lingua WHERE nome = '$nome' AND lingua = '$lingua';", $cn);
// Controllo che sulla tabella ci siano dati
if ($rs->EOF) print "<p>Nessun dato trovato</p>";
//<b>
//</b>
else while ($rs->EOF == FALSE)
{
print "<p>";
print "<b>Traduzione: </b> " . $rs->Fields ['linguaIN']->value;
print "<br>";
print "</p>";
$rs->MoveNext();
}
// Chiudo il Recordset
$rs->Close();
$rs->Release();
$rs = null;
// Chiudo la Connection
$cn->Close();
$cn->Release();
$cn = null;
?>
</body>
</html>
*** modulo per eseguire la traduzione cioè traduci.php
<html>
<head></head>
<body>
<?php
include "connessione.php";
include "leggi.php";
?>
</body>
</html>
Ringrazio anticipatamente chi mi potrà aiutare!!!
Ciao