Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
i really need help on my script to make progressbar to work. progressb +ar in cgi web development. its the one which has given me hard time t +o figure out. every time i try it i get bad results. i need to have a + working example to practice it more and more #!/usr/bin/perl -w use lib '.'; use strict; use warnings; use DBI; use CGI; use MIME::Lite; use CGI::Carp qw(fatalsToBrowser); my $q = new CGI(); my $host = "localhost"; my $usr = "root"; my $pwd = ""; my $dbname = "tbl_users"; my $dbh = DBI->connect("DBI:mysql:$dbname:$host", $usr, $pwd, { AutoCommit => 0, RaiseError => 1, }) or die $DBI::errstr; my $sub = $q->param("sub"); my $msg = $q->param("msg"); my $success; if ($sub) { my $getemails = $dbh->prepare("SELECT DISTINCT EMAIL FROM USERS"); $getemails->execute(); my $dbemails = $getemails->fetchall_arrayref; my $emails = join ',',map{$_->[0]}@$dbemails; my $to = ''; my $from = ''; my $subject = $sub; my $message = " $msg "; my $MSG = MIME::Lite->new( From => $from, To => $to, Bcc => $emails, Subject => $subject, Data => $message ); $MSG->send; $success = "mail was sent successfully"; } $dbh->disconnect || die "$DBI::errstr\n"; print "Content-type: text/html\n\n"; print <<START_HTML; <!DOCTYPE html> <html> <head> <title>Mail Send</title> <style type="text/css"> body { background-color: white; font-family: Verdana; font-size: small; color: black } #trough { background-color: silver; border: 1px solid black; height: 24px } #bar { background-color: #669900; height: 24px; width: 1% } </style> </head> <body> <h1>Mail My DB Customers</h1> <div id="form" style="display: block; margin: auto; width: 350px"> <fieldset> <legend>Send Mail</legend> <form name="mail" method="post" onSubmit="return sendMail(thi +s)"> Subject: <input type="text" name="sub" size="20"><br> Message: <input type="text" name="msg" size="20"><br> <input type="submit" value="Send Mail"> </form> </fieldset> </div> <div id="progress" style="margin: auto; width: 350px"> <fieldset> <legend>Sending...</legend> <div id="trough"><div id="bar"></div></div> Percent: <span id="percent">0</span>% </fieldset> </div> <span>$success</span> <div id="debug"></div> <script type="text/javascript"> // When the form is submitted. function sendMail(frm) { // Show the progress indicator. document.getElementById("progress").style.display = "block"; // Wait a bit and make ajax requests. setTimeout("getProgress()", 1000); return true; } // Poll for our progress. function getProgress() { var ajax = new XMLHttpRequest(); ajax.onreadystatechange = function() { if (ajax.readyState == 4) { gotProgress(ajax.responseText); } };"GET", "" + Math.floor(Math.random()*99999) +, true); ajax.send(null); } // Got an update function gotProgress(txt) { // Get vars outta it. var percent = 0; // Was it an error? if (stat[0] == "error") { document.getElementById("debug").innerHTML += "error: " + +stat[1]; setTimeout("getProgress()", 1000); return false; } // Separate the vars. var parts = stat[1].split("&"); for (var i = 0; i < parts.length; i++) { var halves = parts[i].split("="); if (halves[0] == "percent") { percent = halves[1]; } } document.getElementById("debug").innerHTML += "percent:" + per +cent + "<br>\n"; // Update the display. document.getElementById("bar").style.width = parseInt(percent) + + "%"; document.getElementById("percent").innerHTML = percent; // Set another update. setTimeout("getProgress()", 1000); return true; } </script> </body> </html> START_HTML

In reply to progress bar by bigup401

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2021-12-06 09:34 GMT
Find Nodes?
    Voting Booth?
    R or B?

    Results (32 votes). Check out past polls.