Ciao, sto provando a inserire dei dati in un piccolo DB che provengono da un quiz realizzato con Captivate.
Dal momento che non sono un programmatore mi sono arrangiato a creare gli script con un tutorial che ho trovato nel forum di Captivate e in rete, ma il problema è che non funziona o meglio..se lo provo in locale funziona perfettamente, quando lo metto online un po' meno.
I file che uso sono tre:
File che trasmette i risultati del quiz: in pratica il filmato flash invia i parametri e cliccando alla fine su "Invia e-mail" si apre un pop-up dove inserire il proprio nome e e-mail:
Una volta cliccato su submit questi dati vengono inviati, al db tramite il file insert.phpcodice:function sendMail() { // strip the word Core Data out of the results var stripCoreData = gstrEmailBody.replace("Core Data", ""); // remove the double quotes var stripQuotes = stripCoreData; while(stripQuotes.indexOf("\"") !=-1){ stripQuotes=stripQuotes.replace("\"", ""); } // turn results into an array to access single items var results_array = stripQuotes.split(","); // assign variables var RawScore = results_array[7]; var MaxScore = results_array[8]; var MinScore = results_array[9]; var Accuracy = RawScore/MaxScore; Accuracy = Accuracy*100; // write html for popup window var htmlString= "<html><head><title>Quiz Results</title></head><body>" + "<form Name='results' method='post' action='insert.php'>" + "<table cellspacing=1 cellpadding=4 border=0><tr><td bgcolor='#336699'>Punteggio:</td>" + "<td align='left' bgcolor='#6699cc'>" + RawScore + "</td></tr>" + "<tr><td bgcolor='#336699'>Punteggio massimo:</td>" + "<td align='left' bgcolor='#6699cc'>" + MaxScore + "</td></tr>" + "<tr><td bgcolor='#336699'>Nome:</td><td align='left' bgcolor='#6699cc'><input type='text' Name='name'></td></tr>" + "<tr><td bgcolor='#336699'>Email:</td><td align='left' bgcolor='#6699cc'><input type='text' Name='email'></td></tr>" + "<tr><td bgcolor='#336699'>" + "<input type='hidden' value='" + MaxScore + "' name='total'>" + "<input type='hidden' value='" + RawScore + "' name='correct'>" + "</td><td align='left' bgcolor='#6699cc'><input type='submit' name='Submit' value='Invia i risultati'></td></tr></table>" + "</form></body></html>" // function for the popup window function launchwin(htmlString){ newwin = window.open("","flashcamwin","height=300,width=325,scrollbars=0"); newwin.document.open(); newwin.document.write(htmlString); newwin.document.close(); } // launch the window launchwin(htmlString); }
Il problema è che alla fine questi dati non vengono inseriti...in pratica con un file che mi richiama i dati dal DB dovrei avere qualcosa del genereCodice PHP:<?php
$db_host = 'localhost';
$db_user = 'utente';
$db_password = 'password';
$db_name = 'database';
$link = mysql_connect('localhost', 'utente', 'password');
if (!$link) {
die ('Non riesco a connettermi: ' . mysql_error());
}
$db_selected = mysql_select_db('database', $link);
if (!$db_selected) {
die ("Errore nella selezione del database: " . mysql_error());
}
//echo 'connesso con successo';
//mysql_close($link);
$query = "INSERT INTO captivate_risultati (name,email,correct,total)
VALUES ('$name','$email','$correct','$total')";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// recupero l'id autoincrement generato da MySQL per il nuovorecord inserito
$id_inserito = mysql_insert_id();
// chiudo la connessione a MySQL
mysql_close();
?>
http://www.ortaggipugliesi.it/temp/vedi.php
Solo che i valori dovrebbero essere
Nome
Email (ed entrambi sono assenti)
Correct (può essere 0 o 10 perché è una sola domanda)
Total: deve essere sempre 10, perché sono 10 punti per la domanda.
Cosa sbaglio?
Perché funziona in locale e non in remoto?![]()

Rispondi quotando