rocky48 Posted July 17, 2012 Share Posted July 17, 2012 I have scripted an input form which outputs using POST method and all of the posts work bar one! I am using FPDF and want to change the font colour, so I have devised a method where I have created a string for the RGB values, like so: 255000000 = Red and so on. This method worked previously, but I am trying to streamline the scripts to make it easier to maintain. In the latest version of the script it does not work since I added the Select input method. I added a SELECT list in front of the previous script to enable the user to select a card size. I am puzzled why only this part does not work and the rest does? Here is the script for the form: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- Generated by Avanquest Technology v:8.0. For information please visit: http://www.avanquestusa.com/ --> <html lang="en"> <head> <title> Verses - A5 Portrait </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Style-Type" content="text/css;"> <link rel="stylesheet" href="1066mk2_g.css" type="text/css" media="screen,projection,print"> <!--// Document Style //--> <link rel="stylesheet" href="Vinput_p.css" type="text/css" media="screen,projection,print"> <!--// Page Style //--> <script src="cverses_g.js" type="text/javascript"></script> <!--// Document Script //--> </head> <body BGCOLOR="#00ff66"> <span id="e11"></span> <span id="e12"></span> <span id="e13"></span> <span id="e14"></span> <span id="e15"></span> <span id="e16"></span> <div id="e3" class="navigation"> <a id="a3" class="navigation" href="index.html" target="Vframe5>index"> Home</a> </div> <div id="e4" class="navigation"> <a id="a4" class="navigation" href="1066mk2_002.htm" target="Vframe5>1066mk2_002"> Links</a> </div> <div id="e5" class="navigation"> <a id="a5" class="navigation" href="1066mk2_003.htm" target="Vframe5>1066mk2_003"> Techniques</a> </div> <div id="e6" class="navigation"> <a id="a16" class="navigation" href="topiclist_frame.html" target="Vframe5>topiclist_frame"> Forum</a> </div> <div id="e7" class="navigation"> <a id="a7" class="navigation" href="1066mk2_004.htm" target="Vframe5>1066mk2_004"> Contact Us</a> </div> <div id="e8" class="navigation"> <a id="a8" class="navigation" href="1066mk2_006.htm" target="Vframe5>1066mk2_006"> Gallery</a> </div> <div id="e31" class="cc03"> <form NAME=Lists action="Prnpdf.php" method="post"> <Table> <tr> <th>Card Size</th> </tr> <td> <select name="CSize"> <option value="A5P"> A5 Portrait</option> <option value="A5L"> A5 Landscape</option> <option value="A5PS"> A5 Portrait (single)</option> <option value="A6P"> A6 Portrait</option> <option value="A6L"> A6 Landscape</option> <option value="A6PS"> A6 Portrait (Single)</option> <option value="7x5P"> 7" x 5" Portrait</option> <option value="7x5L"> 7" x 5" Landscape</option> <option value="6x4P"> 6" x 4" Portrait</option> <option value="6x4L"> 6" x 4" Landscape</option> <option value="DLP"> DL Portrait</option> <option value="DLL"> DL Landscape</option> <option value="120SQP"> 120mm Square Portrait</option> <option value="120SQL"> 120mm Square Landscape</option> <option value="125SQP"> 125mm Square Portrait</option> <option value="125SQL"> 125mm Square Landscape</option> <option value="130SQP"> 130mm Square Portrait</option> <option value="130SQL"> 130mm Square Landscape</option> <option value="135SQP"> 135mm Square Portrait</option> <option value="135SQL"> 135mm Square Landscape</option> <option value="145SQP"> 145mm Square Portrait</option> <option value="145SQL"> 145mm Square Landscape</option> <option value="150SQP"> 150mm Square Portrait</option> <option value="150SQL"> 150mm Square Landscape</option> <option value="160SQS"> 160mm Square (Single)</option> <option value="190SQS"> 190mm Square (Single)</option> <option value="200SQS"> 200mm Square (Single)</option> <option value="210SQS"> 210mm Square (Single)</option> </select> <p><strong>Input Verse ID:</strong><br/> <input type="text" size="10" name="ID"/></p> <p><strong>Input Distance from top in mm:</strong><br/> <input type="text" size="10" name="Top"/></p> <p><strong>Input Font size in points:</strong><br/> <input type="text" size="10" name="font"/></p> <p><strong>Check only ONE Tick Box in each section!</strong></p> <p><strong>Text Colour</strong></p> <input type="checkbox" name="txtcolor" value="000000000" /> Black<br /> <input type="checkbox" name="txtcolor" value="255215000" /> Gold<br /> <input type="checkbox" name="txtcolor" value="192192192" /> Silver<br /> <input type="checkbox" name="txtcolor" value="255000000" /> Red<br /> <input type="checkbox" name="txtcolor" value="000255000" /> Green<br /> <input type="checkbox" name="txtcolor" value="000000255" /> Blue<br /><br /> <p><strong>Text Font</strong></p> <input type="checkbox" name="fontface" value="French Script MT" /> French Script MT<br /> <input type="checkbox" name="fontface" value="Batavia" /> Batavia <br /> <input type="checkbox" name="fontface" value="Algerian" /> Algerian <br /> <input type="checkbox" name="fontface" value="Bladerunner" /> Bladerunner <br /> <input type="checkbox" name="fontface" value="Brush Script" /> Brush Script<br /> <input type="checkbox" name="fontface" value="Helterskelter" /> Helterskelter<br /> <input type="checkbox" name="fontface" value="Justice" /> Justice<br /> <input type="checkbox" name="fontface" value="Magneto" /> Magneto<br /> <input type="checkbox" name="fontface" value="Old English" /> Old English<br /> <input type="checkbox" name="fontface" value="Sneakerhead Outline" /> Sneakerhead Outline<br /> <input type="checkbox" name="fontface" value="Trendy" /> Trendy<br /> <input type="checkbox" name="fontface" value="Vladimir Script" /> Vladimir Script<br /> </div> <div id="e32" class="cc03"> <p><strong>Border Images (PORTRAIT)</strong></p> <input type="checkbox" name="image" value="empty.jpg" /> No Border<br /> <input type="checkbox" name="image" value="Border10p.jpg" /> Rose Border<br /> <input type="checkbox" name="image" value="Border2p.jpg" /> Chequered Border<br /> <input type="checkbox" name="image" value="Border11p.jpg" /> Ribbon Border<br /> <input type="checkbox" name="image" value="Border5p.jpg" /> Yellow Border<br /> <input type="checkbox" name="image" value="Corner2p.jpg" /> Leaf Corners<br /> <input type="checkbox" name="image" value="corner1p.jpg" /> Laurel Corners<br /><br /> <p><strong>Border Images (LANDSCAPE)</strong></p> <input type="checkbox" name="image" value="empty.jpg" /> No Border<br /> <input type="checkbox" name="image" value="Border10l.jpg" /> Rose Border<br /> <input type="checkbox" name="image" value="Border2l.jpg" /> Chequered Border<br /> <input type="checkbox" name="image" value="Border11l.jpg" /> Ribbon Border<br /> <input type="checkbox" name="image" value="Border5l.jpg" /> Yellow Border<br /> <input type="checkbox" name="image" value="Corner2l.jpg" /> Leaf Corners<br /> <input type="checkbox" name="image" value="corner1l.jpg" /> Laurel Corners<br /><br /> <input type="submit" value="Submit"/> </form> </div> </body> </html> Here is the output script: <?php include("loc_cverse_connect.php"); doDB(); //Get the Card Variables $Get_Size_sql = "SELECT * FROM csize WHERE Size ='".$_POST["CSize"]."'"; $Get_Size_res = mysqli_query($mysqli, $Get_Size_sql) or die(mysqli_error($mysqli)); //$sql = "SELECT * FROM `csize` WHERE Size=\"A5P\""; if (mysqli_num_rows($Get_Size_res) < 1) { //this Card does not exist $display_block = "You have selected an invalid Card size. Please try again."; } else { //get the Event ID while ($Size_info = mysqli_fetch_array($Get_Size_res)) { $BoxX = stripslashes($Size_info['BoxX']); $Cellw = stripslashes($Size_info['Cellw']); $Cellh = stripslashes($Size_info['Cellh']); $SizeI = stripslashes($Size_info['Size']); $SID = stripslashes($Size_info['SID']); $floatx = stripslashes($Size_info['floatx']); $floaty = stripslashes($Size_info['floaty']); $floatw = stripslashes($Size_info['floatw']); $floath = stripslashes($Size_info['floath']); $ort = stripslashes($Size_info['ort']); } //create the display string $display_block = "$ort"; } //verify the Event exists $Get_Verse_sql = "SELECT ID, Event, Sub_Type, Verse FROM Verses WHERE ID = '".$_POST["ID"]."'"; $Get_Verse_res = mysqli_query($mysqli, $Get_Verse_sql) or die(mysqli_error($mysqli)); if (mysqli_num_rows($Get_Verse_res) < 1) { //this Event does not exist $display_block = "You have selected an invalid Event. Please try again."; } else { //get the Event ID while ($Verse_info = mysqli_fetch_array($Get_Verse_res)) { $Verse = stripslashes($Verse_info['Verse']); } //create the display string $display_block = "$Verse"; //free results mysqli_free_result($Get_Verse_res); mysqli_free_result($Get_Size_res); //close connection to MySQL mysqli_close($mysqli); } require('fpdf.php'); class PDF extends FPDF { var $B; var $I; var $U; var $HREF; function PDF($orientation='P', $unit='mm', $size='A4') { // Call parent constructor $this->FPDF($orientation,$unit,$size); // Initialization $this->B = 0; $this->I = 0; $this->U = 0; $this->HREF = ''; } function SetStyle($tag, $enable) { // Modify style and select corresponding font $this->$tag += ($enable ? 1 : -1); $style = ''; foreach(array('B', 'I', 'U') as $s) { if($this->$s>0) $style .= $s; } $this->SetFont('',$style); } } $txtcolor = $POST[txtcolor]; $r = substr($txtcolor,0,3); $g = substr($txtcolor,4,3); $b = substr($txtcolor,7,3); $image=$_POST[image]; $pdf = new PDF($ort,'mm','A4'); $pdf->AddPage(); $pdf->AddFont('French Script MT','','frscript.php'); $pdf->AddFont('Batavia','','Batavia_.php'); $pdf->AddFont('Algerian','','Alger.php'); $pdf->AddFont('Bladerunner','','BLADRMF_.php'); $pdf->AddFont('Brush Script','','BRUSHSCI.php'); $pdf->AddFont('Helterskelter','','Helte___.php'); $pdf->AddFont('Justice','','Justice_.php'); $pdf->AddFont('Magneto','','MAGNETOB.php'); $pdf->AddFont('Old English','','OldEngl.php'); $pdf->AddFont('Sneakerhead Outline','','Sneabo__.php'); $pdf->AddFont('Trendy','','Trendy__.php'); $pdf->AddFont('Vladimir Script','','VLADIMIR.php'); $pdf->SetTextColor($r,$g,$b); $pdf->SetFont($_POST[fontface],'',$_POST[font]); $pdf->SetXY($BoxX, $_POST[Top]); $pdf->Image($image,$floatx,$floaty,$floatw,$floath,jpg,''); $pdf->MultiCell($Cellw,$Cellh,$display_block,'' ,'C'); $pdf->SetFont(''); $pdf->Output('verse.pdf','D'); ?> Can anyone see where I have gone wrong? Quote Link to comment https://forums.phpfreaks.com/topic/265843-problem-with-forms/ Share on other sites More sharing options...
gristoi Posted July 18, 2012 Share Posted July 18, 2012 //check the variable is being passed through if (isset($_POST['CSize'])){ echo 'CSize is '.$_POST['CSize']; } // also your query should be quoted correctly $Get_Size_sql = "SELECT * FROM `csize` WHERE `Size` ='".$_POST["CSize"]."'"; // try echoing out the whole query string aswell echo $Get_Size_sql ; and switch your error handling on Quote Link to comment https://forums.phpfreaks.com/topic/265843-problem-with-forms/#findComment-1362387 Share on other sites More sharing options...
rocky48 Posted July 20, 2012 Author Share Posted July 20, 2012 Thanks it turned out to be a problem with the routine for working out the RGB values. Quote Link to comment https://forums.phpfreaks.com/topic/265843-problem-with-forms/#findComment-1363050 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.