webForumDet fria alternativet

Mailutskick + Progressbar?

PHPur PHP

7 svar · 770 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej

Håller på och bygger en applikation som ska skicka massa mail. Letar nu efter olika sätt att visa för slutanvändaren att något verkligen händer under tiden mailen skickas. Om en sida bara står och tuggar finns risken att man stänger fönstret eller trycker på bakåt-knappen.

Hur bör man lösa det här? Har sökt fram massa olika "progress bars" på Google men jag lyckas inte hitta någon som uppdateras under tiden scriptet körs.

Om jag t.ex. har den här loopen:

while($res = mysql_fetch_assoc($result)){
     // Här skickar jag ett mail...
}

Om jag nu vill få in en text som uppdateras efter var 20e mail t.ex. som säger x av y har skickats... vänta..., hur gör jag?

Vet att jag på något sätt ska använda flush(), sleep() men förstår inte exakt hur jag ska få ihop det.

Förslag tages tacksamt emot!

Medlem sedan feb. 20034 441 inlägg
#2

Nu har jag hittat den här:
http://otsoft.pl/blog/ap_demo/install.php

Verkar lovande och är en ganska snygg lösning. Kom gärna med fler förslag om ni har några liggandes.

Medlem sedan aug. 20068 090 inlägg
#3

Är det inte bara en loadbar (gif) som snurrar så länge du har ett laddningsfönster uppe som behövs? Kolla i så fall denna: http://www.ajaxload.info/

Medlem sedan feb. 20034 441 inlägg
#4

Den där känner jag till, men att ha något som snurrar i all oändlighet är lika bra som att inte ha något alls.. Jag behöver något som verkligen visar för besökaren att något händer.

Med den länken jag postade tidigare så kan den skriva ut Skickar mail x av y medan sidan laddar och det är bra.

Medlem sedan okt. 20041 556 inlägg
#5

Lösningen heter AJAX

Medlem sedan feb. 20034 441 inlägg
#6

Travoni skrev:

Lösningen heter AJAX

Jo.. det vet jag också :)
Om du kollar min länk däruppe till "install" så finns en lösning.

Jag fick den att fungera skitbra när jag testade med en for($i = 0...) loop, men när jag lade in det skarpt i en while loop från min databas, så fungerade det inte alls längre.

Jag gjorde istället så att scriptet som skickas mail triggas i en popup, vilken innebär att man kan jobba vidare i bakgrunden medan alla mail skickas. Inte så snyggt som jag tänkte från början, men det fungerar.

Om du eller någon annan har tips på färdiga script för det här är jag fortfarande intresserad.

Medlem sedan feb. 20041 816 inlägg
#7

Travoni skrev:

Lösningen heter AJAX

Bra hjälp, verkligen. ;)

Medlem sedan feb. 20034 441 inlägg
#8

dAEk skrev:

Bra hjälp, verkligen. ;)

:)

132 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)