-
Posts
24,605 -
Joined
-
Last visited
-
Days Won
830
Everything posted by Barand
-
If you are outputting an image from a DB blob field, then here's an example... // EMULATE DATA FROM THE DATABASE $type = 'image/png'; $comments = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.'; $image_data = file_get_contents('images/snowman.PNG'); // OUTPUT THE DATA echo "<div style='width:396;'> <img src='data:{$type};base64," . base64_encode( $image_data ) . "' width='394' height='393'> <p>$comments</p> "; RESULT
-
You are passing the prices in the post data as the checkbox values, but don't use them (they can be spoofed). Instead use the id to get the price. EXAMPLE <?php $available_seasons = array ( 226 => array ( 'season_name' => '2022 - Season 1', 'season_price' => '25.99', 'season_start_date' => 'Jan. 1, 2022', 'season_end_date' => 'Mar. 31, 2022', 'prize' => 100, ), 227 => array ( 'season_name' => '2022 - Season 2', 'season_price' => '28.99', 'season_start_date' => 'Apr. 1, 2022', 'season_end_date' => 'Jun. 30, 2022', 'prize' => 100, ), 238 => array ( 'season_name' => '2022 - Season 3', 'season_price' => '40.99', 'season_start_date' => 'Jul. 1, 2022', 'season_end_date' => 'Sep. 30, 2022', 'prize' => 230, ), 239 => array ( 'season_id' => 239, 'season_name' => '2022 - Season 4', 'season_price' => '30.65', 'season_start_date' => 'Oct. 1, 2022', 'season_end_date' => 'Dec. 31, 2022', 'prize' => 300, ) ); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $total = 0; echo "<h3>Chosen seasons</h3>"; foreach ($_POST['choice'] as $id => $chosen) { $price = $available_seasons[$id]['season_price']; // get price from your data, not the user $total += $price; echo "{$available_seasons[$id]['season_name']} — \${$price}<br>"; } echo "<h3>Total due  \${$total}</h3><hr><br><br>"; exit; } ?> <!DOCTYPE html> <html lang="en"> <head> <title>Example</title> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script type='text/javascript'> function checkTotal(box) { var sum = parseFloat($("#total").val()) if ( $(box).is(":checked")) { sum += $(box).val() * 1 } else { sum -= $(box).val() * 1 } $("#total").val(sum.toFixed(2)) } </script> </head> <body> <form name='seasonForm' method="post" action=''> <fieldset> <legend>Tickets for Seasons</legend> <?php foreach ( $available_seasons as $k => $season ) { echo "<input name='choice[$k]' class='uk-checkbox' type='checkbox' value='{$season[ 'season_price' ]}' onclick='checkTotal(this)'/> {$season['season_name']}<br>"; } echo "<button type='submit'>Continue</button><br>"; ?> </fieldset> <input id='total' value='0' > </body> </html>
-
As you are processing a csv file, use fgetcsv() You indexes for the data are wrong - "dmcnum" will be index [0] (arrays number from 0 by default). You are giving all records inserted the same ID (00001) - not good. Use an auto_incrementing key in your db table. Defore connecting to your DB, call this code below to automate mysql error reporting mysqli_report(MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT); Forget mysqli and use the superior PDO library (better and easier)
-
AFAIK, DateTime and DateInterval only work with whole seconds. If you want to go smaller you'll need microtime()
-
Problems saving to sql after updating to PHP 7.3
Barand replied to JerryTellez's topic in PHP Coding Help
Two suggestions. Stop createing a new mysql connection every time you want to execute a query. Just connect once for each page. Stop using multi_query() - use query() -
A while() loop stops when the condition returns false (mysqli_fetch_array() returns false when there are no more records to fetch) A foreach() loops iterates through the elements of an array
-
I have a solution. SOLVED
-
<?php if (login_check($mysqli) == true) : ?> Cannot load
Barand replied to xhulio's topic in PHP Coding Help
-
Multidimentional Arrays [Creating and Looping for output]
Barand replied to Adamhumbug's topic in PHP Coding Help
If there are multiple reocords for years then each array element for the year need to be an array of records while($stmt -> fetch()){ $awards[$ay][] = [$id, $an, $aw]; } or while($stmt -> fetch()){ $awards[$ay][$id] = [$an, $aw]; } -
Help with getting Search Form to search within...
Barand replied to Chrisj's topic in PHP Coding Help
Getta better checker. When using wildcard (%) characters in a search, you need to use LIKE (not = ) Also, I would have thought the subcategory value in your search would be the same one that was selected to get you to that page, not the same as the other search values. Although not an error, you should be using prepared queries and not put variables in the query string. -
CSS <h1> & <p> class problem. Line changing/spacing
Barand replied to PeterBubresko's topic in CSS Help
Sorry about that poor advice. I didn't spot the warning in my IDE about improperly nested tags until after after I'd posted. <style type='text/css'> span.headline { font-size: 20pt; font-weight: 400; } </style> <body> <p><span class='headline'>Hello</span> World</p> </body> -
Help with getting Search Form to search within...
Barand replied to Chrisj's topic in PHP Coding Help
Getting your query syntax correct would be a good start. -
Little function like If $variable == 0 then echo "--"
Barand replied to paulmagm's topic in PHP Coding Help
if it is zero do this else do this endif Perhaps you should check if it's 0 then output according to the result of that check. -
CSS <h1> & <p> class problem. Line changing/spacing
Barand replied to PeterBubresko's topic in CSS Help
try <style type='text/css'> h1.headline { display: inline; } </style> <body> <p><h1 class='headline'>Hello</h1>World</p> </body> -
Can't you just let the users set their own system locale settings so they appear as they want. So in UK I would see 123.456 whereas someone in say, Germany, would see 123,456
-
get windows username onto a live server using php,or ajax
Barand replied to Sidhu's topic in PHP Coding Help
Don't post the same question every 30 minutes - once is enough. Closing this one.