| |||||||
| Programming PHP, Perl, Ruby on Rails, AJAX, HTML, XHTML, CSS, JavaScript, MySQL and any other coding topics. |
![]() |
| | LinkBack | Thread Tools |
| | #1 (permalink) |
| Senior Member | Php Error *NP for whoever fixes it* Hey everyone, i am trying to fix my "edit" page and i cannot seem to get it. Whoever can help me with my error and fix it will receive some np$ ![]() Heres the error: Parse error: parse error, unexpected T_STRING in /home/john/public_html/vicious/tutorials/edit.php on line 19 Here is line 19: mysql_query("UPDATE tutorials SET title='".$_POST['title'].", preview=".$_POST['preview']." description=".$_POST['description'].", tutorial=".$_POST['tutorial'].", author=".$_POST['author']." WHERE tutorial=".$_REQUEST['tut']."); all the database stuff is correct (table, variables etc) so dont even post about that. Whoever can help me with my error and fix it will receive some np$
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D Last edited by Mike_Wiseman; 07-04-2005 at 10:20 AM. Reason: adding stuff |
| |
| | #2 (permalink) |
| Senior Member | Keep the NP...anyway, I see it would be much easier if you predefine the $_POST strings. because I see many quotes, and this is probably where the problem resides. Try this code: $title = $_POST['title']; $preview = $_POST['preview']; $description = $_POST['description']; $tutorial = $_POST['tutorial']; $author = $_POST['author']; $tut = $_REQUEST['tut']; // Now enter your SQL query if you wish.. $update_data = mysql_query("UPDATE tutorials SET title='$title', preview='$preview', description='$description', tutorial='$tutorial', author='$author' WHERE tutorial='$tut');
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design |
| |
| | #3 (permalink) |
| NamePros Member | I agree with Mike, except that you forgot to add a terminal quote at the end of the SQL statement. Should be: $update_data = mysql_query("UPDATE tutorials SET title='$title', preview='$preview', description='$description', tutorial='$tutorial', author='$author' WHERE tutorial='$tut' "); Perl/PHP are terrible at dealing with nested quotes. An alternative to the method descibed by Mike is to put a '/' before each nested quotation mark, but I think the above way is better. Good luck!
__________________ :music: Visit me at AdNom.com CreditMint.com - free credit reports, card offers and resources! |
| |
| | #4 (permalink) |
| Senior Member | Ya my mistake..sorry ![]() Thanks for the quick correction
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design |
| |
| | #5 (permalink) |
| Senior Member | Ok thanks, that fixed that problem, but now there is another one. :'(
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D |
| |
| | #6 (permalink) |
| Senior Member | Please paste it so that we can help you.
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design |
| |
| | #8 (permalink) |
| Senior Member | i dont really know the error, im a php n00b and a member on this forum made it for me, i played around with it and i guess i screwed it up. Heres the code: <?php if( isset( $_REQUEST['tut'] ) ){ $tut = $_REQUEST['tut']; // set your database infomation. include("config.php"); // connect to the mysql database server. $connect = mysql_connect($dbhost, $dbusername, $dbuserpass); // select the database mysql_select_db($dbname, $connect); $result = mysql_query("SELECT * FROM tutorials WHERE tutorial='$tut'"); // Retrieve all the data from the "tutorials" table if(mysql_query("SELECT * FROM tutorials WHERE product='$tut'")){ if( isset($_POST['title']) && isset($_POST['preview']) && isset($_POST['description']) && isset($_POST['tutorial']) && isset($_POST['author'])){ $update_data = mysql_query("UPDATE tutorials SET title='$title', preview='$preview', description='$description', tutorial='$tutorial', author='$author' WHERE tutorial='$tut' "); echo "Updated record!"; } else{ $row = mysql_fetch_array( $result ) ?> <form method="post" action="edit.php?tut=<?php echo $_REQUEST['tut']; ?>"> Title: <input name="title" value="<?php echo $row['title']; ?>"><br> Preview: <input name="preview" value="<?php echo $row['preview']; ?>"><br> Description: <textarea name="description"><?php echo $row['description']; ?></textarea><br /> Tutorial: <textarea name="tutorial"><?php echo $row['tutorial']; ?></textarea><br /> Author: <input name="author" value="<?php echo $row['author']; ?>"> <input type="submit" value="Save" name="submit"> </form> <?php } } else { echo "Error"; } } else{ header("Location: tutorials.php"); } ?> I dont know what there error is because it uses if/els and it just sais error so i dont know whats wrong
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D |
| |
| | #9 (permalink) |
| Senior Member | Before checking deeply into use of if/else, you sure that you have field product, at first glance you use tutorial='$tut' then product='$tut' am I missing somethig? mysql_query("SELECT * FROM tutorials WHERE product='$tut'")){
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design |
| |
| | #10 (permalink) |
| Senior Member | Ok, i change all the product= and tutorial= to title= and it works, but not i think there is something wrong with the $row = mysql_fetch_array( $result ) because when you click edit it is soposed to display the content that you have to edit in the input forms, but for some reason they arnt showing up.
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D |
| |
| | #11 (permalink) |
| Senior Member | Are you sure that you added ' ; ' to the statement? $result = somequeryhere; $row = mysql_fetch_array($result); extract($row); // this is recommended ..you'll just use $title instead of $row['title'] however if you do not wish, it shouldnt stop your code from working
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design |
| |
| | #12 (permalink) |
| Senior Member | where or how do i place the extractrow into the code? $row = mysql_fetch_array( $result ); extract($row); ?> <form method="post" action="edit.php?tut=<?php echo $_REQUEST['tut']; ?>"> Title: <input name="title" value="<?php echo $title; ?>"><br> Preview: <input name="preview" value="<?php echo $preview; ?>"><br> Description: <textarea name="description"><?php echo $description; ?></textarea><br /> Tutorial: <textarea name="tutorial"><?php echo $'tutorial; ?></textarea><br /> Author: <input name="author" value="<?php echo $author; ?>"><BR /> <input type="submit" value="Save" name="submit"> </form> ^ Would that work?
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D |
| |
| | #13 (permalink) |
| Senior Member | Yea, it should. but I see a few errors in code "><?php echo $'tutorial; ?></ $ and tutorial , remove the ' And try to remove the space here mysql_fetch_array($result); only extract($row) is usually under the $row = mysql_fetch_array()
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design |
| |
| | #14 (permalink) |
| Senior Member | Heres another error ![]() Warning: extract(): First argument should be an array in /home/john/public_html/vicious/tutorials/edit.php on line 23 here is line 23: extract($row);
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D |
| |
| | #15 (permalink) |
| Senior Member | Revise the $row please.. tell me what it has $row = ??
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design |
| |
| | #16 (permalink) |
| Senior Member | what do you mean? like the mysql rows? tables? like i said before, im a php n00b $row = mysql_fetch_array($result); ? rows: title preview description tutorial author
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D |
| |
| | #17 (permalink) |
| Pro Coder & Designer | try this: Code: $tutorial = mysql_fetch_array(mysql_query("select * from posts WHERE tut='$tut'"));
if (empty ($tutorial[id])) {
die("No info !");
}
echo $tutorial[title];
echo $tutorial[preview];
echo $tutorial[description];
etc...
__________________ Online Dragonball Game |
| |
| | #18 (permalink) |
| Senior Member | that didnt work, just created another error :'(
__________________ "Dont argue with an idiot, he will just drag you down to his level and beat you with expeirence. Dont argue with me, ill drag you down to my level and beat you with a baseball bat" :D |
| |
| | #19 (permalink) | ||
| Senior Member | Mike, send to me the whole file to ezzat @ safe-mail.net and mention your table field names in database, i 'll get working onto this. Ok received.. and err..it was a bit complicated, do not worry I tested everything on localhost. Well, basically, what you want it one file , edit.php which called the tutorial ID as i understand, and allow doing changes. It can submit info to itself, and if no form is submitted at first glance, it will just show the form. Lets get this clear, you should have a file called config.php contains database variables as regular; you should also have a file called form.html contains your html form as below exactly: Quote:
Quote:
I recognized a new field ID in table tutorials, it should get the id number from url and get the info according to ID not tutorial, and that was a little mistake. Just go to your table structure make sure you have the following structure field 1 - id int(25) PRIMARY KEY--important-- field 2 - title Whatever varchar or text you like, this is your choice field 3 - preview field 4 - description field 5 - tutorial field 6 - author Remember id is a new field. ID is primary key, ID is integer. id is assigned $_GET['tut'] meaning If you called edit.php?tut=12 it would find that $tut = $_REQUEST['tut'] // value in this case 12; Then run the statement where tutorial ID is 12 ![]() Hope that cleared it up
__________________ Custom WordPress theme design. Top notch free WordPress themes Custom Theme Design Last edited by Designporte; 07-04-2005 at 01:46 PM. | ||
| |
| | #20 (permalink) |
| NamePros Member | Obviously, something os getting mexied up with the table field names...
__________________ :music: Visit me at AdNom.com CreditMint.com - free credit reports, card offers and resources! |
| |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Tutorial: Getting started with PHP (The Basics) | deadserious | Webmaster Tutorials | 60 | 11-17-2007 11:35 AM |
| Googlism - What does google think of you? | deadserious | The Break Room | 55 | 12-15-2005 09:09 AM |
| Beware of PHP! | PolurNET | The Break Room | 25 | 03-29-2005 03:04 PM |