PHP - Data Contamination Issue - Reward Attached!
Dear Forum,
I have a problem that is getting the best of me due to the fact that it is hard to replicate and therefor hard to 'capture' in it's act. As I am not sure what the root cause is I apologize if this thread is posted in the wrong section. My possible guilty components are (PHP, Apache, MySQL, Mozilla Portable). Anyone that might have experienced what I experience and can help me to crack this one will be rewarded. Problem/Symptom: I have a application that stores data from a form in a GUI. This data is stored in the MySQL dB in individual columns and 95% of the data as serialized form. During the records life time it is uploaded from a Laptop to a central dB. This is where the problem starts. Sometimes (happens ones in around every 1000 records) the data when it is viewed on the central server have been contaminated with data from other records. On the only event I have examined the data was correct on the Laptop before upload even after upload which indicates that the contamination happened on the central level. Another finding was that part of the contaminated data came from a record that was uploaded two records later (in accordance with record ID numbering) then the contaminated record itself indicating that it has not happened during the transaction itself but at a later stage. Suspected Root Cause: In the beginning of the applications history the system had a record toggle functionality. When using this functionality and using the application with Mozilla Portable what was displayed in cash lost synchronization with MySQL and contamination occurred (this happened if toggling back and forward to fast). This was at the point in time a know bug/weakness in Mozilla Portable and was later corrected. After upgrading this part of the application the problem disappeared. (before it could be easily replicated). I cannot replicate this contamination and wonder if it still might be related to Mozilla Portable or if anyone else have experienced something similar? Happy to financially reward anyone that can help crack this one. Thank you for your time! Similar TutorialsI have a referal system. I want to have a reward for referring someone. I allocate a certain amount for the referal system (lets say $50). At level 1, nothing is given until you start referring people and the person(s) starts using the program. On level 2 you earn 9%($4.5 of $50) on level 3 you earn 27% On level 4 you earn 64% How do i go about this bearing in mind that a level 2 or 3, eventually becomes level 1 if he starts inviting people and those he invited starts using the program. Thanks I'm making a game in php and I'm wanting users to scan a QR code to get a URL, which takes them to a page on my website. I need the URL to have a parameter to identify the QR code and then be able to give the user a reward according to what QR code took them to the website. Anybody have any idea how I would go about this? Thanks. This topic has been moved to PHP Freelancing. http://www.phpfreaks.com/forums/index.php?topic=331336.0 Hey guys,
I have a PHP wrapper which I need a html form made for. It's a very small bit of work
In exchange I will give you a 15€ Gift Voucher for my online website, we are a sweets and drinks store online!
You can email me at dubplates@safe-mail.net
Many thanks,
- D
I'm working on a member modification page that works off of the javascript "onblur" method. Ideally the way I want it to work is when a person leaves the field they were in the second php script runs and returns to the page a value to the page. Right now it does just that with one problem - it won't run the attached script twice if the values are the same twice. For instance: If I'm tabbing through the fields several times for whatever reason and accidentally add an "a" to the name field one of those times, i realize this and want to go back to fix it. After I've fixed it I tab out and what should happen is the script runs, the new info is written to the databse, and the script returns new info for the page. What is currently happening is nothing - it doesn't seem to run the script. Using Chrome I see that it's executing the script but it isn't writing back to the page or updating the database. Any help or pointers I could get would be very welcome. Thanks! Scripts Below and attached: Member Edit Page: <?php $title = "TAPCO File Upload Data"; $top1 = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <title>"; $top2 = "</title> <link href='css.css' rel='stylesheet' type='text/css' /> <script type='text/javascript'> function attach_file( p_script_url ) { // create new script element, set its relative URL, and load it script = document.createElement( 'script' ); script.src = p_script_url; document.getElementsByTagName( 'head' )[0].appendChild( script ); } </script> </head> <body>"; $host="localhost"; // Host name $username="ftpuploads"; // Mysql username $password="password"; // Mysql password $db_name="ftpuploads"; // Database name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $unam = $_GET["unam"]; $q = "select * from members where username = '".$unam."'"; $r = mysql_query($q); $name = mysql_result($r, 0, 'name'); $email = mysql_result($r, 0, 'email'); $sp = mysql_result($r, 0, 'sp'); $sno = mysql_result($r, 0, 'sno'); $snow = "Sales Number: ".str_pad(mysql_result($r, 0, 'sno'), 3, 0, STR_PAD_LEFT); $fa = mysql_result($r, 0, 'fa'); $user = mysql_result($r, 0, 'user'); $admin = mysql_result($r, 0, 'admin'); $active = mysql_result($r, 0, 'active'); mysql_close(); if ($user == "0" && $admin == "1") { $disuoa = "Admin"; } elseif ($user == "1" && $admin == "0") { $disuoa = "User"; } else { die("Something is wrong, both admin and user have the same value"); } if ($active == "1") { $disactive = "Active"; } else { $disactive = "Inactive"; } if ($sp == "0") { $spcell = "<option value='1'>Yes</option> <option value='0' selected>No</option>"; } else { $spcell = "<option value='1' selected>Yes</option> <option value='0'>No</option>"; } if ($fa == "0") { $facell = "<option value='1'>Yes</option> <option value='0' selected>No</option>"; } else { $facell = "<option value='1' selected>Yes</option> <option value='0'>No</option>"; } if ($user == "0" && $admin == "1") { $uoacell = "<option value='User'>User</option> <option value='Admin' selected>Admin</option>"; } else { $uoacell = "<option value='User' selected>User</option> <option value='Admin'>Admin</option>"; } if ($active == "0") { $actcell = "<option value='1'>Yes</option> <option value='0' selected>No</option>"; } else { $actcell = "<option value='1' selected>Yes</option> <option value='0'>No</option>"; } echo $top1.$title.$top2; echo "<span id='disname'>".$name."</span><br /> <span id='disuname'>".$unam."</span><br /> <span id='disemail'>".$email."</span><br /> <br /><span id='dissno'>".$snow."</span><br /> <br /><span id='disuoa'>".$disuoa."</span><br /> <br /><span id='disactive'>".$disactive."</span><br /><br />"; echo "<form> <table> <tr> <td> Name </td> <td> Password </td> <td> Sales Person? </td> <td> Sales Number </td> <td> Full Access? </td> <td> User or Admin? </td> <td> Active? </td> </tr> <tr> <td> <input type='text' name='name' value='".$name."' onblur=\"javascript:attach_file('updatefield.php?span=disname&unam=".$unam."&fchan=name&val='+this.value)\" /> </td> <td> <span id='passres'><a href=\"javascript:attach_file('resetpassword.php?uname=".$unam."&email=".$email."')\">Reset and Send</a></span> </td> <td> <select name='sp' onblur=\"javascript:attach_file('updatefield.php?span=&unam=".$unam."&fchan=sp&val='+this.value, this.value)\"> ".$spcell." </select> </td> <td> <input type='text' name='sno' onblur=\"javascript:attach_file('updatefield.php?span=dissno&unam=".$unam."&fchan=sno&val='+this.value)\" /> </td> <td> <select name='fa'> ".$facell." </select> </td> <td> <select name='uoa'> ".$uoacell." </select> </td> <td> <select name='active'> ".$actcell." </select> </td> </table> </form> "; ?> updatefield page: <? $host="localhost"; // Host name $username="ftpuploads"; // Mysql username $password="password"; // Mysql password $db_name="ftpuploads"; // Database name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); header( 'Content-Type: text/javascript' ); $span = $_GET['span']; $username = $_GET['unam']; $fchan = $_GET['fchan']; $val = $_GET['val']; $q = "select ".$fchan." from members where username = '".$username."'"; $r = mysql_query($q); $fchanOrVal = mysql_result($r, 0, name); if ($fchanOrVal == $val) { die(); } else { $qu = "update members set ".$fchan." = '".$val."' where username = '".$username."'"; $ru = mysql_query($qu); echo "if ('".$span."' != '') { fchan_span_obj = document.getElementById( '".$span."' ); fchan_span_obj.innerHTML = '".$val."'; } else if ('".$span."' == '') { }"; } mysql_close(); ?> Hi
I have the following code, which works fine.
How can I pull in any images attached to the email and display them under the echo $val ?
Thanks
$mbox = imap_open("{SERVER}", "user", "pass"); echo "<h1>Mailboxes</h1>\n"; $folders = imap_listmailbox($mbox, "{SERVER}", "*"); if ($folders == false) { echo "Call failed<br />\n"; } else { foreach ($folders as $val) { echo $val . "<br />\n"; } } echo "<h1>INBOX</h1>\n"; $headers = imap_headers($mbox); if ($headers == false) { echo "Call failed<br />\n"; } else { $i=0; foreach ($headers as $val) { $i++; echo $val . "<br />\n"; } } imap_close($mbox); Hi guys I have created these codes below, uploadform.php Code: [Select] <html> <head> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <table> <tr> <td><div align="left">Submit photo </div></td> <td><div align="left"> <input type="file" name="file" id="file" /> </div></td> </tr> <tr> <td><div align="left"></div></td> <td><div align="left"> <input type="submit" name="Submit" value="Submit" /> </div></td> </tr> </table> </form> </body> </html> upload.php Code: [Select] <?php /************************ * Upload file *************************/ if (isset($_POST['Submit'])) { //if "email" is filled out, send email /*** Upload File ***/ if($_FILES["file"]["size"] < 20000) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { //echo "Upload: " . $_FILES["file"]["name"] . "<br />"; //echo "Type: " . $_FILES["file"]["type"] . "<br />"; //echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; //echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])) { //$_FILES["file"]["name"] // Do nothing... } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); $url = "http://asiamodeltalent.com/php/mt/" . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } /************************ * Insert path and filename to array *************************/ $fname = $_FILES["file"]["name"]; $files = array("$fname"); /************************ * Send Message to email *************************/ $to = "iridion_us@yahoo.com"; $from = "contact@coder9.com"; $subject ="Email File"; $message = "Test email with file attached.\n"; $headers = "From: $from"; // boundary $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // headers for attachment $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; // multipart boundary $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; $message .= "--{$mime_boundary}\n"; // preparing attachments $pathupload = "http://coder9.com/php/mt/" . "upload/"; for($x=0;$x<count($files);$x++){ //$file = fopen($files[$x],"rb"); $file = fopen($url[$x], "rb"); //$data = fread($file,filesize($files[$x])); $data = fread($file, filesize($url[$x])); fclose($file); $data = chunk_split(base64_encode($data)); $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" . "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; $message .= "--{$mime_boundary}\n"; } // send $ok = @mail($to, $subject, $message, $headers); if ($ok) { echo "<p>mail sent to $to!</p>"; } else { echo "<p>mail could not be sent!</p>"; } } ?> The problem with this codes is the file is attached but it's empty. By the way if you want to test it you need a sub directory of /upload What is the cause of this problem? Thanks in advanced. Code works when...
<script type="text/javascript"> var currenttime = '<?php print gmdate('F d, Y H:i:s', time() + (1 * 60 * 60))?>' var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December") var serverdate=new Date(currenttime) function padlength(what){ return (what.toString().length==1)? "0"+what : what } function displaytime(){ serverdate.setSeconds(serverdate.getSeconds()+1) var datestring=montharray[serverdate.getMonth()]+" "+padlength(serverdate.getDate())+", "+serverdate.getFullYear() var timestring=padlength(serverdate.getHours())+":"+padlength(serverdate.getMinutes())+":"+padlength(serverdate.getSeconds()) document.getElementById("servertime").innerHTML=datestring+" "+timestring } window.onload=function(){ setInterval("displaytime()", 1000) } </script>Code not works when... <script type="text/javascript" src="clock.js">I want to use second option. Any help? Hi all,
I need some help with my code as I've a trouble with sending the emails with images attachments. I'm using Pear Mail library to send the emails so when I send the emails with attachments to gmail, I am unable to see the attached images in my gmail inbox as there is no images show on the bottom of the subject unless when I open on my email so I can see the images attachments. And I am unable to see the images on yahoo when i sent the emails, so I sent a test email on my webmail with the images as attachments and I can see the images on gmail and yahoo with no problem. I think there is a problem with my PHP script that need to be resolve. //attachments if (is_array($email_attachments)) { foreach ($email_attachments as $attachments) { $filename = str_replace('uploads/', '', $attachments); $attachment = ''; $file_path = ''; $type = ''; if (strpos($filename, '.png') !== false) { $type .= 'image/png'; } // ADD attachment(s) $attachment1 .= "--$boundary1\r\n"; $attachment1 .= "Content-Type: $type; name=\"$filename\"\r\n"; $attachment1 .= "Content-Transfer-Encoding: base64\r\n"; $attachment1 .= "Content-Disposition: attachment; filename=\"$filename\"\r\n"; $attachment1 .= "\r\n\r\n"; $attachment1 .= $attachment; $attachment1 .= "\r\n\r\n"; $body .= $attachment1; $mime->addAttachment($file_path, $type); } }
Here is the full code: <?php require_once('Mail.php'); require_once('Mail/mime.php'); require_once('Mail/IMAPv2.php'); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); //Connect to the database include('config.php'); // Connect to the server: $username = 'myusername'; $password = 'mypassword'; $smtp_hostname = "smtp.mydomain.com"; $port = "587"; $attached_files = array(); $inline_images = array(); global $inline_images; if (isset($_POST['send_to'])) { $from = "Mark <name@mydomain.com>"; $to_email = $_POST['send_to']; $subject = $_POST['email_subject']; $message ='<div dir="ltr">' . $_POST['email_body'] . '</div>'; $email_attachments = $_POST['email_attachment']; $total_emails = count($to_email); $email_number = $_POST['email_number']; $sent_message = $message; $attachment1 = ''; $inline_id = 0.1; $success = ''; $base64 = []; $src = []; //Check if the images is base64 if (strpos($message, 'data:image/') !== false) { // read all image tags into an array preg_match_all('/<img.*?src="data:image\/.*;.*,(.*)".*?>/i', $message, $match, PREG_PATTERN_ORDER); $base64 = array_pop($match); if (is_array($src)) { foreach($base64 as $images) { $type = end(explode('/', (explode(';', $images))[0])); $filename = md5(time().uniqid()). '.' . $type; $base64_string = str_replace('data:image/png;base64,', '', $images); $base64_string = str_replace(' ', '+', $base64_string); $decoded = base64_decode($base64_string); $fp = fopen("uploads/". $filename, "w+"); fwrite($fp, $decoded); fclose($fp); } } } //check if the inline images is in the array if (strpos($message, '<img src=') !== false) { // read all image tags into an array preg_match_all('@src="([^"]+)"@' , $message, $match); $src = array_pop($match); if (is_array($src)) { foreach ($src as $key => $value) { $parsed = parse_url($src[$key]); $filename = basename($parsed['path']); $content = file_get_contents($src[$key]); if (!file_exists($filename)) { $fp = fopen("uploads/". $filename, "w+"); fwrite($fp, $content); fclose($fp); } } } } $boundary1 = '###'.md5(microtime()).'###'; $boundary2 = '###'.md5(microtime().rand(99,999)).'###'; foreach ($to_email as $to) { $name = ''; $email = ''; if (strpos($to, ' <') !== false) { $name_str = explode(' <', $to); $email_str = explode(' <', $to); $name = $name_str[0]; $email = str_replace('>', '', $email_str); $email = $email[1]; } $messageID = sprintf("<%s.%s@%s>", base_convert(microtime(), 10, 36), base_convert(bin2hex(openssl_random_pseudo_bytes(8)), 16, 36), 'mydomain.com'); $message_id = getMessageid(isset($message_id)); $now = new DateTime(); $email_id = $now->getTimestamp(); $sent_date = date('Y-m-d H:i:s'); $sent_mailbox1 = $link->prepare("SELECT * FROM sent WHERE message_id = ?"); $sent_mailbox1->execute([$message_id]); $emailID = ''; if (!$name == '' && !$email == '') { if ($name == $email) { $to = $email; } } if ($sent_mailbox1->rowCount() == 0) { $sent_mailbox1 = $link->prepare("INSERT INTO sent (from_email, to_email, message_id) VALUES (?,?,?)"); if ($sent_mailbox1->execute([$from, $to, $message_id])) { $emailID = $link->lastInsertId(); } } //check if the images is base64 if (is_array($base64)) { $sent_message .= 'http://mydomain.com/u/?id='.$email_id.'&attid='.$inline_id.'&msgid='.$message_id.'&view=attachment&display=view'; $inline_id += 0.1; } else if (!$base64 == '') { $sent_message .= 'http://mydomain.com/u/?id='.$email_id.'&attid='.$inline_id.'&msgid='.$message_id.'&view=attachment&display=view'; $inline_id += 0.1; } //check if the inline images is in the array if (is_array($src)) { $sent_message .= 'http://mydomain.com/u/?id='.$email_id.'&attid='.$inline_id.'&msgid='.$message_id.'&view=attachment&display=view'; $inline_id += 0.1; } else if (!$src == '') { $sent_message .= 'http://mydomain.com/u/?id='.$email_id.'&attid='.$inline_id.'&msgid='.$message_id.'&view=attachment&display=view'; $inline_id += 0.1; } $message .= '<img src="http://mydomain.com/track/Images/signature.gif?id='.$emailID.'&etc='.time(). '" ' . 'style="width:0;max-height:0;overflow:hidden" alt="">'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject, 'Reply-To' => $from, //'Content-Type' => 'Content-Type: text/plain; charset="UTF-8"', 'Content-Type' => 'Content-Type: multipart/mixed; boundary="=_d909e7abc497193ad3b6636530382391"', 'MIME-Version' => '1.0', 'Received' => 'from mail.mydomain.com', 'Date' => date("r"), 'Message-ID' => '<'.sha1(microtime(true)).'@mydomain.com>'); $crlf = "\r\n"; $mime = new Mail_mime(array('eol' => $crlf)); //$mime = new Mail_mime("\r\n"); $html = $message; $text = strip_tags($html); $body = $html; $mime->setTXTBody($text); $mime->setHTMLBody($html); //check if the img tags have url called display=view if (strpos($message, 'display=view') !== false) { $pattern = '@src="([^"]+)"@'; $message = preg_replace_callback($pattern,"setImageLinks", $message); foreach ($inline_images as $inline_image) { $file_path = $inline_image; $typeInt = imagetype($file_path); //code goes here to find the imagetype case switch ($typeInt) { case IMG_GIF: $imageType = 'image/gif'; break; case IMG_JPG: $imageType = 'image/jpg'; break; case IMG_JPEG: $imageType = 'image/jpeg'; break; case IMG_PNG: $imageType = 'image/png'; break; case IMG_WBMP: $imageType = 'image/wbmp'; break; case IMG_XPM: $imageType = 'image/xpm'; break; default: $imageType = 'unknown'; } $mime->addHTMLImage($file_path, $imageType); } } //attachments if (is_array($email_attachments)) { foreach ($email_attachments as $attachments) { $filename = str_replace('uploads/', '', $attachments); $attachment = ''; $file_path = ''; $type = ''; if (strpos($filename, '.png') !== false) { $type .= 'image/png'; } // ADD attachment(s) $attachment1 .= "--$boundary1\r\n"; $attachment1 .= "Content-Type: $type; name=\"$filename\"\r\n"; $attachment1 .= "Content-Transfer-Encoding: base64\r\n"; $attachment1 .= "Content-Disposition: attachment; filename=\"$filename\"\r\n"; $attachment1 .= "\r\n\r\n"; $attachment1 .= $attachment; $attachment1 .= "\r\n\r\n"; $body .= $attachment1; $mime->addAttachment($file_path, $type); } } // always call these methods in this order $mime_params = array( 'text_encoding' => '7bit', 'text_charset' => '"UTF-8"', 'html_charset' => '"UTF-8"', 'head_charset' => '"UTF-8"' ); //$body = $mime->get(array('text_encoding' => '8bit','html_encoding' => '8bit')); $body = $mime->get($mime_params); $headers = $mime->headers($headers); $smtp_params = array ('host' => $smtp_hostname, 'port' => $port, 'auth' => true, // Note 1 'username' => $username, 'password' => $password); $smtp = Mail::factory('smtp', $smtp_params); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Email has been sent!</p>"); $response = array("success"=>$success); echo json_encode($response); } } }
Do you know why the images wont show up on yahoo and gmail when I send the images as attachment?
I have checked on the image path and i have put the correct image path so it should work fine.
Any advice would be much appreciated. Thanks in advance.
Edited June 5, 2020 by mark107
I am trying to implement this for two days now but stuck with logics ! Please help. Hello one and all, Just a quick request here, I've written a script that sends an email with an attached file by the user. (docx, txt, pdf, doc, rtf) are the formats I have accepted. At the moment I'm sending them with the following... Code: [Select] $fileatt_type = "application/pdf"; // File Type It works fine with all formats in older email clients, i.e, like yahoo before they updated the layout, but in the newer versions it's specific and if I try to send it this way it is always delivered as a .PDF and doesn't open if it is any of the other formats. It may sound silly but I've searched a fair bit for the other extensions or formats to include instead of the above code (maybe something like application/doc or something) but there doesn't seem to be a list. Can anyone point me in the right direction? Much obliged, PHP the learned. I need Delete Duplicate Email Records That Are Attached To One Account But Can Be Found In Multiple Accounts I have a table, consumer_mgmt. It collects consumer information from various forms. These forms are available through different pages that are part of a business package. A business can offer these signups to gather names and emails from consumers for various types of specials they may offer. So a consumer my be in the consumer_mgmt table 5, 10, 15 times for that particular business. But, that consumer may be in the consumer_mgmt table multiple times for a different business. So multiple times for multiple businesses. I need to remove duplicates for each business account so the consumer is only the consumer_mgmt only once for each business. There are approximately 15,000 rows currently in the consumer_mgmt table. I'm not sure where to begin on the logic. Since there are multiple business accounts that the emails are attached to, would one have to build a case for each loop? <?php error_reporting(0); $servername = "localhost"; $username = "user"; $password = "pw"; $dbname = "news"; $datatable = "ttrss_user_labels2"; // MySQL table name $datatable2 = "ttrss_entries"; $results_per_page = 10; // number of results per page // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } ?> <?php if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; }; $start_from = ($page-1) * $results_per_page; $sql = "SELECT * FROM ".$datatable2.", ".$datatable." WHERE article_id = id ORDER BY date_entered DESC LIMIT $start_from, ".$results_per_page; $rs_result = $conn->query($sql); ?> <?php while($row = $rs_result->fetch_assoc()) { ?> <?php $title = preg_replace('/[^(\x20-\x7F)]*/','', $row['title']); $content = preg_replace('/[^(\x20-\x7F)]*/','', $row['content']); ?> <table id="news" border="1" cellpadding="1" class="mx-auto col-xs-12 col-sm-12 col-md-12 col-lg-12"> <tr class="wrap"><td class="rounded-lg shadow curved"> <?php echo '<div charset="UTF-16" class ="text-center" style ="font:14px/18px Arial,tahoma,sans-serif top:5px">', $title, '<hr class=mx-auto></div>'; ?> <?php echo '<div charset="UTF-16" class ="text-center" style ="font:11px/21px Arial,tahoma,sans-serif">', $content, ' ', '<a href= "' . $row['link'] . '" target=_blank>Read More</a>', '</div>'; ?> <div style ="font:9px/15px Arial,tahoma,sans-serif" class="text-right"><? echo date('F j, Y g:i a', strtotime($row["date_entered"])) ?><br></div> <? echo '</td></tr></table><br><br>'; ?> <?php }; ?> <!--Grid row--> <div class="row d-flex justify-content-center"> <!--Grid column--> <div class="top_menu col-xs-12 col-sm-12 col-md-12 col-lg-12"> <div class="container"> <div class="row"><div class="col-md-9"> <ul class="pagination pagination-sm pagination-centered"> <?php $sql = "SELECT COUNT(ID) AS total FROM ".$datatable2; $result = $conn->query($sql); $row = $result->fetch_assoc(); $total_pages = ceil($row["total"] / $results_per_page); // calculate total pages with results $firstPage = 0; // or 1, depending on your implementation $currentPage = (int)$_GET['page']; if ($currentpage != $total_pages) { $nextpage = $currentPage + 1; $prevpage = $currentPage - 1; echo "<li><a href='index.php?page=$prevpage'><<</a></li> "; // for ($i=1; $i<=$total_pages; $i++) { // print links for all pages for($i = $page + 1; $i <= min($page + 4, $total_pages); $i++) { echo "<li><a href='index.php?page=".$i."'"; if ($i==$page) echo " class='curPage'"; echo ">".$i."</a></li> "; }; echo "<li><a href='index.php?page=$nextpage'>>></a></li> "; // echo "<li><a href='index.php?page=$total_pages'>last</a></li></u><br><br>"; } ?> </div></div></div><div class="clearfix">
Hi fellow PHP coders, I have gotten stuck with this code a bit as I was trying to build my first pagination script. I am getting only the 10 latest results from the database on all result pages. I am not sure what exactly I did wrong in this code to make it show all the results database has to offer spanning across pages at a rate of 10 per page from most current first to the oldest. Anyone have any ideas what I am doing wrong here? Any suggestions are much appreciated.
I have a major problem; I have two tables - Category and Product The catID is the primary key for Category and acts as the foreign key for Product. I have some example data below; CATEGORY catID: 3 cat: Pink PRODUCT prodID: 1 product: Fuchsia catID: 3 prodID: 2 product: Dark Pink catID: 3 what I want is the page to display the data like this? Header: Pink Content: Fuchsia Dark Pink Below is the code thus far; Code: [Select] <?php error_reporting(E_ALL ^ E_NOTICE); ini_set("display_errors", 1); require ('includes/config.inc.php'); include ('./includes/header.html'); require (MYSQL); include ('./includes/main.html'); if($id = isset($_GET['catID'])) { $q = ('SELECT `category`.`catID` , `category`.`cat` , `product`.`product` FROM `product` LEFT JOIN `hairext`.`category` ON `product`.`catID` = `category`.`catID` WHERE `product`.`catID`="'.$_GET['catID'].'"'); $r = mysqli_query($dbc, $q); echo '<div id="right">'; $num = mysqli_num_rows($r); for ($j = 0 ; $j < $num ; ++$j) { $row = mysqli_fetch_row($r); echo '<h1>' . $row[1] . '</h1>'; } while($row = mysqli_fetch_array($r)) { echo '<p>'; echo $row[2]; echo "<br />"; echo '</p>'; } echo '</div>'; } include ('./includes/footer.html'); ?> At the moment, this is not doing what I want, I apologise if this is very long winded, but how do I solve this problem please? Hi... I encountered problem in my query and while loop my data was duplicates when I join 2 tables, because the one field that I need to display is from another table. here is my code: Code: [Select] <div> <table> <thead> <th>Items</th> <th>Sub Items</th> <th>Item Code</th> <th>Demanded Qty</th> <th>UoM</th> <th>Class</th> <th>Description</th> <th>BIN Location</th> </thead> <?php $sql = "SELECT Items FROM bom_items ORDER BY Items"; $res_bom = mysql_query($sql, $con); while($row = mysql_fetch_assoc($res_bom)){ echo "<tr> <td style='border: none;font-weight: bold;'> $row[Items]</td> </tr>"; //$sql = "SELECT SubItems, ItemCode, UoM, Class, Description FROM bom_subitems WHERE Items = '$row[Items]' ORDER BY Items"or die(mysql_error()); //$sql = "SELECT DISTINCT bs.SubItems, bs.ItemCode, bs.UoM, bs.Class, bs.Description,w.BINLocation FROM bom_subitems bs LEFT JOIN wms w ON bs.Items = w.Items WHERE bs.Items = '$row[Items]' AND w.Items = '$row[Items]' ORDER BY bs.Items, w.Items"or die(mysql_error()); $sql = "SELECT DISTINCT bs.SubItems, bs.ItemCode, bs.UoM, bs.Class, bs.Description,w.BINLocation FROM bom_subitems bs, wms w WHERE bs.Items = '$row[Items]' AND w.Items = '$row[Items]' ORDER BY bs.Items, w.Items"or die(mysql_error()); $res_sub = mysql_query($sql, $con); while($row_sub = mysql_fetch_assoc($res_sub)){ echo "<tr> <td style='border: none;'> </td> <td style='border: none;'> $row_sub[SubItems]</td> <td style='border: none;'> $row_sub[ItemCode]</td> <td> </td> <td style='border: none;' size='3'> $row_sub[UoM]</td> <td style='border: none;'> $row_sub[Class]</td> <td style='border: none;'> $row_sub[Description]</td> <td style='border: none;'> $row_sub[BINLocation]</td> </tr>"; } } ?> I will attach my sample page. Thank you My db table has columns "id" (int-11), "date(varchar-50)", "author name(varchar-100)", "text (varchar-100000)"... I am storing images + text in text field of database. Everything is going fine while i am using ckeditor to insert data into the database for that particular text field. Now when i am retrieving data from database... i am able to extract id, date, autorname successfully (i have check it while the issue came)..but when i am trying to retrieve text field which have image, that jumps to page not found error... what could be the issue... am i having problem with database or editor that i am using???? Hello everyone,
<?php $sql = ";WITH TOTAL_KWH_WINTER AS ( SELECT CONVERT(VARCHAR(10),cdate,111)AS trans_date, datepart(hh, cdate) as trans_hour, comm_id, MIN((total_energy_a+total_energy_b+total_energy_c)/100) AS minUsage, MAX((total_energy_a+total_energy_b+total_energy_c)/100) AS maxUsage, meter_multiplier FROM [radiogates].[dbo].[purge_data] LEFT OUTER JOIN [radiogates].[dbo].[ops_invoice] on [radiogates].[dbo].[purge_data].[comm_id] = [radiogates].[dbo].[ops_invoice].[meter_id] where comm_id='$comm_id'and meter_multiplier is not null group by comm_id, CONVERT(VARCHAR(10),cdate,111), datepart(hh, cdate), meter_multiplier ) SELECT *, datepart(weekday, trans_date) as trans_date_day, datepart(month, trans_date) as trans_date_month, ((maxUsage - minUsage)*meter_multiplier) as totalUsage FROM TOTAL_KWH_WINTER where datepart(weekday, trans_date) IN ('1', '2', '3', '4', '5', '6', '7') AND DATEPART(MONTH, trans_date) IN ('10','11','12','1','2','3','4') and trans_date BETWEEN '$startdate2 00:00:01' AND '$enddate2 24:00:00' "; $query = sqlsrv_query($conn, $sql);if ($query === false){ exit("<pre>".print_r(sqlsrv_errors(), true));}while ($row = sqlsrv_fetch_array($query)){ $sumUsageKWH += $row[totalUsage];}sqlsrv_free_stmt($query);?>**************For whatever reason, my browser will not let me put this code where it needs to go, so its up top. Sorry for the inconvenience.************* My concern are code lines 4 through 15 I have PHP code that queryies MSSQL for data called kilowatt hours (kWh), set in a combination of three columns. kWh is set into the db table once every minute and it a value that starts at zero (0) at the beginning of the meters life, then continues until it reaches 10,000,000 before resetting back to zero (0). This happens over weeks, months or years, but it does happen. The code I have listed here makes no consideration of this reset. Since we are alsways querying between a start date and a stop date, we need to know the kWh usage between that period. So, we used maxUsage - minUsage and called that the totalUsage. That works great until the data reset at 10M. At that point, max usage will be some value (ex. 1 kWh), where min usage will be some value (ex. 9,999,999 kWh). the system breaks down at that point. I need to find an algorithm that helps me take into consideration this rolling number set. Thanks for any help! Edited by Butterbean, 16 January 2015 - 09:28 AM. Hello, I am writing a data retrieval script, in order to print data stored in a DB. For some reason the script does not work.. More details below.. Code: [Select] the form that calls the initiator script.. <form method='get' action="init.Get.php"> <div><input type="submit" name="get" value="See Data"></div> </form> Code: [Select] the initiator script <?php include 'dataGet.class.php'; $data= new getData(); $data= getData($name, $email, $text); ?> Code: [Select] my class.. <?php class getData { private $name; private $email; private $text; function __construct(){ $this->host = 'localhost'; $this->uname = 'root'; $this->pword = '1111'; $this->dbname = 'teststorage'; $this->dbtable = 'userData'; } function getData($name, $email, $text){ $this->dbconnect = mysql_connect($this->host, $this->uname, $this->pword); if (!$this->dbconnect) die("Connection Unable " . mysql_error()); mysql_select_db($this->dbname); $sql_query = "SELECT * FROM $this->dbtable "; $result = mysql_query($sql_query); if ($result){ echo $result; } else{ echo "Retrieval Unsuccesful"; } mysql_close($sql_query); } } ?> Can someone please tell me what am I doing wrong? Thank you in advance. Hi there, I have a form submitting to a mysql database. It was requested that I put a multiple file upload option on it. So I added the fields to the form and the database and added the upload script to the form processing file (and of course created the folder on the server with proper permissions to upload to). It should upload the file(s) to the folder on the server and insert the filename into the database. I keep getting: HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request. This leads me to believe the upload script isn't working properly. If someone could take a look at it I would be a very happy guy. This is the upload script: (insert.php) Code: [Select] <?php $con = mysql_connect("server","user","pass"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("db", $con); $dateSubmitted = date("Y-m-d"); $target = "attachments/"; $target = $target . basename( $_FILES['doc1']['name']); $target = $target . basename( $_FILES['doc2']['name']); $target = $target . basename( $_FILES['doc3']['name']); $target = $target . basename( $_FILES['doc4']['name']); $target = $target . basename( $_FILES['doc5']['name']); $sql="INSERT INTO investments (active, project, inv_amount, account_type, prefix, first_name, last_name, address1, address2, city, province, postal_code, country, phone, email, referral_fee, ref_agent, ship_name, ship_address, ship_city, ship_province, ship_postal, ship_country, notes, dateSubmitted, doc1, doc2, doc3, doc4, doc5) VALUES ('$_POST[active]','$_POST[account_type]','$_POST[project]','$_POST[inv_amount]','$_POST[prefix]','$_POST[prefix]','$_POST[first_name]','$_POST[last_name]','$_POST[address1]', '$_POST[address2]','$_POST[city]','$_POST[province]','$_POST[postal_code]','$_POST[country]','$_POST[phone]','$_POST[email]','$_POST[referral_fee]','$_POST[ref_agent]','$_POST[ship_name]','$_POST[ship_address]','$_POST[ship_city]','$_POST[ship_province]','$_POST[ship_postal]','$_POST[ship_country]','$_POST[notes]','$_POST[dateSubmitted]',$_FILES['doc1']['name'],$_FILES['doc2']['name'],$_FILES['doc3']['name'],$_FILES['doc4']['name'],$_FILES['doc5']['name'])"; //Writes the photo to the server if(move_uploaded_file($_FILES['doc1']['tmp_name'], $target)) if(move_uploaded_file($_FILES['doc2']['tmp_name'], $target)) if(move_uploaded_file($_FILES['doc3']['tmp_name'], $target)) if(move_uploaded_file($_FILES['doc4']['tmp_name'], $target)) if(move_uploaded_file($_FILES['doc5']['tmp_name'], $target)) { //Tells you if its all ok echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory"; } else { //Gives and error if its not echo "Sorry, there was a problem uploading your file."; } if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } //echo "1 record added"; header("Location: ../forms.php"); mysql_close($con) ?> Thanks in advance. JE ARRAY Example scaled down to two (renamed example only) fields $data = array( "field1" => "Text within quotes processes OK", "field2" => "Text within quotes processes OK" );
The frustating thing has been trying to figure out how to $text1 = $db_field['sampletext1']; $text2 = $db_field['sampletext2']; I have tried: $data = array( "field1" => $text1, "field2" => $text2 ); *** (AND) *** $data = array( "field1 => '$text1', "field2 => '$text2' );
But neither approach works, even though the text in both $data = array( "field1 => "text1", "field2 => "text2" ); I also tried using strval but that did not work.
So how on earth to get the (actual) text from $text1 and
It is probably something simple, so maybe I don't know Thanks for any enlightenent. -FreakingOUT
Edited January 28, 2019 by FreakingOUT |