Avatar billede fido26 Praktikant
02. november 2004 - 10:37 Der er 6 kommentarer og
1 løsning

Records bliver indsat flere gange

Hejsa!

Jeg har lavet en chat hvor alle beskeder bliver gemt i en mySQL db. Jeg har dog et problem med at nogle af beskederne bliver indsat to gange i tabellen. Jeg har læst min kode igennem utallige gange og er sikker på at jeg kun kalder indsættelses query'en én gang pr. besked.

Nogen der ved hvad det kan skyldes, eller er der evt. nogen der ved hvad jeg kan gøre ved problemet??

M.v.h.
Fido26
Avatar billede sukos Juniormester
02. november 2004 - 10:38 #1
reload af siden efter submit?
Avatar billede sukos Juniormester
02. november 2004 - 10:38 #2
Og ellers, så er det jo svært at svare på, når der ingen kode er at se på! :O)
Avatar billede fido26 Praktikant
02. november 2004 - 10:49 #3
Jeg opdaterer ikke den fil som indsætter. Kun når der bliver submittet en besked.
Jeg har opdelt koden sådan at jeg har en fil "chat.php" som indeholder formularen og funktionen til at indsætte beskederne. Desuden indeholder den to iframes som kører filerne "chatindhold.php" og "brugerepaachatten.php".
Disse to sider opdaterer sig selv med jævne mellemrum.
Avatar billede sukos Juniormester
02. november 2004 - 10:51 #4
Formen, submitter den til chat.php, som så redirecter til formen igen?
Eller, er form og "indsæt i DB" i samme fil?

Noget kode vil ikke være af vejen her!
Avatar billede fido26 Praktikant
02. november 2004 - 11:03 #5
Formularen og indsættelses funktionen er i samme fil nemlig chat.php     

Formen:
<form name="chatform" method="post" action="chat.php?post=true">   
      <table cellpadding="1" border=0 style="height:1px;background-color:#BECC35;">
        <tr><td valign="top" colspan="3"> <?
          if($pt != '')
          {
            echo "<font face='Arial' size=2 color='red'><b>Privat til " . $pt . "</b></font>";
          }
          else
          {
            echo "<font face='Arial' size=2 color='red'><b>&nbsp;</b></font>";
          } ?> </tr><tr>
                <td class="normalluft" valign="top" align="left" width="140">Send en chat besked</td>
                <td class="normalluft" valign="top" align="left" width="150"><input type="text" name="message" size="50" onKeyPress="checkEnter(event)" class="inputtext" /></td> <?
                echo "<input type=hidden name='privto' value='" . $pt . "'><input type=hidden name='privfrom' value='" . $cu . "'>"; ?>
                <td class="normalluft" valign="top" align="center" width="120"><input type="Image" onclick="java script:dosubmit()" src="images/send_knap.gif" /></td>    
        </tr>
      </table>
      </form>

submit-funktionen:
        function dosubmit(){
            document.chatform.submit();
//            document.chatform.message.value = "";
//            location.reload();
//            document.chatform.message.focus();
            return true;
        }

Indsættelses funktionen:
    function Save_Message($message,$cu)
    {
        $res = mysql_query("select * from usersonchat where username='$cu'");
        $row = mysql_fetch_array($res);
       
        $sekund = substr($row['lastmessage'], 12, 2);
        $datesek = date("s");
       
          if($message != "")
        {
          if($sekund != $datesek)
          {
              $updatelastmessage = mysql_query("UPDATE usersonchat set lastmessage=NOW() WHERE username='$cu'");
              if($_POST["privto"] == "")
              {
                $res2 = mysql_query("insert into chatbeskeder (id, brugerid, brugernavn, tid, besked, privateto) VALUES ('', '$userID', '$cu', NOW(''), '$message', NULL)");
              }
              else
              {
                $privat = $_POST["privto"];
                $result = mysql_query("insert into chatbeskeder (id, brugerid, brugernavn, tid, besked, privateto) VALUES ('', '$userID', '$cu', NOW(''), '$message', '$privat')");
              }
          }
        }
    }
Avatar billede fido26 Praktikant
02. november 2004 - 22:29 #6
Der er ingen der svarer....
Skal jeg betragte det som om at der ikke er nogen der har et bud på hvad der kan være galt??
Avatar billede fido26 Praktikant
10. januar 2005 - 14:27 #7
Nå så må jeg jo selv ta' pointene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester