2 въпроса за потребителска система...

на прав път си :D
не uname, а
просто името с което влизаш user-a , акаунта или незнам още как да ти го обясня .. в момента си с юсер cold_zero аз съм с юсер bafitu...
във тая система може да си иван , драган и тн.
просто трябва да го заместиш за момента със името на юсера :)
 
$_SESSION['ColD_ZerO']

да да разбрах :lol:

Ама са ми изписва, че не съм се логнал :( кое да махна от кода, че да не проверява дали съм се логнал... Тия неща не ги разбирам :cry:
 
направи го така
$pmsesusername = "$_SESSION['името на сесията която се създава при логин']";
 
махни в началото
if($_SESSION['uname'])
{
и в края :
}
else
{
echo "Access Denied Please <a href='login.html'>Login</a>";
}
да няма нужда да се логваш
и пак го направи както ти казах...
$pmsesusername = "ColD_ZerO";
 
хм .. странно .. я дай един скреен шот от phpmyadmin-a ..незнам аз невиждам нищо нередно по скрипта освен да е объркано някое поленце в базата данни..
а някаква грешка не ти ли дава ?
всъщност изобщо какво става като пратиш съобщение ?
 
Ами като пратя съобщение ми изписва, че е изпратено успешно до мен... но като си проверя "Inbox" нямам съобщение. В базата данни се записва, но без полето от кой е изпратено.

ScreenShot.gif


Първото съобщение е с направените промени по скрипта...
 
Дай преработения скрипт.
Една от променивите ти е празна.
Искам да видя защо!
Ама дай и формуляра ок който се попълва за да видя какво име си задал на полето
<input> за изпращач на съобщението.
 
nvidia,

Код:
<?php
	include_once ("../auth_member.php");
	include_once ("../admin/authconfig.php");
	include_once ("../check_member.php");
session_start();
ob_start();
$pmsesusername = "ColD_ZerO";
echo '<center><div align="center"><b><a href="?page=inbox">Inbox </a><a href="?page=write">New Message</a></b></div>';
$pmsesusername = $_SESSION['uname'];
include "connect.php";
$db_conn = mysql_connect("$host", "$dbusername", "$dbpassword")
or die("unable to connect to the database");
mysql_select_db("$db", $db_conn) or die("unable to select the database");
switch($_GET[page])
{
default: 
break;
case 'write':
if (!$_POST[send])
{
echo ("<center><form method='POST' style='margin: 0px;'>To:*<br>
            <select name='to'>
");
$getusers = mysql_query("SELECT * FROM authuser ORDER BY 'uname' ASC");
            while ($users = MySQL_Fetch_Array($getusers)) {
    echo ("<center><option value='$users[uname]'>$users[uname]</option>");
}
echo ("<center>
</select>
<br>Message Subject:*
<br><input type='text' name='subject' size='20'>
<br>Message:*
<br><textarea rows='7' name='message' cols='35'></textarea>
<br><input type='submit' value='Submit' name='send'>
</form>
");
}
if ($_POST[to])
{
$subject = htmlspecialchars(addslashes("$_POST[subject]"));
$message = htmlspecialchars(addslashes("$_POST[message]"));
$to = htmlspecialchars(addslashes("$_POST[to]"));
$send = mysql_query("INSERT INTO `pmessages` ( `title` , `message` , 
`touser` , `from` , `unread` , 
`date` ) VALUES ('$subject', '$message', '$to', 
'$pmsesusername', 'unread', NOW())");
echo ("<center>Your message has been sent.");
}
break;
case 'delete':
if (!$_GET[msgid])
{
echo ("<center>Sorry, but this is an invalid message!");
}
else
{
$getmsg = mysql_query("SELECT * from pmessages where id = '$_GET[msgid]'");
$msg = mysql_fetch_array($getmsg);
if ($msg[touser] != $pmsesusername)
{
echo ("<center>This message was not sent to you!");
}
else
{
$delete  = mysql_query("delete from pmessages where id = '$_GET[msgid]'");
echo ("<center>Message Deleted");
}
}
break;
case 'inbox':
$get = mysql_query("SELECT * from pmessages where touser = '$pmsesusername' order by id desc");
echo ("
<table bgcolor='#dddddd' border='0' width='100%' cellspacing='0'>
<tr>
<td align='center'>Subject</td>
<td align='center' width='125'>From</td>
<td align='center' width='97'>Date</td>
<td width='25'>Delete</td>
</tr>
</table>
");
$nummessages = mysql_num_rows($get);
if ($nummessages == 0)
{
echo ("<center>You have 0 messages!");
}
else
{
echo("<table border='0' width='100%' cellspacing='1'>");
while ($messages = mysql_fetch_array($get))
{
echo ("<center>
<tr>
<td><a href='?page=view&msgid=$messages[id]'>");
if ($messages[reply] == yes)
{
echo ("<center>Reply to: ");
}
echo ("<center>$messages[title]</a></td>
<td width='125'>$messages[from]</td>
<td width='97'>$messages[date]</td>
<td width='25'><a href='?page=delete&msgid=$messages[id]'>Delete</a></td>
</tr>");
}
echo ("<center></table>");
}
break;
case 'view':
if (!$_GET[msgid])
{
echo ("<center>Invalid message!");
}
else
{
$getmsg= mysql_query("SELECT * from pmessages where id = '$_GET[msgid]'");
$msg = mysql_fetch_array($getmsg);
if ($msg[touser] == $pmsesusername)
{
if (!$_POST[message])
{
$markread = mysql_query("Update pmessages set unread = 'read' where id = '$_GET[msgid]'");
$msg[message] = nl2br(stripslashes("$msg[message]"));
echo ("<center>
<form method='POST' style='margin: 0px;'>
<b>From: $msg[from]</b><br><b>Subject: $msg[title]</b>
<b><br>Message:<br><u>$msg[message]</u></br></b>
<b>Reply:<br></b>
<center><textarea rows='6' name='message' cols='45'></textarea></center>
<input type='submit' value='Submit' name='send'>
</form>");
}
if ($_POST[message])
{
$message = htmlspecialchars(addslashes("$_POST[message]"));
$do = mysql_query("INSERT INTO `pmessages` ( `title` , `message` , `touser` , `from` , `unread` , 
`date`, `reply`) VALUES
('$msg[title]', '$message', '$msg[from]', '$pmsesusername',
 'unread', NOW(), 'yes')");
echo ("<center>Your message has been sent");
}
}
}
break;
}
?>

Това е целия скрипт
 
vesku, те са един куп файлове, от които някои съм редактирал (незнайно как :lol: ). Освен да ви дам файловете които се зареждат в страницата:

Код:
	include_once ("../auth_member.php");
	include_once ("../admin/authconfig.php");
	include_once ("../check_member.php");

????
 
Първо:
session_start(); - трябва да е най-отгоре на скрипта

Второ:
Два пъти един след друг си дифинирал променливата $pmsesusername.

Това задължително води до греша.
Първо и даваш стойност "ColD_ZerO" после обаче незнайно защо
и се дава нова стойност $_SESSION['uname'] за която не се знае
има ли стойност или не .
най вероятно няма никаква стойност и ето защо няма записано нищо в базата данни.
Всъщност има записано "нищо". :)
За да има стойност тази сесия трябва преди това някъде потребител
да се е логнал и да я е стартирал.


$pmsesusername = "ColD_ZerO";
echo '<center><div align="center"><b><a href="?page=inbox">Inbox </a><a href="?page=write">New Message</a></b></div>';
$pmsesusername = $_SESSION['uname'] ;


Не следя темата и така и не разбрах какво всъщност искаш да направиш и защо в началото даваш на тази променлива някаква стойност (ColD_ZerO).
 
$pmsesusername = "ColD_ZerO";
ако е така винаги ще пише че е изпратено от ColD_ZerO
искам да ми дадеш от логина тая част която създава сесията
 
vesku каза:
$pmsesusername = "ColD_ZerO";
ако е така винаги ще пише че е изпратено от ColD_ZerO
искам да ми дадеш от логина тая част която създава сесията

Васко чети мненията преди да се изказваш.
точно сега не виждаш ли, че никога няма да е "изпратено" от ColD_ZerO.
Може просто да иска да пробва дали се записва нещо в базата данни
и да е сложил някакво име но е забравил да махне другия ред.
 
vesku, мисля че това е сесията

Код:
<?
   include ("admin/authconfig.php");

   if (isset($_COOKIE['LMUSERNAME']) && isset($_COOKIE['LMPASSWORD']))
    {
        // Get values from superglobal variables
        $USERNAME = $_COOKIE['LMUSERNAME'];
        $PASSWORD = $_COOKIE['LMPASSWORD'];

        $CheckSecurity = new auth();
        $check = $CheckSecurity->page_check($USERNAME, $PASSWORD,$dbhost,$dbusername,$dbpass,$dbname);
	
		$connection = mysql_connect($dbhost, $dbusername, $dbpass);
		$SelectedDB = mysql_select_db($dbname);
		$result0=mysql_query("SELECT signup from authuser where uname='$USERNAME' and reg_validate=1 and status=1");
		while($row = mysql_fetch_array($result0, MYSQL_NUM)) {
		$v=$row[0];
		}
		if($v=='1') {
		$query = "SELECT access_name FROM authaccess WHERE signup=1";
		}
		else {
		$query = "SELECT access_name FROM memberaccess WHERE uname='$USERNAME'";
		}
		$result = mysql_query($query) or die("Query failed : " . mysql_error());

		//get group_name value
		$i=0;
		while ($thisrow=mysql_fetch_row($result))  //get one row at a time
		 {
		 $gname="access_".$i;
		 setcookie ($gname, $thisrow[0]);
		 $i++;
		  }
		 setcookie ("access_num", $i);
		 
		 mysql_free_result($result);
  		 mysql_close($connection);

    }
    else
    {
        $check = false;
    }

	if ($check == false)
	{

		echo "<META http-EQUIV='Refresh' content='0; URL=/members/failed.htm'>";
		exit; 
	}	


	function getip() {
	if (getenv(HTTP_X_FORWARDED_FOR)) {
	$ip=getenv(HTTP_X_FORWARDED_FOR);
	}
	else {
	$ip=getenv(REMOTE_ADDR);
	}
	return $ip;
	}
?>

nvidia, просто с bafitu правим някакви опити да се получи нещо, но ... :cry:
 
виж по нагоре е написано че се записват ма не записва от кой прав си за това че нямя да се прати защото има и
$pmsesusername = $_SESSION['uname'];
и
$pmsesusername = "ColD_ZerO";
просто не е въвел сесията в която се съдържа имато на логнатия потребител
 
ама ти не си сас сесии а с коокиета :)

ама имаш да оправяш и таблиците
да ги направиш както са ти на твоите усери за това гооворя
Код:
echo ("<center><form method='POST' style='margin: 0px;'>To:*<br>
            <select name='to'>
");
$getusers = mysql_query("SELECT * FROM authuser ORDER BY 'uname' ASC");
            while ($users = MySQL_Fetch_Array($getusers)) {
    echo ("<center><option value='$users[uname]'>$users[uname]</option>");
ето ти кода
Код:
<?php
   include_once ("../auth_member.php");
   include_once ("../admin/authconfig.php");
   include_once ("../check_member.php");
session_start();
ob_start();
$pmsesusername = $_COOKIE['LMUSERNAME'];
echo '<center><div align="center"><b><a href="?page=inbox">Inbox </a><a href="?page=write">New Message</a></b></div>';
include "connect.php";
$db_conn = mysql_connect("$host", "$dbusername", "$dbpassword")
or die("unable to connect to the database");
mysql_select_db("$db", $db_conn) or die("unable to select the database");
switch($_GET[page])
{
default:
break;
case 'write':
if (!$_POST[send])
{
echo ("<center><form method='POST' style='margin: 0px;'>To:*<br>
            <select name='to'>
");
$getusers = mysql_query("SELECT * FROM authuser ORDER BY 'uname' ASC");
            while ($users = MySQL_Fetch_Array($getusers)) {
    echo ("<center><option value='$users[uname]'>$users[uname]</option>");
}
echo ("<center>
</select>
<br>Message Subject:*
<br><input type='text' name='subject' size='20'>
<br>Message:*
<br><textarea rows='7' name='message' cols='35'></textarea>
<br><input type='submit' value='Submit' name='send'>
</form>
");
}
if ($_POST[to])
{
$subject = htmlspecialchars(addslashes("$_POST[subject]"));
$message = htmlspecialchars(addslashes("$_POST[message]"));
$to = htmlspecialchars(addslashes("$_POST[to]"));
$send = mysql_query("INSERT INTO `pmessages` ( `title` , `message` ,
`touser` , `from` , `unread` ,
`date` ) VALUES ('$subject', '$message', '$to',
'$pmsesusername', 'unread', NOW())");
echo ("<center>Your message has been sent.");
}
break;
case 'delete':
if (!$_GET[msgid])
{
echo ("<center>Sorry, but this is an invalid message!");
}
else
{
$getmsg = mysql_query("SELECT * from pmessages where id = '$_GET[msgid]'");
$msg = mysql_fetch_array($getmsg);
if ($msg[touser] != $pmsesusername)
{
echo ("<center>This message was not sent to you!");
}
else
{
$delete  = mysql_query("delete from pmessages where id = '$_GET[msgid]'");
echo ("<center>Message Deleted");
}
}
break;
case 'inbox':
$get = mysql_query("SELECT * from pmessages where touser = '$pmsesusername' order by id desc");
echo ("
<table bgcolor='#dddddd' border='0' width='100%' cellspacing='0'>
<tr>
<td align='center'>Subject</td>
<td align='center' width='125'>From</td>
<td align='center' width='97'>Date</td>
<td width='25'>Delete</td>
</tr>
</table>
");
$nummessages = mysql_num_rows($get);
if ($nummessages == 0)
{
echo ("<center>You have 0 messages!");
}
else
{
echo("<table border='0' width='100%' cellspacing='1'>");
while ($messages = mysql_fetch_array($get))
{
echo ("<center>
<tr>
<td><a href='?page=view&msgid=$messages[id]'>");
if ($messages[reply] == yes)
{
echo ("<center>Reply to: ");
}
echo ("<center>$messages[title]</a></td>
<td width='125'>$messages[from]</td>
<td width='97'>$messages[date]</td>
<td width='25'><a href='?page=delete&msgid=$messages[id]'>Delete</a></td>
</tr>");
}
echo ("<center></table>");
}
break;
case 'view':
if (!$_GET[msgid])
{
echo ("<center>Invalid message!");
}
else
{
$getmsg= mysql_query("SELECT * from pmessages where id = '$_GET[msgid]'");
$msg = mysql_fetch_array($getmsg);
if ($msg[touser] == $pmsesusername)
{
if (!$_POST[message])
{
$markread = mysql_query("Update pmessages set unread = 'read' where id = '$_GET[msgid]'");
$msg[message] = nl2br(stripslashes("$msg[message]"));
echo ("<center>
<form method='POST' style='margin: 0px;'>
<b>From: $msg[from]</b><br><b>Subject: $msg[title]</b>
<b><br>Message:<br><u>$msg[message]</u></br></b>
<b>Reply:<br></b>
<center><textarea rows='6' name='message' cols='45'></textarea></center>
<input type='submit' value='Submit' name='send'>
</form>");
}
if ($_POST[message])
{
$message = htmlspecialchars(addslashes("$_POST[message]"));
$do = mysql_query("INSERT INTO `pmessages` ( `title` , `message` , `touser` , `from` , `unread` ,
`date`, `reply`) VALUES
('$msg[title]', '$message', '$msg[from]', '$pmsesusername',
 'unread', NOW(), 'yes')");
echo ("<center>Your message has been sent");
}
}
}
break;
}
?>
 
Нещо май е доста омазана тази система.
Има ли логин ?
Това което си дал е някакъв файл но той не стартира сесия.
На всичкото отгоре май е нещо свързано с администрация защото инклудва
файл от папка /admin/ .

Трябва да се види къде и защо не стартира сесия.

Ти логвеаш ли се преди да изпратиш съобщение?
 

Back
Горе