PHP - Some Crazy Stuff
Why is it when a save a youtube video on my db it gives me this
<iframe width="220" height="240" src="http://www.youtube.com/embed/DCZ2l1BbWyY?wmode=opaque" frameborder="0" allowfullscreen></iframe><br> i have to save it twice so it can be view why if you want to see my edit videos page i will add it here Similar Tutorialshello guys, i'm new here, looking for some help.. here is the situation: This script is working fine on PHP 5.3.1 but i got a new host that uses 5.3.6 and now its no longer working? What can i change to make it work, and does anyone know where i can learn the different coding between the 2 updates? Code: [Select] <? include 'cpheader.php'; if (isset($_POST['submit'])) { $error = ($_POST['title'] == "") ? "You need to have a title!" : $error; $error = ($_POST['message'] == "") ? "You need to have a message!" : $error; if($error == ""){ $time = time(); $result= mysql_query("INSERT INTO `ads` VALUES('".$time."', '$user_class->id', '".$_POST['title']."', '".$_POST['message']."')"); echo Message("You have posted a news update.); } else { echo Message($error); } } ?> <tr><td class="contenthead">Post News</td></tr> <tr><td class="contentcontent"> This is the news that posts on the main page after you log in. HTML is turned on and you may use it to make your posts look a bit better than normal text, as well as add images. </td></tr> <tr><td class="contentcontent"> <form method='post'> <table width='100%'> <tr> <td width='25%'>Title:</td> <td width='25%'> <input type='text' name='title' size='40' maxlength='100'> </td> </tr> <tr> <td width='25%'>Message:</td> <td width='25%'> <textarea name='message' cols='60' rows='4' ></textarea> </td> </tr> <tr> <td width='25%'>Submit:</td> <td width='25%'> <input type='submit' name='submit' value='Post'> </td> </tr> </table> </form> </td></tr> <? include 'footer.php'; ?> I have a string: "system_controllers_qty" and i need it to be: "system_controllers.system_controllers_qty" I can use substr because the It wont always be 'system_controllers', it can be 'system_cpus' for example so I need to somehow break and the second underscore if possible. Any ideas? This topic has been moved to PHP Regex. http://www.phpfreaks.com/forums/index.php?topic=354568.0 include "header.php"; if(isset($_GET['post_id'])) { $select=mysqli_query($con,"select...."); while($data=mysqli_fetch_array($select)) { echo "bla bla bla"; to_head("<title>asd</title><meta itemprop="name" content="asdfasdf">..."); } } include "footer.php";This is samthing what i want... I have header.php and footer.php and any script ex news.php where how news and read SEO stuff from database and put in HEAD of the document. I tried with jquery like $("head").append(str); and it works but then i read google don't run jquery when vist website. This is done with drupal, wordpress and php-fusion Drupal: https://api.drupal.o...add_html_head/7 php-fusion: https://www.php-fusi...thread_id=30959 so it is possible but i don't know how. Any idea? This topic has been moved to MySQL Help. http://www.phpfreaks.com/forums/index.php?topic=318433.0 I've been trying for days to get this simple 1990's code to work. It won't work. Now, I don't even want to get it to work, because it's crappy ugly 1990's code... Is there an elegant way to accomplish this? (I just want to be able to manually override the default catalog prices as needed.) <?php //default catalog prices: $sku = "123456"; $price = "5.99"; if(isset($_POST[$sku])) { // if form submitted, and if( ${$_POST[$sku]} != $price) { //...and I manually changed price $price = ${$_POST[$sku]}; //...then change price to what I input } } echo '<form name="form1" method="post" action="Crappy1990sCodePage.php">'; echo '<input type="text" name="'.$sku.'" value="'.$price.'">'; echo '<input type="text" name="'.$sku.'" value="'.$price.'">';// (same sku may be listed twice) echo '<input type="submit" class="no_class_its_the_90s_remember">' echo '</form>'; ?> Thank you 😀 Edited July 25, 2020 by StevenOliveri can do stuff in html, php, flash, java and server developement
and work for more then 8 years in different segments for webprogramming.
german.
I got a snippet of code from here that will give me the Monday of any submitted date, so if I pass 12/08/10 it'll return 12/06/10 as the Monday, which is correct. I tried to expand it to give me the Tuesday of that week: Code: [Select] function getWeekDays($date) { $offset = ''; if( date('l', strtotime($date)) == 'Monday' ) { $offset = ''; } elseif( date('l', strtotime($date)) == 'Sunday' ) { $offset = 'Tomorrow'; } else { $offset = 'Last Monday'; } $monday = date('m/d/Y', strtotime("$date $offset")); $tuesday = date('m/d/Y', strtotime("+1 day", $monday)); return $tuesday; } I keep getting the UNIX epoch returned for $tuesday...obviously this is just confusing the crap out of me, could someone explain what it is I am doing wrong? Thanks Okay the page is structed like this. lets says i have a http://site.com/sdsddsa And it shows the following Quote <div class="data"> <div class="title"> <a class="title" href="http://www.site.com/product/dp/ITEMID/ref=sr_1_1?s=automotive&ie=UTF8&qid=1291906958&sr=1-1">ITEM ID</a> </div> <div class="newPrice"> <a href="http://www.site.com/product/dp/ITEMID/ref=sr_1_1?s=automotive&ie=UTF8&qid=1291906958&sr=1-1" > Buy new</a>:<span class="price"> $12.95</span> </div><br class="unfloat"> <div class="usedNewPrice"> <span class="subPrice"> <a href="http://www.site.com/product/dp/ITEMID/ref=sr_1_1?s=automotive&ie=UTF8&qid=1291906958&sr=1-1">2 new</a> from <span class="price">$12.95</span></span> <br class="unfloat"> </div> <div class="fastTrack"> <span class="getItBy">Get it by <span class='deliveryDate'>Friday, Dec 10</span></span> if you order in the next <span class='timeLeft'>8 hours</span> and choose one-day shipping.</div> <div class="sss"> Eligible for <span class="sssFree">FREE</span><span class="sssLastLine"> Super Saver Shipping.</span> </div> <div class="lowStock"> Only 3 left in stock - order soon.</div> </div> </div> And it repeated again! I need the ITEMID number from the LISTING and the Price for the item ID number. Can anyone help please! OK, about ready to go postal, as I've been wasting inordinate amounts of time trying to resolve this issue! If I create basic HTML echo-ed content, PHP works fine. But if I try to reference any database related syntax, the whole PHP web page breaks! VERY FRUSTRATING. This works: <?php // Printing results in HTML echo "<html>\n"; echo "<head>"; echo "</head>"; echo "<body bgcolor=\"#CCCCCC\">"; echo "<CENTER><H1>Current Inventory</H1>"; but this blows up and just gives me a white page with nothing!: <?php // Printing results in HTML echo "<html>\n"; echo "<head>"; echo "</head>"; echo "<body bgcolor=\"#CCCCCC\">"; echo "<CENTER><H1>Current Inventory</H1>"; $dbhostip = "192.168.0.10"; $dbport = "5432"; $dbname = "testdata"; $dbuser = "postgres"; $dbpass = "password1"; $dbconn = pg_connect($dbhostip,$dbport,$dbname,$dbuser,$dbpass); echo $dbconn; if(!$dbconn) { echo "An error has occurred (line 17)\n"; exit; } $result = pg_query($dbconn, "SELECT * FROM inventory"); if(!$result){ echo "An error has occurred (line 24)\n"; exit; } $resultCheck = pg_num_rows($result); if ($resultCheck > 0) { while ($row = pg_fetch_assoc($result)){ echo $row['cid']; echo $row['item_title']; } } ?> Any help would be appreciated. It seems that anything with $whatever causes the issue...
Hi I would like to know how to make a link select certain stuff from the database. For example the link called cape town with the id 11 is selected then the link must search through the events table for the city_id 11 and take that information and display it in another page. I would like to know how to do that or can you let me know of place that I can look. I have tried google but I don't know how to put what I'm looking for in words Hi, I'm designing a website for an online radio station. One show a week they have a DJ who has his own top 40 show with HIS top 40 listed on his own site At the moment, the only solution I have to getting the top 40 onto my clients site is an iframe (not good I know!) However, what's worse is that this top 40 list has horrendous colours that completely break the theme of my clients site and worse still, is Excel generated HTML! The author of this list is not a client of mine, and so, I can't do anything to persuade him to change. I've attached a copy of the offending file so you can see what I'm working with, changed the extension from html to txt for the forum post. Just for clarification, the excel generated HTML file is not hosted on my server (although I could set up a cron job to get it if required) I've done some digging and found a useful bit of code However, it displays the table 4 or 5 times In addition to this, is there a way to manipulate the width of the columns with this code? Code: [Select] <?php $oldSetting = libxml_use_internal_errors( true ); libxml_clear_errors(); $html = new DOMDocument(); $html->loadHtmlFile('Chart%20Table2.htm'); $xpath = new DOMXPath( $html ); $elements = $xpath->query( "//table" ); foreach ( $elements as $item ) { $newDom = new DOMDocument; $newDom->appendChild($newDom->importNode($item,true)); $xpath = new DOMXPath( $newDom ); foreach ($item->attributes as $attribute) { for ($node = $item->firstChild; $node !== NULL; $node = $node->nextSibling) { if (($attribute->nodeName =='valign') && ($attribute->nodeValue=='top')) { print($node->nodeValue); } else { print("<br>".$node->nodeValue); } } print("<br>"); } } libxml_clear_errors(); libxml_use_internal_errors( $oldSetting ); ?> Basically, I just want the table, I'm not bothered about the first column that contains some pictures as I think that's a separate table Ideally, I'd like to apply my own formatting to the table too (padding etc) if that is possible (eg from line 897 <td class=xl28 x:num>1</td>) down to line 1433 The trouble is, there is a lot of custom widths and styles inbetween which I don't want I'd like all the tr and td's without all the associated guff from the original export from Excel Geez I wish there was an easy way to get this guy just to export as CSV but unfortunately that's not an option! Many thanks in advance! Hi, I wrote a classFile to handle files that looks like this: class classfile { //path_parths is an array, use it this way //path_parts["filename"] -> filename //path_parts["dirname"] -> directory //path_parts["extension"] //path_parts["basename"] protected $path_parts; private $fullpath; function __construct($filename){ if(file_exists($filename)){ $this->fullpath = $filename; $this->path_parts= pathinfo($this->fullpath); } else{ die("File or Folder doesn't exist"); } } function move($destination){ if (file_exists($destination)){ rename($this->fullpath, $destination . "/" . $this->getfilename()); //Update properties $this->setfullpath($destination . $this->getfilename()); $this->setpath_parts(); } else{ die("The folder specified doesn't exist"); } } function copy($destination){ copy($this->fullpath, $destination); } function getpath(){ return $this->path_parts["dirname"]; } function getfilename(){ return $this->path_parts["basename"]; } function getextension(){ return $this->path_parts["extension"]; } function getfullpath(){ return $this->fullpath; } function setfullpath($path){ $this->fullpath = $path; } function setpath_parts(){ $this->path_parts = pathinfo($this->fullpath); } function __destruct() { ; } } ?> Then I extended it with a class to handle images that looks like this: include 'c:/wamp/www/classfile.php'; class classimage extends classfile{ var $image; var $image_info; var $image_type; function __construct($filename){ parent::__construct($filename); $this->image_info = getimagesize(parent::getfullpath()); $this->image_type = $this->image_info[2]; if( $this->image_type == IMAGETYPE_JPEG ) { $this->image = imagecreatefromjpeg(parent::getfullpath()); } elseif( $this->image_type == IMAGETYPE_GIF ) { $this->image = imagecreatefromgif(parent::getfullpath()); } elseif( $this->image_type == IMAGETYPE_PNG ) { $this->image = imagecreatefrompng(parent::getfullpath()); } } function save($filename, $image_type=IMAGETYPE_JPEG, $compression=80, $permissions=777) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image,$filename,$compression); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image,$filename); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image,$filename); } if( $permissions != null) { chmod($filename,$permissions); } } function output($image_type=IMAGETYPE_JPEG) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image); } } function getWidth() { return $this->image_info[0]; } function getHeight() { return $this->image_info[1]; } function resizeToHeight($height) { $ratio = $height / $this->getHeight(); $width = $this->getWidth() * $ratio; $this->resize($width,$height); } function resizeToWidth($width) { $ratio = $width / $this->getWidth(); $height = $this->getheight() * $ratio; $this->resize($width,$height); } function scale($scale) { $width = $this->getWidth() * $scale/100; $height = $this->getheight() * $scale/100; $this->resize($width,$height); } function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); echo "resized to:\n"; echo $width . "\n"; echo $height . "\n"; echo "imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight())\n"; imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight()); $this->image = $new_image; } function format(){ $width = $this->getWidth(); $height = $this->getHeight(); if ($width > $height){ return "landscape"; } if ($height > $width){ return "portrait"; } if ($height == $width){ return "square"; } } function isTooBig($maxsize){ $width = $this->getWidth(); $height = $this->getHeight(); if ($width > $maxsize || $height > $maxsize){ return true; } else{ return false; } } function __destruct() { ; } } ?> Now that I got this, I loop through images located in a folder that way: if ($handle = opendir($directory)) { while (false !== ($file = readdir($handle))) { //Instantiate the object $image = new classimage($directory . "/" . $file); //And do quite a lot of verification and particularly this: if ($image->format() == "landscape") { echo "width: " . $image->getWidth() . "\n"; echo "height: " . $image->getHeight() . "\n"; if ($image->isTooBig($maxsize_mini)) { $image->resizeToWidth($maxsize_mini); $image->save($directory . "/mini_" . $image->getfilename()); } } } And now to the problem: I echo'ed the resize function to see what's being run and I got that: picture1 imagecopyresampled(Resource id #26, Resource id #25, 0, 0, 0, 0, 608, 405.65, (), ()) picture2 imagecopyresampled(Resource id #27, Resource id #26, 0, 0, 0, 0, 250, 166.796875, (), ()) It looks like it's reusing an instantiation of the previous object and so on and so forth. In my mind, the way it should look is: picture1 imagecopyresampled(Resource id #2, Resource id #1, 0, 0, 0, 0, 608, 405.65, (), ()) picture2 imagecopyresampled(Resource id #2, Resource id #1, 0, 0, 0, 0, 250, 166.796875, (), ()) The previous object is destructed, the new one has the old id. how does that work? The reason I ask and wonder about this is because I'm having weird result for the resize such as a ridiculously small picture mini size in the actual mini size picture (250 px) except whatever is left is filled with black. I would like to automaclly get posts in a thread manually. Here's my design: -Bot goes to topic, looking for posts -He would search for a <a name="POSTIDHERE">, idenfity it and start the logging loop -Firstly he searches for a field <span id="author"> and logs the content inside it -Then he searches for a field <span id="content"> and logs the content of it -Finally flush it into database (or do it when a step is completed) -When all posts on the page are dealt, move to the next page I don't have a problem with looping ATM, the place I am confused is the second step and the logging steps. How would I do them? In JavaScript there is something called getElementsById. I cannot find the same function in PHP. Thanks! Hi guys, I am currently working on one of my assignments that requires PHP and think of myself as a beginner programmer, only having knowledge of Python and JavaScript. So I have a page that allows me to upload files to the server(no problem here), then I created a drop down menu that shows list of these and depending on which is selected can be viewed after clicking on a submit button(again no problem here). The problem occurs that after clicking submit to save the changes, it refreshes variable containing which file is the target and doesn't save the changes. Tried using sessions, but with no success and I am going absolutely crazy with this. I have been trying to resolve the issue for 5 hours straight. Here is the code if anyone is keen to help me out: <html> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>P2</title> <style> .uploadbox { background-color: skyblue; border: 1px, solid black; margin: 10px; padding: 5px; width: 20%; height: 10%; line-height: 50px; } .selectbox { background-color: skyblue; border: 1px, solid black; margin: 10px; padding: 5px; width: 25%; max-height: 50%; } </style> </head> <body> <h1>File Upload</h1> <form class="uploadbox" action="upload.php" method="post" enctype="multipart/form-data"> Select to upload: <input type="file" name="fileUpload1" id="fileUpload1"> <input type="submit" value="Upload file" name="submit"> </form> <br> <?php session_start(); $dirpath="uploads/"; $filenames=""; if(is_dir($dirpath)) { $files=opendir($dirpath); if($files) { while(($filename=readdir($files))!=false) if($filename!="." && $filename!="..") { $filenames=$filenames."<option>$filename</option>"; } } } $url = 'index.php'; $_SESSION['Open'] = htmlEntities($_POST['Open']); $file="uploads/".$_SESSION['Open']; // check if form has been submitted if (isset($_POST['text'])) { // save the text contents $newcontent = $_POST['text']; file_put_contents($file, $newcontent); // redirect to form again //header(sprintf('Location: %s', $url)); //printf(htmlspecialchars($url)); // exit(); } // read the textfile $text = file_get_contents($file); echo($newcontent); echo($file); echo($_SESSION['Open']); ?> <div class="selectbox"> <form action="" method="post"> <select name="Open"><?php echo $filenames; ?></select> <input type="submit" value="Open"/> </form> <form action="" method="post"> <textarea style="width:90%; height:20%;" name="text"><?php echo htmlspecialchars($text) ?></textarea> <br> <input type="submit" value="Save"/> </form> </div> </body> </html>
Need another set of eyes... I am getting: Quote Warning: Invalid argument supplied for foreach() in ... on line 83 $dup = array(); // Create an array to store the duplicate entries. foreach($fileList as $filename) { if (($handle = fopen(UPLOAD_PATH.$filename, "r")) != FALSE) { // Create the input array while(($data = fgetcsv($handle, 0, ",")) != FALSE) { $sql = "SELECT id FROM leads.prospect WHERE (email='{$data[3]}' OR phone='" . $format->stripPhoneChars($data[2]) . "') LIMIT 1"; $result = $db->query($sql); if (mysql_num_rows($result) == 0) { $sql = "INSERT IGNORE INTO leads.prospect (email, phone, ip, firstName, lastName, resort) VALUES ('" . trim($data[3]) . "', '" . $format->mysqlSafe($data[2]) . "', '" . $format->mysqlSafe($data[5]) . "', '" . $format->mysqlSafe($data[0]) . "', '" . $format->mysqlSafe($data[1]) . "', '" . $format->mysqlSafe($data[4]) . "')"; $result = $db->query($sql); $added++; } else { $dup = array_push($dup, array($data[0], $data[1])); } } fclose($handle); // Close the file } else { echo "<p>Could not load file $filename</p>"; } } echo "$added records added."; // Show me the duplicate data! echo "<h2>This is the data that would be dumped into the duplicate CSV file:</h2> <h3>" . count($dup)." Duplicates:</h3><ol>"; print_r($dup); echo $dup; foreach($dup as $d) { // <-------------------------------------- LINE 83 echo "<li>$d[0] $d[1] $d[2] $d[3]</li>"; } echo "</ol>"; Code: [Select] $winning_numbers = explode("|", "8|18|3,8|18|3"); while($ticket = $DB->fetch_row($query)) { $correct_numbers = 0; $correct = 0; $numbers_chosen = @explode("|","8|18|3,8|18|3"); $your_numbers = array(); $array1 = array_count_values($numbers_chosen); $array2 = array_count_values($winning_numbers); foreach($array1 as $number1 => $count1) { foreach($array2 as $number2 => $count2) { if($number2 == $number1 and $count2==$count1) $correct_numbers += $count2; } } $use = 0; echo $correct_numbers; echo "<br>"; As you can see, my $correct_numbers variable will spit out "3" because it matches 3 each INDIVIDUAL numbers from $numbers_chosen in the arrays. Now my problem is. This code wasn't supposed to take in a "," to. So essentially This should display "6" because I want it to read through each , as a new Array/Group if you will. So let's say if I changed it to: $winning_numbers = explode("|", "2|18|3,8|18|2"); $numbers_chosen = @explode("|","8|18|3,8|18|3"); It would echo out "4" As it only matches 4 of them. Once I know how to do this, I will have a full functioning lottery System on my site, I am very anxious for replies, Hope you can Help. Thank you. TLDR??: I want $correct_numbers to beable to count arrays with the comma's to ok this works fine and everything but when here when i try to let the admin changes stuff and goes to change the venue a list show appear and it does but when it save it save it as RBB FIELD <option value="RED BULL ARENA">RED BULL ARENA</option><option value="RBB FIELD ">RBB FIELD </option><option value="RED BULL ARENA">RED BULL ARENA</option> why does it do that?? HElp ANYONE Code Code: [Select] <?php if (isset($_GET['eid'])){ $newid = $_GET['eid']; $sqlCommand = "SELECT * FROM events WHERE id='$newid' LIMIT 1"; $out = mysql_query($sqlCommand); $row = mysql_fetch_assoc($out); $eventid = $row["id"]; $eventname = $row["eventname"]; $eventtype = $row["typeevent"]; $eventinfo = $row["eventinfo"]; $date = $row["date"]; $time = $row["time"]; $livetickets = $row["sale"]; $numtickets = $row["numtickets"]; $pricestudents = $row["studentsprice"]; $priceseniors = $row["seniorsprice"]; $priceadults = $row["adultsprice"]; $venues = $row["venue"]; $category = $row["category"]; $query = mysql_query("SELECT venuename FROM venue"); while ($row = mysql_fetch_array($query)){ $venues .= '<option value="' . $row['venuename'] . '">' . $row['venuename'] . '</option>'; } $form = "<form action='eevent.php' method='post' enctype='multipart/form-data'> <table> <tr> <td>REQUIRED FIELDS *</td> <td></td> </tr> <tr> <td>Event Name*</td> <td><textarea cols='17' rows='1' name='eventname' />$eventname</textarea></td> </tr> <tr> <td>Type of event*</td> <td><textarea cols='17' rows='1' name='typeevent' />$eventtype</textarea></td> </tr> <tr> <td>Event Inforamtion*</td> <td><textarea name='eventinfo' cols='40' rows='5'>$eventinfo</textarea></td> </tr> <tr> <td>Date</td> <td><input type='text' size='10' name='date' value='$date' /></td> </tr> <tr> <td>Time</td> <td><input type='text' size='10' name='time' value='$time' /></td> </tr> <tr> <td>When tickets go on sale</td> <td><input type='text' size='10' name='sale' value='$livetickets' /></td> </tr> <tr> <td>Number of Tickets Available </td> <td><input type='text' size='5' name='numtickets' value='$numtickets' /></td> </tr> <tr> <td><h4>Ticket Prices</h4></td> </tr> <tr> <td>STUDENTS</td> <td>$<input type='text' size='3' name='studentsprice' value='$pricestudents'/></td> </tr> <tr> <td>SENIORS</td> <td>$<input type='text' size='3' name='seniorsprice' value='$priceseniors'/></td> </tr> <tr> <td>ADULTS</td> <td>$<input type='text' size='3' name='adultsprice' value='$priceadults' /></td> </tr> <tr> <td>SELECT VENUE</td> <td> <select name='venue'> <option value='$venues'>$venues</option> </select> </td> </tr> <tr> <td>SELECT CATEGORY</td> <td> <select name='category'> <option value='$category'>$category</option> <option>FOOTBALL</option> <option>BASKETBALL</option> <option>HOCKEY</option> <option>DRAMA</option> <option>MUSIC</option> <option>DANCE</option> <option>VISUAL ARTS</option> </select> </td> </tr> <tr> <td></td> <td><input type='hidden' name='saveevent' value='$newid'/></td> <td><input type='submit' name='savechanges' value='Save Changes'/></td> </tr> </table> </form>"; echo "$form"; } if ($_POST['saveevent']){ $newid = mysql_real_escape_string($_POST['saveevent']); $eventname = mysql_real_escape_string($_POST['eventname']); $eventtype = mysql_real_escape_string($_POST['typeevent']); $eventinfo = mysql_real_escape_string($_POST['eventinfo']); $date = mysql_real_escape_string($_POST['date']); $time = mysql_real_escape_string($_POST['time']); $livetickets = mysql_real_escape_string($_POST['sale']); $numtickets = mysql_real_escape_string($_POST['numtickets']); $pricestudents = mysql_real_escape_string($_POST['studentsprice']); $priceseniors = mysql_real_escape_string($_POST['seniorsprice']); $priceadults = mysql_real_escape_string($_POST['adultsprice']); $venues = mysql_real_escape_string($_POST['venue']); $categorys = mysql_real_escape_string($_POST['category']); $sqlCommand = "UPDATE events SET eventname='$eventname', typeevent='$eventtype', eventinfo='$eventinfo', date='$date', time='$time', sale='$livetickets', numtickets='$numtickets', studentsprice='$pricestudents', seniorsprice='$priceseniors', adultsprice='$priceadults', venue='$venues', category='$categorys' WHERE id='$newid'"; $out = mysql_query($sqlCommand); echo "SAVE CHANGES COMPLETED!"; } ?> Okay, so I'm a relative newbie to PHP. I've been learning for a few months now, and while I get some bits and can fix most of my errors (with a little help from google occasionally), this one's something I can't explain. Basically, I've been building an admin panel so I can edit various content on a website, as you'd gather. It was all going pretty well, until something I did meant that my forms now do nothing. When I press update on the edit forms or add on the...well..add forms, they go back to the prefilled in content. Here is my add form: <?php include('/home/charioti/public_html/andalasia/admin/skin/header.php'); //form not yet submitted //display initial form if (!$_POST['submit']) { ?> <h1>Add Content</h1><div class="cont"> <table align="center"> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <tr> <td>Title:</td><td><input type="text" name="title" id="title"></td></tr> <tr><td>Content:</td><td><textarea name="content">text here</textarea></td></tr> <tr><td></td><td><input type="submit" name="submit" value="add"></td></tr></table></form> <?php } else { include('/home/charioti/public_html/andalasia/admin/conf.php'); //set up error list array $errorList = array(); $title = $_POST['title']; $content = $_POST['content']; //validation if(trim($_POST['title']) == '') { $errorList[] = 'Invalid entry: activity name'; } if(trim($_POST['content']) == '') { $errorList[] = 'Invalid entry: answer'; } //check for errors if(sizeof($errorList) == 0) { //db connect $connection = mysql_connect($host, $user, $pass) or die('Unable to connect!'); //db select mysql_select_db($db) or die('Unable to select database!'); //generate and execute query $query = "INSERT INTO info(title, content, date) VALUES('$title', '$content', NOW())"; $result = mysql_query($query) or die("Error in query: $query . " . mysql_error()); // print result echo 'content added! <a href=/admin/index1.php>home</a>'; //close database connection mysql_close($connection); } else { //errors found // print as list echo ' The following errors were encountered:'; echo '<br>'; echo '<ul>'; for($x=0; $x<sizeof($errorList); $x++) { echo "<li>$errorList[$x]"; } echo '</ul>'; } } include('/home/charioti/public_html/andalasia/admin/skin/footer.php'); ?> My header file, incase I've messed something the <? session_start(); if(!session_is_registered(username)){ header("location:/admin/index.php"); } ?> <HTML> <HEAD> <TITLE>Andalasia ~ admin: <?php echo basename($_SERVER["PHP_SELF"]); ?></TITLE> <LINK REL="STYLESHEET" HREF="/admin/skin/style.css" TYPE="TEXT/CSS"> </HEAD> <BODY> <TABLE CLASS="CON"> <TR> <TD> <IMG SRC="/admin/skin/adpo.png" style="border-top:0px solid #A10543"> </TD> </TR> <TR> <TD> <TABLE style="font:8pt arial"> <TR> <TD CLASS="nav" style="width:200px"> <DIV CLASS="navi"> <p class="header">navigation</p> <a href="" target="__blank">Guild HQ</a> <a href="/" target="__blank">Web HQ</a> <a href="/admin/index1.php">Admin HQ</a> <a href="/admin/logout.php">logout</a></DIV> <DIV CLASS="navi"> <p class="header">points</p> <?php include('/home/charioti/public_html/andalasia/admin/points.php')?> </DIV> <DIV CLASS="navi"> <P CLASS="header">update posts</p> <?php include('/home/charioti/public_html/andalasia/admin/news/list.php')?> <a href="/admin/news/add.php">Add a post</a> </DIV> <DIV CLASS="navi"> <P CLASS="header">information posts</p> <?php include('/home/charioti/public_html/andalasia/admin/info/list.php')?> <a href="/admin/info/add.php">Add a post</a> </DIV> <DIV CLASS="navi"> <P CLASS="header">activities</p> <a href="/admin/activities/onsite.php">Onsite activities</a> <a href="/admin/activities/offsite.php">Web-hosted activities</a> <a href="/admin/activities/creative.php">Creative web activities</a> </DIV> <DIV CLASS="navi"> <P CLASS="header">Graphics</p> <h2>Guild layouts</h2> <?php include('/home/charioti/public_html/andalasia/admin/layouts/layl.php')?> <a href="/admin/layouts/add.php">Add layout</a> <h2>Userlookups</h2> <?php include('/home/charioti/public_html/andalasia/admin/lookups/list.php')?> <a href="/admin/lookups/add.php">Add lookup</a> <h2>Banners</h2> <a href="/admin/banners/banners.php">Banners</a> <h2>Fonts</h2> <?php include('/home/charioti/public_html/andalasia/admin/fonts/list.php')?> <a href="/admin/fonts/add.php">Add font</a></DIV> <DIV CLASS="navi"> <P CLASS="header">Members</p> <?php include('/home/charioti/public_html/andalasia/admin/users/list.php')?> <a href="/admin/users/add.php">Add user</a> </DIV> <DIV CLASS="navi"> <!-- BEGIN CBOX - www.cbox.ws - v001 --> <div id="cboxdiv" style="text-align: center; line-height: 0"> <div><iframe frameborder="0" width="200" height="305" src="http://www2.cbox.ws/box/?boxid=2184566&boxtag=evz64m&sec=main" marginheight="2" marginwidth="2" scrolling="auto" allowtransparency="yes" name="cboxmain" style="border:#11011A 1px solid;" id="cboxmain"></iframe></div> <div><iframe frameborder="0" width="200" height="75" src="http://www2.cbox.ws/box/?boxid=2184566&boxtag=evz64m&sec=form" marginheight="2" marginwidth="2" scrolling="no" allowtransparency="yes" name="cboxform" style="border:#11011A 1px solid;border-top:0px" id="cboxform"></iframe></div> </div> <!-- END CBOX --> </DIV> </TD> <TD CLASS="c" VALIGN="TOP" style="width:600px"> And my edit file: <? // edit.php - edit a layout ?> <!-- page header - snip --> <? // includes include("/home/charioti/public_html/andalasia/admin/skin/header.php"); include("/home/charioti/public_html/andalasia/admin/conf.php"); // form not yet submitted // display initial form with values pre-filled if (!isset($_POST['submit'])) { // open database connection $connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!"); // select database mysql_select_db($db) or die ("Unable to select database!"); // generate and execute query $id = mysql_escape_string($_GET['id']); $query = "SELECT title, content, id FROM info WHERE id = '$id'"; $result = mysql_query($query) or die ("Error in query: $query. " . mysql_error()); // if a result is returned if (mysql_num_rows($result) > 0) { // turn it into an object $row = mysql_fetch_object($result); // print form with values pre-filled ?> <h1>Update post - ID <? echo $id; ?></h1> <div class=cont> <table class=view align=center> <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="hidden" name="id" value="<? echo $id; ?>"> <tr> <td valign="top"><b>Title</b></td> <td><input size="50" maxlength="250" type="text" name="title" value="<? echo $row->title; ?>"></td> </tr> <tr> <td valign="top"><b>Content:</b></td> <td><textarea name=content><? echo $row->content; ?></textarea></td> </tr> <tr> <td colspan=2><input type="Submit" name="submit" value="Update"></td> </tr> </form> </table> </div> <? } // no result returned // print graceful error message else { echo "<h1>Error!</h1><div class=cont>That post could not be located in our database.</div>"; } } else { // form submitted // start processing it // set up error list array $errorList = array(); $count = 0; // validate text input fields $title = mysql_escape_string($_POST['title']); $content = mysql_escape_string($_POST['content']); $id = mysql_escape_string($_POST['id']); if (!$title) { $errorList[$count] = "Invalid entry: title"; $count++; } if (!$content) { $errorList[$count] = "Invalid entry: content"; $count++; } // check for errors // if none found... if (sizeof($errorList) == 0) { // open database connection $connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!"); // select database mysql_select_db($db) or die ("Unable to select database!"); // generate and execute query $query = "UPDATE info SET title = '$title', content = '$content' WHERE id = '$id'"; $result = mysql_query($query) or die ("Error in query: $query. " . mysql_error()); // print result echo "<h1>Success!</h1><div class=cont>Update successful. <a href=/admin/index1.php>Go back to the main menu</a>.</font></div>"; // close database connection mysql_close($connection); } else { // errors occurred // print as list echo "<h1>Errors:</h1><div class=cont><font size=-1>The following errors were encountered: <br>"; echo "<ul>"; for ($x=0; $x<sizeof($errorList); $x++) { echo "<li>$errorList[$x]"; } echo "</ul></font></div>"; } } include('/home/charioti/public_html/andalasia/admin/skin/footer.php'); ?> I started off working with templates from my book and from various sources, so I've tried reseting my pages to those and reworking them, and I've deduced that it's probably something to do with my header file, I just can't work out what or whereabouts the problem is. Any help you can offer would be greatly appreciated. (: |