NamePros
Welcome, Guest! Ready to make a name for yourself in the domain business? We welcome both the hobbyist and professional domainer to join the discussion as part of the NamePros community.

Click here to create your profile to start earning reputation for posting, and trader ratings for buying & selling in our free e-marketplace. Build your trader rating with each successful sale. Our system has tracked over 100,000 sales and counting!
FAQ & TOS Register Search Today's Posts Mark Forums Read

Go Back   NamePros.com > Website Development Discussion Forums > Programming
Reload this Page Php Error *NP for whoever fixes it*

Programming PHP, Perl, Ruby on Rails, AJAX, HTML, XHTML, CSS, JavaScript, MySQL and any other coding topics.

Advanced Search


Closed Thread
 
LinkBack Thread Tools
Old 07-04-2005, 11:17 AM THREAD STARTER               #1 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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 11:20 AM. Reason: adding stuff
Mike_Wiseman is offline  
Old 07-04-2005, 11:35 AM   #2 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



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');
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Porte is offline  
Old 07-04-2005, 11:46 AM   #3 (permalink)
NamePros Member
 
ndelong's Avatar
Join Date: Jun 2005
Posts: 37
ndelong is an unknown quantity at this point
 



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!
ndelong is offline  
Old 07-04-2005, 11:53 AM   #4 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



Ya my mistake..sorry
Thanks for the quick correction
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Porte is offline  
Old 07-04-2005, 11:59 AM THREAD STARTER               #5 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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
Mike_Wiseman is offline  
Old 07-04-2005, 12:04 PM   #6 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



Please paste it so that we can help you.
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Porte is offline  
Old 07-04-2005, 12:06 PM   #7 (permalink)
Senior Member
 
Kodeking's Avatar
Join Date: Jun 2003
Location: Naperville Illinois
Posts: 1,786
Kodeking is just really niceKodeking is just really niceKodeking is just really niceKodeking is just really nice
 



Make sure that there is a semi-colon at the end of the previous line.
__________________
Quote:
Clan-Forums.com >> $30 BoardingForum.com >> $100
TalkWebHosting.com >> $200 AvoidChapter13.com >> $100
Send PM to make lesser offers on the above names.
Kodeking is offline  
Old 07-04-2005, 12:07 PM THREAD STARTER               #8 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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>
????: NamePros.com http://www.namepros.com/programming/104031-php-error-np-for-whoever-fixes.html
<?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
Mike_Wiseman is offline  
Old 07-04-2005, 12:19 PM   #9 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



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'")){
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Porte is offline  
Old 07-04-2005, 12:32 PM THREAD STARTER               #10 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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
Mike_Wiseman is offline  
Old 07-04-2005, 12:41 PM   #11 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



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
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Porte is offline  
Old 07-04-2005, 12:48 PM THREAD STARTER               #12 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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 />
????: NamePros.com http://www.namepros.com/showthread.php?t=104031
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
Mike_Wiseman is offline  
Old 07-04-2005, 01:06 PM   #13 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



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()
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Porte is offline  
Old 07-04-2005, 01:13 PM THREAD STARTER               #14 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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
Mike_Wiseman is offline  
Old 07-04-2005, 01:21 PM   #15 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



Revise the $row please.. tell me what it has $row = ??
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Porte is offline  
Old 07-04-2005, 01:27 PM THREAD STARTER               #16 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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
Mike_Wiseman is offline  
Old 07-04-2005, 01:32 PM   #17 (permalink)
Pro Coder & Designer
 
aween's Avatar
Join Date: Apr 2005
Location: Netherlands
Posts: 967
aween is just really niceaween is just really niceaween is just really niceaween is just really niceaween is just really niceaween is just really niceaween is just really niceaween is just really nice
 



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...
__________________
aween web development
aween is offline  
Old 07-04-2005, 01:41 PM THREAD STARTER               #18 (permalink)
Senior Member
Join Date: Jun 2004
Location: Ontario , Canada
Posts: 1,103
Mike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the roughMike_Wiseman is a jewel in the rough
 



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
Mike_Wiseman is offline  
Old 07-04-2005, 01:51 PM   #19 (permalink)
Senior Member
 
Porte's Avatar
Join Date: May 2005
Location: I'm right here
Posts: 3,526
Porte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud ofPorte has much to be proud of
 



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:
<form method="post" action="edit.php?tut=<?php echo $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 />
????: NamePros.com http://www.namepros.com/showthread.php?t=104031
<input type="submit" value="Save" name="submit">
</form>
at last you should have this only in your edit.php file:

Quote:
<?php
????: NamePros.com http://www.namepros.com/showthread.php?t=104031

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) or die(mysql_error());

// sql query
$result = mysql_query("SELECT * FROM tutorials WHERE id='$tut'");
$row = mysql_fetch_array($result);
extract($row);

// define POST
$title = $_POST['title'];
$preview = $_POST['preview'];
$description = $_POST['description'];
$tutorial = $_POST['tutorial'];
$author = $_POST['author'];

if (isset($title) && isset($preview) && isset($description) && isset($tutorial) && isset($author)) {
$update_data = mysql_query("UPDATE tutorials SET title='$title',
preview='$preview', description='$description', tutorial='$tutorial',
author='$author' WHERE id='$tut'");
echo "Updated record!";
include 'form.html';
} else {
include 'form.html';
}
?>
Set these up together in one directory and test. But wait,

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
__________________
WP Theme Developer
Your One-stop for Premium Magazine/CMS WordPress Themes
Deluxe Themes
Last edited by Designporte; 07-04-2005 at 02:46 PM.
Porte is offline  
Old 07-05-2005, 08:06 AM   #20 (permalink)
NamePros Member
 
ndelong's Avatar
Join Date: Jun 2005
Posts: 37
ndelong is an unknown quantity at this point
 



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!
ndelong is offline  
Closed Thread


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 12:35 PM
Googlism - What does google think of you? deadserious The Break Room 55 12-15-2005 10:09 AM
Beware of PHP! PolurNET The Break Room 25 03-29-2005 04:04 PM

Liquid Web Smart Servers  
All times are GMT -7. The time now is 06:04 AM.

Managed Web Hosting by Liquid Web
Domain name forum recommended by Domaining.com Powered by: vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0 Ad Management plugin by RedTyger