Forum Moderators: coopster

Message Too Old, No Replies

if statement get action error...?

         

sn202

12:34 pm on Dec 18, 2004 (gmt 0)

10+ Year Member



Hi, i'm using if statements to carryout an action, depending on the link clicked but i'm getting "Parse error: parse error in /home/sn202/public_html/useradmin.php on line 16" error which is the line "if ($action="show") {" any ideas wot wrong with this...?

PHP Code:
<?php $self $_SERVER['PHP_SELF'];
$username = $_POST['username'];
$role = $_POST['role'];
$action = $_GET['action'];
error_reporting(E_ALL);
#connect to MYSQL
$conn = @mysql_connect( "linuxproj", "***", "****" )
or die( "could not connect" );
#select the specified database
$rs = @mysql_select_db ( "db_sn202", $conn )
or die( "could not select database" );

$action=(isset($_GET['action'])? $_GET['action'] : "")

#runs slected PHP function
#show users
if ($action=="show") {
#create the sql query
$sql="select * from users";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die( "could not exercute query: " mysql_error() );
#write data
while( $row = mysql_fetch_array( $rs ) )
{
echo( "ID: " . $row["id"] );
echo( "Username: " . $row["username"];
echo( "role: " . $row["role"] . "<br>");
}
}
#add user
if ($action=="add") {
if( $username and $role ) #ensure values exist
{ #create the sql query
$sql="insert into users (username, role)
values ( $username, \"$role\" )";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die( "could not exercute query: " mysql_error();
#confirm the added record details
if($rs) { echo( "record added:$username $role" ); }
}

#delete user
if ($action=="delete") {
if( $username ) #ensure values exist
{ #create the sql query
$sql="delete from users where username=$username";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die( "could not exercute query: " mysql_error() );
#confirm the added record details
if($rs) { echo( "record deleted:$username" ); }
}

#update user detailes
if ($action=="update") {
if( $username ) #ensure values exist
{ #create the sql query
$sql="update users set username = $username where username = $oldusername";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die( "could not exercute query" );
$sql="update users set role = $role where username = $username";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die( "could not exercute query: " mysql_error() );
#confirm the added record details
if($rs) { echo( "record updated:$userid $username $role" ); }
}
?>

The code i'm using for the links is:

"useradmin.php?action=show"

I'm also using the "if ($action=="...") {" to display required html for that action eg forms etc.

Any help with this will be much appreciated!

Regards,

Simon.

Birdman

1:00 pm on Dec 18, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Many times, an error occurs and the line givin in the message is not really where the error is. In these cases it(error) is usually found in the code just before the line givin.

Check the line of code just before(excluding comments) the line pointed out in the error message. There is no semicolon at the end of the line.

Regards

sn202

3:04 pm on Dec 18, 2004 (gmt 0)

10+ Year Member



Cheers, yeah that was one of the bugs, was also missing a } futher on. Page loads now and action "show" works, however, "add", "delete" and "update" do nothing, just refresh the page and no records are added to the database. I can't see the problem, any one else?

Cheers Si.

Heres the updated code:

<?php$self =$_SERVER['PHP_SELF'];
$username = $_POST['username'];
$role = $_POST['role'];
$oldusername = $_POST['oldusername'];
$oldrole = $_POST['oldrole'];
$action = $_GET['action'];
error_reporting(E_ALL);
#connect to MYSQL
$conn = @mysql_connect( "linuxproj", "***", "***" )
or die( "could not connect" );
#select the specified database
$rs = @mysql_select_db ( "db_sn202", $conn )
or die( "could not select database" );

$action=(isset($_GET['action'])? $_GET['action'] : "");

#runs slected PHP function
#show users
if ($action=="show") {
#create the sql query
$sql="select * from users";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die(mysql_error());
#write data
while( $row = mysql_fetch_array( $rs ) )
{
echo( "ID: " . $row["userid"] );
echo( " Username: " . $row["username"] );
echo( " role: " . $row["role"] . "<br>");
}
}
#add user
if ($action=="add") {
if( $username and $role ) #ensure values exist
{ #create the sql query
$sql="insert into users (username, role)
values ( $username, \"$role\" )";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die(mysql_error());
#confirm the added record details
if($rs) { echo( "record added:$username $role" ); }
}
}
#delete user
if ($action=="delete") {
if( $username ) #ensure values exist
{ #create the sql query
$sql="delete from users where username=$username";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die(mysql_error());
#confirm the added record details
if($rs) { echo( "record deleted:$username" ); }
}
}
#update user detailes
if ($action=="update") {
if( $username ) #ensure values exist
{ #create the sql query
$sql="update users set username = $username where username = $oldusername";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die( "could not exercute query" );
$sql="update users set role = $role where username = $username";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die(mysql_error());
#confirm the added record details
if($rs) { echo( "record updated:$userid $username $role" ); }
}
}
?>