Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [mysql] id doppio

  1. #1

    [mysql] id doppio

    salve,
    ho questo script per registrare nel DB dei tempi di reazione:

    <?php
    include "config.php";

    $cronometro = $_POST['cronometro'];



    $query= "INSERT INTO reazione3(cronometro)";

    $query.="VALUES('$cronometro')";

    $res_db=mysql_query($query)or die("Query non valida:".mysql_error());
    ?>

    ho una tabella con 2 soli campi, uno dei quali è autoincrement impostato come chiave primaria.
    Il problema è che ogni volta dovrebbe incrementare di 1 il campo autoincrement e registrare i tempi, pero' succede che ne crea 2 di campi: in uno segna i tempi, nel secondo invece appare vuoto.

    Questa procedura la eseguo per 5 tabelle differenti, in 3 registra precisamente i tempi con un solo id_autoincrement, nelle altre 2 tabelle mi succede di avere doppio id, di cui uno registra i tempi correttamente, e l'altro vuoto.

    sapete aiutarmi?
    grazie

  2. #2
    var_dump($cronometro)

    mi da:

    Parse error: parse error in c:\programmi\easyphp1-8\www\pubstep2.php on line 41

  3. #3
    qual'e' la riga 41 e cosa contiene ....

    Se gli id sono autoincrement e quindi sono chiavi primarie come fanno a registrare due volte lo stesso valore?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    la tabella con idautoincrement è chiave primaria, succede che immette 2 volte i valori :
    id_1 i valori del cronometro,
    id_2 vuoto.

    come se ci fosse un redirect _POST e inserisse nella seconda riga campi vuoti.




    <?php
    // Qui specifica le variabili

    $dirimm = "fototest3"; // Specifica la directory delle immagini
    $titolo = "Questionario"; // Il titolo della pagina

    $immg = array();
    $risp = array();
    $sort = array();

    $nimg = 0;

    $dirhan = opendir($dirimm);

    while(false !== ($fimm = readdir($dirhan)))
    {
    $position = strpos($fimm,"_");
    if( $position != FALSE)
    {
    $numero = substr($fimm,0,$position);
    //$nome
    $sort[$dirimm."/".$fimm] =$numero ;
    //$risp[$nimg] = substr($fimm,position+1,1);
    //echo($fimm);
    $nimg++;
    }
    asort($sort);
    reset($sort);
    }
    $i=0;
    while (list($chiave, $valore) = each($sort)) {
    $position = strpos($chiave,"_");
    $risp[$i] = substr($chiave,$position+1,1);;
    //echo "chiave = ".$risp[$i]."\n";
    $immg[$i] = $chiave;
    $i++;
    }

    closedir($dirhan);
    ?>
    <!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>
    <script type="text/javascript" language="javascript">

    var displayTime;
    var frase = "";
    var nim = <?php echo count($immg); ?>;
    var nin = 0;
    var dimm = new Array();
    var risp = new Array();
    <?php
    foreach($immg as $key => $img) {
    $gim = getimagesize($img);
    echo "dimm[".$key."] = '<img src=\"".$img."\" ".$gim[3].">';\n";
    }


    foreach($risp as $key => $risposta) {
    echo "risp[".$key."] = '".$risposta."';\n";
    }
    ?>




    function reaz(num) {
    var responseTime = new Date();


    //alert ("tasto:"+num+", risposta:"+risp[nin]);

    if(nin+1 >= nim) document.FineTest1.submit();
    if ( num == 0 && risp[nin] == "L")
    return;
    if ( num == 1 && risp[nin] == "A")
    return;
    nin++;


    registerTimeDiff(responseTime);
    //alert(document.getElementById('cronometro').value) ;
    //if(nin <= nim)
    //document.getElementById('esito').innerHTML = frase;
    avanti(nin);
    }

    function avanti(num) {
    document.getElementById('divimm').innerHTML = dimm[num];
    displayTime= new Date();
    }

    function registerTimeDiff(responseTime)
    {
    var diff = responseTime.getTime()-displayTime.getTime();
    var value = document.getElementById('cronometro').value;
    document.getElementById('cronometro').value=value+ '*'+diff;
    }

    function tasti() {
    // A 65 - L 76
    var tasto = window.event.keyCode;

    if(tasto == 65) { reaz(1); }
    else if(tasto == 76) { reaz(0); }
    }

    function FP_preloadImgs() {
    var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
    for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
    }
    </script>
    <title><?php echo $titolo; ?></title>
    <style type="text/css">
    <!--
    .Stile4 {
    font-size: x-large;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    }
    -->
    </style>
    </head>
    <body onload="avanti(0); cronometro(document.getElementById('cronometro').v alue); FP_preloadImgs(<?php
    foreach($immg as $img) {
    echo "'".$img."', ";
    }
    ?>'')" onkeyup="tasti()">

    <form name="FineTest1" id="FineTest1" method="post" target="_self" action="pubstep4.php">
    <input type="hidden" name="cronometro" id="cronometro" value="" />
    </form>




    poi la pagina successiva:


    <!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>
    <body bgcolor="black">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <script type="text/javascript" language="javascript">
    function tasti() {
    //alert(".");
    // A 65 - L 76
    var tasto =window.event.keyCode;
    //alert(tasto);
    if ( tasto == 32)
    document.Continua.submit();
    //alert(document.Continua.submit();// document.Continua.Submit();
    //alert(tasto);
    }
    </script>
    </head>

    <table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#" class="cssNavBar">
    <tr>
    <td align="center">
    <table border="0" cellpadding="4" cellspacing="0">
    <tr>

    <td bgcolor="#CCCCCCCC"><span class="Stile2">IAT step 4</a></span></td>
    <td><span class="cssSmallGray"></span></td>

    </tr>
    </table>

    <?php
    include "config.php";

    $cronometro = $_POST['cronometro'];



    $query= "INSERT INTO reazione3(cronometro)";

    $query.="VALUES('$cronometro')";

    $res_db=mysql_query($query)or die("Query non valida:".mysql_error());
    ?>


    <p align="center">[img]pubstep4.jpg[/img]</p>
    <p align="center">[img]istruzioni.jpg[/img]</p>
    <body onkeyup="tasti()"><p align="center"><font size="-1">

    <form name="Continua" id="Continua" method="post" action="fine3inizio4.php" target="_self"></form>

    </body>
    </html>

  5. #5
    nessuno riesce ad aiutarmi?

  6. #6
    Originariamente inviato da giorgiodp
    nessuno riesce ad aiutarmi?
    manca il coraggio di analizzare tutto quel codice.

    metti un redirect ad altra pagina dopo l'insert in modo da evitare il reiterare della pagina stessa.

    Due insert = due query, oppure una query di insert con valori multipli. Su questo non ci piove.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    hai ragione...
    grazie cmq per il non ci piove..

    provo a modificare qualcosa.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.