I have the next part of the AJAX application that does not give any errors, but nothing is displayed on the screen, so I'm not sure where the problem is. Call this page directly from a browser with? Cmd & id = 1 should return or even call it without? Cmd should return a cmd error message.
edit: added test cases: I get a cmd error message, but when I pass & id = 1 (1 is a valid id), html does not return at all, the source view is completely empty. Did I use the echo incorrectly or something like that?
edit2: added echo in the first line: the first echo is not visible at all
edit3: reverting to the older version and making all the changes again, now I get a test character set when called with valid cmd and id parameters. The code I use is identical to the one shown below.
the code:
<?php echo "hello world"; error_reporting(E_ALL); if (isset($_GET["cmd"])) $cmd = $_GET["cmd"]; else die("You should have a 'cmd' parameter in your URL"); $id = $_GET["id"]; $con = mysqli_connect("localhost", "user", "password", "db"); echo "test con"; if(!$con) { die('Connection failed because of' .mysqli_connect_error()); echo "test error"; } //$con->query("SET NAMES 'utf8'"); $con->set_charset("utf8")); echo "test charset"; if($cmd=="GetSALEData") { echo "test cmdifloop"; if ($getRecords = $con->prepare("SELECT * FROM SALES WHERE PRODUCT_NO = ?")) { echo "test recordifloop"; $getHtml = $con->prepare("SELECT PRODUCT_DESC FROM SALES WHERE PRODUCT_NO = ?"); $getHtml->bind_param("s", $id); $getHtml->execute(); $getHtml->bind_result($PRODUCT_DESC); $getRecords->bind_param("s", $id); $getRecords->execute(); $getRecords->bind_result($PRODUCT_NO, $PRODUCT_NAME, $SUBTITLE, $CURRENT_PRICE, $START_PRICE, $PRICE_COUNT, $QUANT_TOTAL, $QUANT_SOLD, $ACCESSSTARTS, $ACCESSENDS, $ACCESSORIGIN_END, $USERNAME, $BEST_PRICEDER_ID, $FINISHED, $WATCH, $BUYITNOW_PRICE, $PIC_URL, $PRIVATE_SALE, $SALE_TYPE, $ACCESSINSERT_DATE, $ACCESSUPDATE_DATE, $CAT_DESC, $CAT_PATH, $COUNTRYCODE, $LOCATION, $CONDITIONS, $REVISED, $PAYPAL_ACCEPT, $PRE_TERMINATED, $SHIPPING_TO, $FEE_INSERTION, $FEE_FINAL, $FEE_LISTING, $PIC_XXL, $PIC_DIASHOW, $PIC_COUNT, $ITEM_SITE_ID ); while ($getRecords->fetch()) { $ccodes = array( "1" => "USA", "77" => "Germany", "16" => "Austria", "122" => "Luxemburg", "193" => "Switzerland", ); $conditions = array( "0" => "USA", "77" => "Germany", "16" => "Austria", ); $country = $ccodes[$COUNTRYCODE]; if ( $country == "" ) $country = "Not applicable"; $columns = array('FINISHED', 'WATCH', 'PRIVATE_SALE', 'REVISED', 'PAYPAL_ACCEPT', 'PRE_TERMINATED', 'PIC_XXL', 'PIC_DIASHOW'); foreach($columns as $column) { $$column = $row[$column] ? 'YES' : 'NO'; } imageResize($PIC_URL, 250, 300); file_put_contents($id, file_get_contents($PIC_URL)); $html = htmlentities(json_encode($PRODUCT_DESC)); $shortDate = strftime("%d %m %Y", strtotime($ACCESSSTARTS)); echo "<h1>".$PRODUCT_NAME."</h1> <div id='leftlayer' class='leftlayer'> <p><strong>Username: </strong>".$USERNAME." <p><strong>PRODUCT Number: </strong>".$PRODUCT_NO." <p><strong>Subtitle: </strong>".$SUBTITLE." <p><strong>SALE Start: </strong>".$ACCESSSTARTS." <p><strong>SALE End: </strong>".$ACCESSENDS." <p><strong>SALE Type: </strong>".$SALE_TYPE." <p><strong>Category: </strong>".$CAT_DESC." </div> <div class='leftlayer2'> <p><strong>Condition: </strong> ".$CURRENT_PRICE." <p><strong>Total Items: </strong> ".$QUANT_TOTAL." <p><strong>Total Sales: </strong> ".$QUANT_SOLD." <p><strong>Start Price: €</strong> ".$START_PRICE." <p><strong>Buyitnow Price: €</strong> ".$BUYITNOW_PRICE." <p><strong>PRICEs: </strong> ".$PRICE_COUNT." <p><strong>Revised: </strong> ".$REVISED." </div> <div class='leftlayer2'> <p><strong>Private: </strong> ".$PRIVATE_SALE." <p><strong>Finished: </strong> ".$FINISHED." <p><strong>Cancelled: </strong> ".$PRE_TERMINATED." <p><strong>Paypal: </strong> ".$PAYPAL_ACCEPT." <p><strong>Country: </strong> ". $country ." <p><strong>Location: </strong> ".$LOCATION." <p><strong>Shipping to: </strong> ". $country ." </div> <div id='rightlayer'> <img src='".$PIC_URL."' width='".$imageSize["width"]."' height='".$imageSize["height"]."'> <p><a href='#' onclick=\"makewindows(" . $html . "); return false;\">Click for full description </a></p> </div> </div> </div>"; } } function imageResize($imageURL, $maxWidth, $maxHeight) { $imageSize["width"] = 0; $imageSize["height"] = 0; $size = getimagesize($imageURL); if ($size) { $imageWidth = $size[0]; $imageHeight = $size[1]; $wRatio = $imageWidth / $maxWidth; $hRatio = $imageHeight / $maxHeight; $maxRatio = max($wRatio, $hRatio); if ($maxRatio > 1) { $imageSize["width"] = $imageWidth / $maxRatio; $imageSize["height"] = $imageHeight / $maxRatio; return $imageSize; } else { $imageSize["width"] = $imageWidth; $imageSize["height"] = $imageHeight; return $imageSize; } } else { die(print_r(error_get_last())); } } }
Sorry for the interval, but this happens automatically when I press the code button.