Jump to content

PHP actions won't work?


Pokebert

Recommended Posts

I can't get to get this code to display anything other than " |Compose | Inbox | and I can't seem to fins the issue in the code. Can someone help me with this? An example of this mail system can be seen at http://nintendoville.3owl.com/Member%20System/mail.php

 

<?PHP 

INCLUDE("dbconn.php"); 
$result1=MYSQL_QUERY("select * from users WHERE username='$username'") or DIE ("cant do it"); 
$row100 = MYSQL_FETCH_ARRAY($result1); 
?> 
<html>
<head>
<title>
NintendoVille - Mail
</title>
<meta name='viewport' content='width=320'>
<style>
body
{
background-color:#FFFFFF;
padding: 0px;
margin: 0px;
}
#topscreen
{
width: 320px;
height: 218px;
background-color:#FFFFFF;
}
#bottomscreen
{
width: 320px;
height: 400px;
background-color:#C8C8C8;
}
#marquee
{
width: 320px;
height: 20px;
background-color:#B0B0B0;
border-radius: 7px;
}
#credits
{
width: 320px;
height: 20px;
background-color:#B0B0B0;
border-radius: 7px;
}
#infos
{
width: 320px;
height: 60px;
background-color:#B0B0B0;
border-radius: 7px;
}
#text
{
width: 320px;
height: 20px;
background-color:#B0B0B0;
border-radius: 7px;
}
</style>
</head>
<body>
<div id='topscreen'>
<img src="../NintendoVilleLogoBeta.jpg.jpg" width=320px height=217px>
</div>
<div id='bottomscreen'>
<br>
<center>| <a href="mail.php?action=compose">Compose</a> | <a href="mail.php?action=inbox">Inbox</a> | </center>
<table cellpadding="1" cellspacing="1" height="300" width="320"> 
<tr><td align=center valign=top> 
<?PHP 
IF($action==compose) { 
ECHO "<form action=mail.php?action=compose2 method=post>"; 
ECHO "<table>"; 
ECHO "<tr><td>Subject:</td><td><input type=text name=subject size=20 value=$subject></td></tr>"; 
ECHO "<tr><td>To:</td><td><input type=text name=to size=20 value=$to></td></tr>"; 
ECHO "<tr><td>Message:</td><td><textarea rows=16 cols=45 name=message></text></td></tr>"; 
ECHO "<tr><td><button type=submit>Send Mail!</button></td></tr>"; 
ECHO "</table>"; 
ECHO "</form>"; 
} 
IF($action==compose2) { 
$subject or DIE("Subject Blank"); 
$message or DIE("Message Black"); 
$to or DIE("To blank"); 
$date = DATE(YmdHis); 


$create = "INSERT INTO mail (UserTo, UserFrom, Subject, Message, SentDate, status) 
VALUES ('$to','$username','$subject','$message','$date','unread')"; 
$create2 = MYSQL_QUERY($create) or DIE("A letter could not be sent to $to!"); 
ECHO("Message Sent to $to!"); 

} 
IF($action==inbox) { 
$result=MYSQL_QUERY("select * from mail where UserTo='$username' ORDER BY SentDate DESC") or DIE ("cant do it"); 
ECHO "<table cellpadding=2 cellspacing=1 width=500 valign=top>"; 
WHILE ($row=MYSQL_FETCH_ARRAY($result)) { 
ECHO "<tr><td width=30>Mail:</td><td><a href=mail.php?action=veiw&mail_id=$row[mail_id]>$row[subject]</a></td><td width=50> <a href=mail.php?action=delete&id=$row[mail_id]><center>Delete</a><br></td></tr>"; 
} 
ECHO "</table>"; 
} 
IF($action==veiw) { 
$result=MYSQL_QUERY("select * from mail where UserTo='$username' and mail_id=$mail_id") or DIE ("cant do it"); 
$row=MYSQL_FETCH_ARRAY($result); 
IF($row[userTo]==$username) { 
} ELSE { 
ECHO "<font face=verdana><b>This isn't your mail!"; 
EXIT; 
} 
$query="UPDATE mail SET status='read' WHERE UserTo='$username' AND mail_id='$row[mail_id]'"; 
$query or DIE("An error occurred resulting that this message has not been marked read."); 
ECHO "<table border = 1 bordercolor = black width = 50% align=center><tr><td>$row[subject]</td><td>$row[userFrom]</td></tr><tr><td colspan='2'>$row[Message]<br><a href=mail.php?action=compose&to=$row[userFrom]&subject=RE:$row[subject]>Reply</a></td></tr></table>"; 
$rs = MYSQL_QUERY("UPDATE mail SET status='read' WHERE mail_id='$mail_id'"); 
} 
IF($action==delete) { 
$query = MYSQL_QUERY("DELETE FROM mail WHERE mail_id='$id' LIMIT 1"); 
IF($query) { 
ECHO "<font face=verdana>Message Deleted.</font>"; 
} ELSE { 
ECHO "The message wasnt deleted."; 
} 
} 
?> 
<br>
</div>
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/273674-php-actions-wont-work/
Share on other sites

String values like "compose" and "delete" should be enclosed in quotes (as I did), unless you have defined them as constants, but no sign of that. And where is $action variable's value defined?

 

try adding

var_dump($action);

and see what it contains

Code is now:


<?PHP

INCLUDE("dbconn.php");
$result1=MYSQL_QUERY("select * from users WHERE username='$username'") or DIE ("cant do it");
$row100 = MYSQL_FETCH_ARRAY($result1);

ini_set('display_errors',1);
error_reporting(E_ALL);
?>
<html>
<head>
<title>
NintendoVille - Mail
</title>
<meta name='viewport' content='width=320'>
<style>
body
{
background-color:#FFFFFF;
padding: 0px;
margin: 0px;
}
#topscreen
{
width: 320px;
height: 218px;
background-color:#FFFFFF;
}
#bottomscreen
{
width: 320px;
height: 400px;
background-color:#C8C8C8;
}
#marquee
{
width: 320px;
height: 20px;
background-color:#B0B0B0;
border-radius: 7px;
}
#credits
{
width: 320px;
height: 20px;
background-color:#B0B0B0;
border-radius: 7px;
}
#infos
{
width: 320px;
height: 60px;
background-color:#B0B0B0;
border-radius: 7px;
}
#text
{
width: 320px;
height: 20px;
background-color:#B0B0B0;
border-radius: 7px;
}
</style>
</head>
<body>
<div id='topscreen'>
<img src="../NintendoVilleLogoBeta.jpg.jpg" width=320px height=217px>
</div>
<div id='bottomscreen'>
<br>
<center>| <a href="mail.php?action=compose">Compose</a> | <a href="mail.php?action=inbox">Inbox</a> | </center>
<table cellpadding="1" cellspacing="1" height="300" width="320">
<tr><td align=center valign=top>
<?PHP
IF($action=='compose') {
ECHO "<form action=mail.php?action=compose2 method=post>";
ECHO "<table>";
ECHO "<tr><td>Subject:</td><td><input type=text name=subject size=20 value=$subject></td></tr>";
ECHO "<tr><td>To:</td><td><input type=text name=to size=20 value=$to></td></tr>";
ECHO "<tr><td>Message:</td><td><textarea rows=16 cols=45 name=message></text></td></tr>";
ECHO "<tr><td><button type=submit>Send Mail!</button></td></tr>";
ECHO "</table>";
ECHO "</form>";
}
IF($action=='compose2') {
$subject or DIE("Subject Blank");
$message or DIE("Message Black");
$to or DIE("To blank");
$date = DATE(YmdHis);



$create = "INSERT INTO mail (UserTo, UserFrom, Subject, Message, SentDate, status)
VALUES ('$to','$username','$subject','$message','$date','unread')";
$create2 = MYSQL_QUERY($create) or DIE("A letter could not be sent to $to!");
ECHO("Message Sent to $to!");

}
IF($action=='inbox') {
$result=MYSQL_QUERY("select * from mail where UserTo='$username' ORDER BY SentDate DESC") or DIE ("cant do it");
ECHO "<table cellpadding=2 cellspacing=1 width=500 valign=top>";
WHILE ($row=MYSQL_FETCH_ARRAY($result)) {
ECHO "<tr><td width=30>Mail:</td><td><a href=mail.php?action=veiw&mail_id=$row[mail_id]>$row[subject]</a></td><td width=50> <a href=mail.php?action=delete&id=$row[mail_id]><center>Delete</a><br></td></tr>";
}
ECHO "</table>";
}
IF($action=='veiw') {
$result=MYSQL_QUERY("select * from mail where UserTo='$username' and mail_id=$mail_id") or DIE ("cant do it");
$row=MYSQL_FETCH_ARRAY($result);
IF($row[userTo]==$username) {
} ELSE {
ECHO "<font face=verdana><b>This isn't your mail!";
EXIT;
}
$query="UPDATE mail SET status='read' WHERE UserTo='$username' AND mail_id='$row[mail_id]'";
$query or DIE("An error occurred resulting that this message has not been marked read.");
ECHO "<table border = 1 bordercolor = black width = 50% align=center><tr><td>$row[subject]</td><td>$row[userFrom]</td></tr><tr><td colspan='2'>$row[Message]<br><a href=mail.php?action=compose&to=$row[userFrom]&subject=RE:$row[subject]>Reply</a></td></tr></table>";
$rs = MYSQL_QUERY("UPDATE mail SET status='read' WHERE mail_id='$mail_id'");
}
IF($action=='delete') {
$query = MYSQL_QUERY("DELETE FROM mail WHERE mail_id='$id' LIMIT 1");
IF($query) {
ECHO "<font face=verdana>Message Deleted.</font>";
} ELSE {
ECHO "The message wasnt deleted.";
}
}
?>
<br>
</div>
</body>
</html>

 

And i fixed undefined constants but still get:

Notice: Undefined variable: action in/home/u253096179/public_html/Member System/mail.php on line 75

 

Notice: Undefined variable: action in/home/u253096179/public_html/Member System/mail.php on line 86

 

Notice: Undefined variable: action in/home/u253096179/public_html/Member System/mail.php on line 101

 

Notice: Undefined variable: action in/home/u253096179/public_html/Member System/mail.php on line 110

 

Notice: Undefined variable: action in/home/u253096179/public_html/Member System/mail.php on line 124

 

 

So how should I fix this? And since I'm very new to PHP could I get an example piece of coding?

String values like "compose" and "delete" should be enclosed in quotes (as I did), unless you have defined them as constants, but no sign of that. And where is $action variable's value defined?

 

try adding

var_dump($action);

and see what it contains

 

Where should I insert var_dump? I'm new to PHP...

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.