Jump to content

undefined variable problem to populate text area


Murciano

Recommended Posts

I think im declaring this variable correctly "editor1" , yet  every time i run the script i get an error

Undefined variable: editor1 in <b>C:\wamp\www\simplycms\create_new_listing.php

.

 

This bit of script is to pull a title from a dropdown selection and then when submitted (by clicking) further information from a MySQL field named "editor1" is then sent to the textarea (line 59) where it is echoe'd

 

 

<?php
if (isset($_POST['submit']))
{
// lets retrieve the posted rowID
$rowID = $_POST['rowID'];

// Now select the template content that is associated with the rowID
$q = ("SELECT editor1 FROM templates WHERE editor1='$rowID'");

// Assign the template information into a variable
list($editor1) = mysql_fetch_row($result);<!-- ##### this is where the variable is assigned (i think) ##### -->

}
?>

<div id="editor_wrapper">
               <div id="editor">

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Location: <input type="text" name="location" size="40">  
Company Name: <input type="text" name="company_name" size="40"></p>
<input type="hidden" name="rowID" value="<?php echo $rowID; ?>"> 
            <textarea name="editor1"><?php echo $editor1; ?></textarea><!-- ###### this is line 59 ##### -->
            <script type="text/javascript">
                CKEDITOR.replace( 'editor1' );
            </script>
        </p>
        <p>
            <input type="submit" name="submit" />
        </p>
    </form>

 

anybody have any insights for a php newbie..thanks

Link to comment
Share on other sites

Just been trying a bit more on this and getting nowhere, what i have found though is when i unhide this hidden field for rowID

<input type="hidden" name="rowID" value="<?php echo $rowID ?>"

this also throws an undefined variable error, when i apply the fix from  taquitosensei and adapt it for rowID

<input type="hidden" name="rowID" value="<?php echo (isset($rowID))?$rowID:""; ?>">

then it pulls in the titles that are in the dropdown selector should this not be showing the numerical value of the rowID as it is an INT with auto increment..

 

 

Link to comment
Share on other sites

Hmmm this is the whole block of code that should get the variable and then populate the textfield, i've been at it for hours now and nothing will show in the <textarea> when the variable for editor1 is called.

 

<?php
if (isset($_POST['submit']))
{
// lets retrieve the posted rowID
$rowID = $_POST['rowID'];

// Now select the template content that is associated with the rowID
$q = ("SELECT editor1 FROM templates WHERE rowID='$rowID'");

// Assign the template information into a variable
list($editor1) = mysql_fetch_row($q) or die("A MySQL error has occurred.<br />Your Query: (" . mysql_errno() . ") " . mysql_error());

echo '<div id="editor_wrapper">';
echo '<div id="editor">';
}
?>

     <!-- ##### THIS FORM SHOWS (should show) THE INFORATION FROM EDITOR1 FIELD IN db ##### -->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <p>Location: <input type="text" name="location" size="40">  
             Company Name: <input type="text" name="company_name" size="40"></p>
            <input type="hidden" name="rowID" value="<?php echo (isset($rowID))?$rowID:""; ?>">
            <textarea name="editor1"><?php echo (isset($editor1))?$editor1:""; ?></textarea>
            <script type="text/javascript">
                CKEDITOR.replace( 'editor1' );
            </script>
           </p>
           <p>
            <input type="submit" name="submit" />
           </p>
</form>

 

when i echo rowID in the textarea it shows the title which is in the dropdown selector (assigned "name") in MySQl, this table only has 3 fields

 

rowID (INT)

name (VAR)

editor1(TEXT)

 

so why is rowID populating by using whats in the "name" field and why is the "editor1" not being echoed in the textarea (or elsewhere as i have done test echo's to see if it will echo anywhere else..

 

Link to comment
Share on other sites

Im still stuck with this, im getting no errors on the page yet the echo for "editor1" based on "id" just is not happening, any pointers on where i am going wrong would be higjly appreciated..

 

<?php include("header.php");  
?>
<div class="dropdown">
<p>

<!-- ##### CREATE THE DROPDOWN SELECTION ##### -->

<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
<?php
function create_dropdown($identifier,$pairs,$firstentry)
{
  $dropdown ="<select name=\"$identifier\">";
  $dropdown .= "<option name=\"Fetch Template\">$firstentry</option>";
  
  foreach($pairs AS $value => $name)
  {
   $dropdown .="<option name=\"$value\">$name</option>";
  }
  echo "</select>";
  return $dropdown;
}

// Lets gather the data from the templates table
$q = ("SELECT id, name FROM templates ORDER BY name");
$result = mysql_query($q);

// Now its time to build an array based on the templates table data
while($row = mysql_fetch_array($result))
{
    $value = $row["id"];
    $name = $row["name"];
    $pairs["$value"] = $name;
}

echo create_dropdown("id",$pairs,"Choose A Template");
?>
<input type="submit" name="submit" value="Fetch Template" />
</form>
</p>
</div>
<!-- ##### END THE DROPDOWN ##### -->

<!-- ##### BEGIN GETTING THE INFORMATION FROM THE SUBMITTED DROPDOWN DATA ##### -->

<?php

//$conn = mysql_connect("localhost", "root", "") or die ("can not connect");
//mysql_select_db("simplycms") or die ("cant find database");

// If the form has been submitted then:
if (isset($_GET['submit']))
  {
    // Get the posted id
    $id = $_GET['id'];
                       
    // Select the data that corresponds to the selected id
    $q = ("SELECT editor1 FROM templates WHERE id='$id'") or die("A MySQL error has occurred.<br />Your Query: " . $your_query . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());
    
    $result = mysql_query($q)or die("A MySQL error has occurred.<br />Your Query: " . $your_query . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());
    
    // Assign the template information to a variable
    list($editor1) = mysql_fetch_row($result);

}
?>

<!-- ##### THIS FORM SHOWS (or should show) THE INFORMATION FROM EDITOR1 FIELD IN db ##### -->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" name="test" method="post">
            <p>Location: <input type="text" name="location" size="40" />  
             Company Name: <input type="text" name="company_name" size="40" /></p>
            <input type="text" name="id" value="<?php echo (isset($id))?$id:""; ?>">
            <textarea name="editor1"><?php echo (isset($editor1))?$editor1:""; ?></textarea> // <-- THIS IS THE AREA I WANT THE ECHO TO SHOW
            <script type="text/javascript">
                CKEDITOR.replace( 'editor1',
{
     filebrowserBrowseUrl : 'ckfinder/ckfinder.html',
     filebrowserImageBrowseUrl : 'ckfinder/ckfinder.html?type=Images',
     filebrowserFlashBrowseUrl : 'ckfinder/ckfinder.html?type=Flash',
     filebrowserUploadUrl : 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
     filebrowserImageUploadUrl : 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
     filebrowserFlashUploadUrl : 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
} 
);
            </script>
           </p>
           <p>
            <input type="submit" name="submit" />
           </p>
</form>
     <!-- ##### END OF RETRIEVED FIELD DATA ##### -->
     
     <!-- ##### UPDATED TEMPLATES ARE THEN INSERTED ON SUBMIT TO "LISTINGS" TABLE IN db ##### --> 
<?php 
// this part updates the database with the newly created business listing
    
    if (isset($_POST['submit']))
    {
     $id = $_POST['id'];
     $location = $_POST['location'];
     $company_name = $_POST['company_name'];
     $editor1 = $_POST['editor1'];
     
     // lets populate the database with this new information
     
     $q = ("INSERT INTO listings SET location='$location', company_name='$company_name', editor1='$editor1'");
     
     $result = mysql_query($q);
     
     // success or failure ?
     if ($result) echo "<p>The new listing was successfully inserted into the database</p>";
     else echo "<p>There was a problem, the data got lost on the way.</p>";
    }
?>

     <!-- ##### END OF EDITING AND SENDING THE EDITED TO THE "LISTINGS" db TABLE ##### --> 
</div><!-- /editor -->
</div><!-- /editor_wrapper -->
<!-- START OF FOOTER -->
                                  
     </div><!-- /wrapper -->
</body>
</html>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.