Gurzi Posted December 28, 2006 at 11:45 PM Report #73124 Posted December 28, 2006 at 11:45 PM 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 ?
mota77 Posted December 29, 2006 at 12:07 AM Report #73131 Posted December 29, 2006 at 12:07 AM 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
Gurzi Posted December 29, 2006 at 12:12 AM Author Report #73134 Posted December 29, 2006 at 12:12 AM 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
mota77 Posted December 29, 2006 at 12:36 AM Report #73142 Posted December 29, 2006 at 12:36 AM sim mas tipo ainda nao percebi a aplicação para que vai servir isso?
Gurzi Posted December 29, 2006 at 12:46 AM Author Report #73144 Posted December 29, 2006 at 12:46 AM 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.
mota77 Posted December 29, 2006 at 12:49 AM Report #73145 Posted December 29, 2006 at 12:49 AM 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
kingless Posted December 29, 2006 at 12:51 AM Report #73146 Posted December 29, 2006 at 12:51 AM Estas a tentar fazer algo parecido com as mensagens privadas do SMF e do PHPBB ?
mota77 Posted December 29, 2006 at 12:56 AM Report #73147 Posted December 29, 2006 at 12:56 AM kingless acho que sim mas só ele o pode dizer
Gurzi Posted December 29, 2006 at 01:06 AM Author Report #73149 Posted December 29, 2006 at 01:06 AM Exactamente, é mesmo isso que estou a tentar fazer!!! Mas não percebi como querem fazer com as sessões
Gurzi Posted December 29, 2006 at 01:09 AM Author Report #73150 Posted December 29, 2006 at 01:09 AM 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
mota77 Posted December 29, 2006 at 01:13 AM Report #73151 Posted December 29, 2006 at 01:13 AM simples quando o cliente faz login guarda uma sessão com o id dele até ai tudo bem depois vais ler essa sessão para ver as mensagens desse user e pra enviar... simples não? informações em http://pt.php.net/manual/en/function.session-start.php
Gurzi Posted December 29, 2006 at 01:18 AM Author Report #73152 Posted December 29, 2006 at 01:18 AM sim sim, lol peço desculpa, não estava a associar. é que a sessão está incluido no sistema de login, pensava que precisava de transportar alguma data pelas sessões.
mota77 Posted December 29, 2006 at 01:30 AM Report #73153 Posted December 29, 2006 at 01:30 AM 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
Gurzi Posted December 29, 2006 at 01:31 AM Author Report #73154 Posted December 29, 2006 at 01:31 AM 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 😞
mota77 Posted December 29, 2006 at 01:37 AM Report #73155 Posted December 29, 2006 at 01:37 AM 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
Gurzi Posted December 29, 2006 at 01:45 AM Author Report #73156 Posted December 29, 2006 at 01:45 AM Pois, estava a tentar na verdade fazer isto com Objectos. Queria aprender a usar Objectos e pensei que seria util. Tens alguma ideia em relação a OOP como fazer isto ?
mota77 Posted December 29, 2006 at 01:57 AM Report #73158 Posted December 29, 2006 at 01:57 AM 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
Gurzi Posted December 29, 2006 at 02:20 AM Author Report #73161 Posted December 29, 2006 at 02:20 AM 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
kingless Posted December 29, 2006 at 02:21 AM Report #73162 Posted December 29, 2006 at 02:21 AM 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"; } }
kingless Posted December 29, 2006 at 02:28 AM Report #73164 Posted December 29, 2006 at 02:28 AM 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 );"
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now