Het onderstaande PHP-script (PHP-versie: 5.1.6) heeft als doel om via een formulier een aantal items in database (MYSQL 5.1) op te slaan. Het invulformulier heeft veel weg van het principe van een weblog. Het verzenden ....... een nieuw logboek_id wordt in de SQL-tabel aangemaakt en als de query succesvol is afgerond wordt er een mail gestuurd (mits het 'type' niet COR is = COR staat voor gecorrigeerd bericht).
Probleem is dat bij het verzenden soms de pagina bij het verzenden lijkt te hangen.......als ik dan bij de processen in PHPMyAdmin kijk dan zie ik een proces dat in de slaapstand ("sleep") staat (soms tot wel 40 seconden lang). Ik heb geen idee wat de oorzaak daarvan is. Als ik hetzelfde script op een lokale webserver draai dan ondervind ik totaal geen problemen.
De meldingen van de PHPMyAdmin (gecheckt nadat de browser zo'n 30 seconden hing):
* Database = "" en command = "query" en "tijd" = ""
* Database = "log" en command = "sleep" en "tijd" = "34"
Is het een script (PHP) of een database-probleem........wie o wie kan/wil mij helpen dit (hoofdbrekende) probleem op te lossen........
Probleem is dat bij het verzenden soms de pagina bij het verzenden lijkt te hangen.......als ik dan bij de processen in PHPMyAdmin kijk dan zie ik een proces dat in de slaapstand ("sleep") staat (soms tot wel 40 seconden lang). Ik heb geen idee wat de oorzaak daarvan is. Als ik hetzelfde script op een lokale webserver draai dan ondervind ik totaal geen problemen.
De meldingen van de PHPMyAdmin (gecheckt nadat de browser zo'n 30 seconden hing):
* Database = "" en command = "query" en "tijd" = ""
* Database = "log" en command = "sleep" en "tijd" = "34"
Is het een script (PHP) of een database-probleem........wie o wie kan/wil mij helpen dit (hoofdbrekende) probleem op te lossen........
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| $sql_insertonsubmit = " INSERT INTO logboek (logboek_id, created_on, user, user_mod, sectionID, categoryID , title, comments, email, type) VALUES ( '".mysql_real_escape_string($_POST['logboek_id'])."', NOW(), '".mysql_real_escape_string($_SESSION['username'])."', '', '".mysql_real_escape_string($_REQUEST['sectionID'])."', '".mysql_real_escape_string($_POST['categoryID'])."', '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['comments'])."', '".mysql_real_escape_string($_POST['email'])."', '' ) ON DUPLICATE KEY UPDATE"; if ($type == "COR"){ $sql_insertonsubmit .=" modified_on=NOW(),"; $sql_insertonsubmit .=" user_mod='".mysql_real_escape_string($_SESSION['username'])."',"; } else { $sql_insertonsubmit .=" created_on=NOW(),"; } $sql_insertonsubmit .=" categoryID='".mysql_real_escape_string($_POST['categoryID'])."', title='".mysql_real_escape_string($_POST['title'])."', comments='".mysql_real_escape_string($_POST['comments'])."', email='".mysql_real_escape_string($_POST['email'])."',"; if ($type == "COR"){ $sql_insertonsubmit .=" type='COR'"; } else { $sql_insertonsubmit .=" type=''"; } // Perform Query $result = mysql_query($sql_insertonsubmit); // Check result if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; die($message); } else { $sql_alert = "Het bericht is verzonden!<BR>"; ?> <script type="text/javascript"> setTimeout("window.close();",3000); </script> <?php if ($type!="COR" && in_array($categoryID,$notify_catid)){ // BEGIN - SEND MAIL $subject = "Logboek " . $section_items[$sectionID] . ": " . $_POST['title']; $message = "*** EMAIL NOTIFICATIE ***<BR><BR>"; $message .= "Formulier: \"Logboek " . $section_items[$sectionID] . "\"<BR>"; $message .= "Categorie: \"" . $category_items[$categoryID] . "\"<BR>"; $message .= "Onderwerp: " . $_POST['title'] . " (geplaatst door " . $_SESSION['username'] . ")<BR>"; $message .= "Inhoud : <em>zie hieronder</em><BR><BR>"; $message .= $_POST['comments']; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $headers .= 'From:' . $from . "\r\n"; $headers .= 'Cc:' . $cc . "\r\n"; $headers .= 'Reply-To:' . $from . "\r\n"; mail($to,$subject,$message,$headers); //echo "Mail Sent."; $sql_alert .= "<em>(en er is een mail verstuurd)</em><BR>"; // END - SEND MAIL } $sql_alert .= "<BR>Dit scherm sluit automatisch na 3 seconden"; } } } |
[ Voor 0% gewijzigd door RobIII op 09-11-2012 15:31 . Reden: Code tags gefixed ]