[php/cookies/mysql] Något går för långsamt
Jag har lite problem med denna koden.
Den fungerar, men gör ny kaka några gånger innan det blir rätt.
Målet är att varje ny besökare skall få två rader i databasen med några ettor och tvåor. (detta är ju såklart inte målet för det helt färdiga, men det spelar ingen roll nu)
Sedan skall besökaren få fram det som gjordes vid förra besöket.
Problemet nu är att det skapas massa rader i databasen utan $setcooolCookieId men efter några uppdateringar av sidan blir allt rätt. Precis nedanför detta laddas och visas besökarens två rader. (Detta fungerar också efter en stund / uppdateringar.
Vad har jag gjort fel?
<?php
/* Kollar om besökaren redan har en kaka. */
if ($_COOKIE["cooolCookieId"] == "")
{
function createcooolCode($length) {
$chars = "234BCD";
$i = 0;
$cooolCode = "";
while ($i <= $length) {
$cooolCode .= $chars{mt_rand(0,strlen($chars))};
$i++;
}
return $cooolCode;
}
$cooolCode = createcooolCode(12);
$cooolcookiecon = mysql_connect("host","user","pass");
if (!$cooolcookiecon)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("databasen", $cooolcookiecon);
$sql="INSERT INTO coool_id (id, cooolcode)
VALUES
(NULL,'$cooolCode')";
if (!mysql_query($sql,$cooolcookiecon))
{
die('Error: ' . mysql_error());
}
$result = mysql_query("SELECT * FROM coool_id WHERE cooolcode ='$cooolCode'");
while($row = mysql_fetch_array($result))
{
$setcooolCookieId = $row['id'];
$setcooolCookieCode = $row['cooolcode'];
}
setcookie("cooolCookieId", $setcooolCookieId, time()+3600); /* 1 tim */
setcookie("cooolCookieCode", $setcooolCookieCode, time()+3600); /* 1 tim */
/* FIXA IN GRUNDVARDEN */
$sql1="INSERT INTO records (recordID, awsUserId, awsUserIdIn, recordText, recordListingID) VALUES (NULL, '$setcooolCookieId', '', '1111', '1')";
if (!mysql_query($sql1,$cooolcookiecon))
{ die('Error: ' . mysql_error()); }
$sql2="INSERT INTO records (recordID, awsUserId, awsUserIdIn, recordText, recordListingID) VALUES (NULL, '$setcooolCookieId', '', '2222', '2')";
if (!mysql_query($sql2,$cooolcookiecon))
/* Raden under saknades i min första post, därav svaren nedan */
{ die('Error: ' . mysql_error()); }
echo "<i>Bakat ny kaka - mmm</i>";
}
else
{
echo "<i>Tagit fram gammal kaka - fortfarande saftig</i>";
}
?>
Detta är min tjusiga signatur. <<<<<<<