webForumDet fria alternativet

Alltför många besökare i gästbok

PHP

7 svar · 362 visningar · startad av addeweb

Medlem sedan jan. 2004216 inlägg
Frågan#1

Vad gör man då om det är många besökare i en PHP-gästbok vid ett tillfälle? Om det blir så, då vore det lämpligt med ett meddelande som säger: Det är många besökare i gästboken just nu. Var god återkom om 5 minuter. ". Att flera användare kan öppna samma gästbok från sina egna datorer vid ett tillfälle innebär ju flera öppna databasanslutningar. Någon som har erfarenhet av det här?

Medlem sedan nov. 20041 740 inlägg
#2

Det ska till en väldans massa trafik för att det ska uppstå ett sådant problem. Sätt ett felmeddelande om du inte får någon anslutning till databasen, bara.

if(!@mysql_query($query)){
   echo "Kunde inte ansluta till databasen. Försök igen senare.";
   exit;
}

Jag har ungefär 300 000 besök varje månad i mina gästböcker, och det är mycket sällan det blir anslutningsproblem. Hur många besökare handlar det om i ditt fall?

Medlem sedan jan. 2004216 inlägg
#3

Det är svårt att bedöma hur många det kan bli i förväg. Jag har gjort iordning en ny reklamfri gästbok åt ett friskvårdsföretag och som ska ersätta en extern Olzzon-gästbok med reklam under hösten. Denna externa gästbok är också i PHP. Vid vissa tillfällen när jag tittade in i denna gästbok så fanns detta meddelande med många besökare.

Medlem sedan aug. 20039 340 inlägg
#4

Gislaved skrev:

if(!-->@<--mysql_query($query)){
echo "Kunde inte ansluta till databasen. Försök igen senare.";
exit;
}

Vad är detta snabel-a till för?

Medlem sedan nov. 20041 740 inlägg
#5

PHP-manualen skrev:

PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.

http://se2.php.net/manual/en/language.operators.errorcontrol.php

Medlem sedan jan. 2004216 inlägg
#6

Har insett att det inte behövs ännu eftersom det är så lite trafik till denna gästbok. Men det kan vara bra att veta för senare bruk. En sak vill jag ändå fråga: är det inte databasanslutningen mysql_connect() som avses istället? Har lagt märke till att snabel- a-et framför saknades där.

Medlem sedan mars 20034 471 inlägg
#7

Ett @ framför databasanrop gör att ev felmeddelanden inte skrivs ut. Vilket kan vara bra ur säkerhetssynpunkt.

Medlem sedan jan. 2004216 inlägg
#8

Tror det är nog bäst att ha snabel-a:et framför när allting fungerar.

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)