Jump to content

Ajuda - Sistema Interno de mensagens


Recommended Posts

Posted

Pessoal, estou a fazer um sistema Interno de Mensagens em PHP 4.43 com OOP e queria ajudas a estreturar ideias.

A ideia é que cada cliente pode enviar uma mensagem através da sua àrea privada a um administrador , ou seja, vai existir um report da situação actual do projecto em que a empresa está a desenvolver ao cliente muito intensivo o que faz com que os utilizadores da empresa trabalhem.

Ou seja, como são admins, vão ambos partilhar a mesma caixa de mensagens sendo que cada cliente só pode enviar mensagens á administração da empresa.

Pensei em algo assim em classes :

SUPER CLASS - Caixa de Entrada

SUb Class de Caixa de Entrada - Mensagem

Sub Class de Mensagem - Mensagem Recebida

Sub Class de Mensagem - Mensagem Enviada

Está bem pensado ??

Alguem me quer dar umas dicas ?

Posted

tens de pensar assim

USER permissão =0 = empregado acesso a enviar para user de nivel =1

USER permissão =1 = admin acesso a enviar para todos os users

depois caixa de entrada

USER login id=2 confirmas com uma sessão se ele tá a ver só mesmo a dele

ai dá para ler as mensagens e depois é seguir este raciocínio se quiseres algo "fiável" a meu ver claro   

Posted

Por acaso não tinha pensado nisso como sessões..

Tinha feito um esquema relacional que contem as seguintes tabelas :

Cliente / Admin / Mensagem / Caixa de Mensagens / MsgEnviada / MsgRecebida

Em que um cliente ou admin escreve uma mensagem e 1 mensagem é recebida pela caixa de mensagens..

Na tabela mensagens vai toda a info mas depois ao chegar a caixa de mensagens é divido em msg recebida ou msg enviada.. assim não preciso de sessoes porque cada msg tem um ID de emissor e receptor

Posted

Uma empresa de Web design que comunica com os seus clientes através de mensagem privadas.

Cada cliente terá a sua caixa de mensagens onde poderá ver as Mensagens Enviadas e as mensagens recebidas.

Assim vai haver um acompanhamento do projecto mt maior por parte do cliente.

Posted

ah ok então como estava a dizer que com sessões era muito mais fácil porque se o cliente faz o login para a "Área de Cliente" e assim tipo facilitava-te o trabalho

ex

tabela mensagens

titulo

de

para

msg

tipo

data... essas coisas e depois no tipo metias se era enviada ou recebida

Posted

ah ok então como estava a dizer que com sessões era muito mais fácil porque se o cliente faz o login para a "Área de Cliente" e assim tipo facilitava-te o trabalho

ex

tabela mensagens

titulo

de

para

msg

tipo

data... essas coisas e depois no tipo metias se era enviada ou recebida

Gostei dessa organização, mais simples e funcional, vou aplicar.

Resta-me perceber isso das sessões

Posted

pronto então agora acho que é simples de fazer se conheceres o sistema de login bem fazes o que quiseres deles

a estrutura que te dei como hei de dizer foi feita "em cima do joelho" lol mas se quiseres posso te ajudar nesse campo

Posted

Parece-me eficaz. mas se tiveres outra ideia..

Eu tinha aquela mais complexa mas perco-me um bocado a gerir db.

Não faço muito bem as ligações e mt menos as optimizações 😞

Posted

podes apenas utilizar 2 ou 3 tabelas por isso acho que a ideia que tinhas era demasiado complexa para o que queres afinal não é nenhum HI5 ou YouTube que tem biliões de users 

Posted

OOP só em PHP5 acho eu, e ainda não me actualizei em relação a isso mas tá para breve hehe agora tou com algumas coisas em mente primeiro, mas se surgir um projecto que precise de OOP (PHP5) terei de actualizar-me mais depressa. Mas como ando a aprender C# e é OOP pode ser que ajude a isso.

Portanto sobre oop ainda na te posso dizer nada mas podes ler um pouco no www.php.net

Posted

Estou a ter uns erros marados e não estou apanhar nada

include("settings.php");
       $connect = mysql_connect($servidor, $utilizador, $password);
       $selectdb = mysql_select_db($bd);
       $query = "select de,titulo FROM sky_mensagem";

      $doQuery = mysql_query($query);
        while($row = mysql_fetch_row())
        {
            echo "<a href='#'>De: $row[1]  Assunto:$row[2]  </a><br>";
        }

Warning: Wrong parameter count for mysql_fetch_row() in /home/ptattacks.com/www/SkyWorks/teste.php on line 22

line 22 é o $row

Posted

Fazer isso em oop não é dificil..... explicar como fazer em OOP é que é dificil. Deixa-me ver se consigo resumir...

Crias uma classe por exemplo "iMail" depois pensas "Quais são as opções que o sistema de mail vai ter ?" (exemplo: Enviar Mensagem, Ler mensagens Recebidas, Apagar Mensagem, Mensagens Enviadas, Responder, Contactos )

Depois só precisas de criar a classe

class iMail {

function EnviarMsg ( $para, $assunto, $mensagem ) {
           //Executas uma query a tabela das mensagens... inseres a mensagem o assunto etc 
   }
  
  function Recebidas () {
       //Fazes uma conexão a mysql e tal depois executas um query a tabela das mensagens para veres se existem mensagens da data de hoje...
  }
   
  function LerEmail ( $MsgID ) {
     //Executas um query e tal selecionas a mensagem utilizas um ID para identificar a mensagem que tem que ler e tal...
   }
   
   function Apagar ( $MsgID ) {
    //Executas um query para apagar a mensagem da base de dados "DELET mensagem FROM tabela WHERE id=xx' algo assim
   }
//Adicionas mais funções e tal umas vars se necessario
}  

 

Depois só precisas de utilizar um código para controlar a classe

//Isto é um simples exemplo mas muito simples mesmo

if(isset($_POST['ApagarMsg'])) {
        if(iMail::Apagar( $_POST['MsgID'] )) {
              echo "Mensagem apagada";
}
}
Posted

Estou a ter uns erros marados e não estou apanhar nada

include("settings.php");
       $connect = mysql_connect($servidor, $utilizador, $password);
       $selectdb = mysql_select_db($bd);
       $query = "select de,titulo FROM sky_mensagem";

      $doQuery = mysql_query($query);
        while($row = mysql_fetch_row())
        {
            echo "<a href='#'>De: $row[1]  Assunto:$row[2]  </a><br>";
        }

Warning: Wrong parameter count for mysql_fetch_row() in /home/ptattacks.com/www/SkyWorks/teste.php on line 22

line 22 é o $row

Esqueceste-te de colocar a variável $doQuery dentro da função mysql_fetch_row();  "mysql_fetch_row( $doQuery );"

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. 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.