Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di sustia
    Registrato dal
    Oct 2000
    Messaggi
    1,492

    Inserimento dati non riuscito

    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:

    codice:
    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);
    
    }
    Una volta cliccato su submit questi dati vengono inviati, al db tramite il file insert.php

    Codice 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();
    ?>
    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 genere
    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?

  2. #2
    devi mettere

    codice:
    $nome=$_POST['nome'];
    $email=$_POST['email'];
    altrimenti le variabili è logico che le trova vuote!
    non ho controlato bene,ma credo che vada fatto anche per gli altri due dati se li mandi via post

  3. #3
    Utente di HTML.it L'avatar di sustia
    Registrato dal
    Oct 2000
    Messaggi
    1,492
    Originariamente inviato da Skidrow86
    devi mettere

    codice:
    $nome=$_POST['nome'];
    $email=$_POST['email'];
    altrimenti le variabili è logico che le trova vuote!
    non ho controlato bene,ma credo che vada fatto anche per gli altri due dati se li mandi via post
    Ciao grazie per la risposta.
    Ma devo metterli nel file insert.php o in quello precedente?

  4. #4
    Utente di HTML.it L'avatar di sustia
    Registrato dal
    Oct 2000
    Messaggi
    1,492
    Trovato, grazie mille!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.