Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

bioshock

Backoffice 'HowTo'

Mensagens Recomendadas

bioshock

Boas!

Pessoal, estou com um certo problema em arranjar alguma página com um bom exemplo.

Eu gostava de ter uma parte de backoffice no meu site, onde só o administrador podesse entrar..então eu pensei numa "Datagrid" (Termo utilizado no Vbnet) / aqui penso que seja recordset..o objectivo era, visto que eu sou administrador, entrar numa página do género "Eliminar utilizadores" e aparecer-me a tal "Datagrid" e poder eliminar os utilizadores. Outra ideia era dentro do site, editar alguns textos, etc.

Sei que é possivel, existem alguns tutoriais ou algo do género? Obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

back office's são muito simples de criar... so tens de utilizar um sistema de login para verificar se o utilizador está autenticado, fazer as listagens da base de dados que forem necessárias, criar forms próprias para preencher os textos que pretende substituir desde titulos de noticias, texto das mesmas, imagens etc... e quando se submete a form fazes um update á tabela respectiva...

é bastante simples... obviamente os textos apresentados na página teem de estar a ser lidos da base de dados...

se tiveres alguma duvida em concreto coloca... é mais facil responder quando são duvidas especificas, back office é muito vago no ponto de vista em que no back office podes fazer emensas coisas dependentemente da página que crias-te...

qualquer duvida estás á vontade...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Bem, tentei algo do género:

<?php 
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("supless") or die(mysql_error()); 

// Get data

$query = "SELECT texto FROM backoffice";
$result = mysql_query($query);


//This code runs if the form has been submitted
if (isset($_POST['submit'])) { 

// now we insert it into the database
$insert = "INSERT INTO backoffice (texto)
VALUES ('".$_POST['textfield2']."')";
$add_member = mysql_query($insert);
?>

Agora, depois do "Get data" eu tenho que fazer com que seja mostrado na textfield2 o que está na base de dados..não sei como fazer. Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Oh bioshock, vais-me desculpar, mas, pelas dúvidas que colocas, estás bem longe de conseguir programar para a Web.

É como explicar a uma criança de dois anos para que serve o pedal da embraiagem, se ela não sabe como funciona um carro.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Oh bioshock, vais-me desculpar, mas, pelas dúvidas que colocas, estás bem longe de conseguir programar para a Web.

É como explicar a uma criança de dois anos para que serve o pedal da embraiagem, se ela não sabe como funciona um carro.

O que queres que te diga? Volto a repetir o que já te disse, estou no php desde segunda feira, vir para uma empresa sem ter qualquer conhecimento na área e ter que me desenrascar, creio que seja difícil eu perceber alguns problemas que me vão surgindo.

No vb.net eu tive um acompanhamento na escola, ou seja, aprendi todos os conceitos básicos se é que me entendes e então fui aumentando os meus conhecimentos.

Aqui no php, eu não tive, repito não tive, qualquer aprendizagem inicial, ou seja, eu jogo pela lógica e consoante as etapas que vou concluindo vou percebendo o código.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

tens a +esquisa na base de dados a guardar o valor numa variavel suponho do genero

$variavel = $row['nome'];

por exemplo, então so precisas fazer algo do genero:

<input type="text" name="nome" id="nome" value="<?php echo $variavel;?>" />

eu compreendo o que tas a passar, eu passei por algo parecido mas já tinha umas bases, muito poucas mas tinha...

no entanto eu dei-m ao trabalho de ler tutoriais fora de horas de serviço para poder segurar o lugar...

tenta fazer o mesmo...

de qualquer forma eu vou respondendo ao que poder...até porque passei pelo mesmo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Realmente não me dei ao trabalho de pegar em algum tutorial, confesso. Estou só a implementar mais algumas coisas em relação ao "email" do outro tópico em que me ajudaste e já experimento isso que me disseste. Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

Realmente não me dei ao trabalho de pegar em algum tutorial, confesso. Estou só a implementar mais algumas coisas em relação ao "email" do outro tópico em que me ajudaste e já experimento isso que me disseste. Obrigado.

deu para perceber e é por isso que fizeram aqueles comentários...

porque por menos que saibas quando evidencias um trabalho de investigação por trás não é habito fazerem comentários do genero...

tenta ler e seguir primeiro um tutorial basico de php vais ver que vais deixar de fazer muitas perguntas que farias...

o resto colocas aqui na mma...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Mas não é forma de se mandar "bitaites", bem whatever.

Pensei em fazer um "UPDATE" com o código que me deste e pensei em por esse valor no "Value" de um botão.

Já consegui com que ele até acrescentasse à base de dados um novo campo, mas o que eu quero é editar o campo (daí o backoffice).

 <?php $insert = mysql_query("UPDATE backoffice SET texto='$_POST['textfield2']' WHERE (texto='$_POST['textfield2']");
?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

entao pelo que percebi queres usar a textfield para actualizar a base de dados....

em principio o que apresentast funciona...

se quizeres ir buscar os valores da base de dados para o utilizador saber de antemão o que lá tem fazes o que eu disse fazes a pesquisa e colocas no value...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Para receber os dados da BD, isto funciona:

<input type="text" name="textfield2" id="nome" value="<?php echo $row_Recordset1['texto']?>" />

O que eu quero é poder editar a textfield, escrever o que me apetece e ao clicar em "guardar" editar por cima, ou seja não criar um novo valor, mas sim editar o existente.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Algo mais robusto:

<input type="text" name="textfield2" id="nome" value="<?php echo $row_Recordset1['texto']?><?php mysql_query("INSERT INTO backoffice (texto) VALUE ('$_POST['$textboxPA']))";?>" />

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

<input type="text" name="textfield2" id="nome" value="<?php echo $row_Recordset1['texto']?>

e no inicio da página fazes a verificação se foi feito o submit da form e se tiver sido recebes o valor e fazes o update como mostrast a pouco...

a textfield como acabei de colocar vai ser preenchida com a base de dados mas pode ser editada, é so alterar o texto e ao fazer submit actualizares a base de dados...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yoda

O que queres que te diga? Volto a repetir o que já te disse, estou no php desde segunda feira, vir para uma empresa sem ter qualquer conhecimento na área e ter que me desenrascar, creio que seja difícil eu perceber alguns problemas que me vão surgindo.

À uns anos também tirei um curso profissional equivalente ao 12º onde fui colocado numa empresa de webdesign e me foi dito para criar um backoffice para um site. Na altura nunca tinha visto sequer programação web à frente, desconhecia a existência de comunidades como o p@p, e muito menos sabia que haviam programas que facilitavam o trabalho como o dreamweaver e afins. Aprendi tudo sozinho com a ajuda do google, e fiz todo o trabalho na treta que é o bloco de notas do windows, e acabei o estágio com o trabalho feito. Era uma treta mas funcionava. De notar também que fiz muito trabalho de casa nessa altura, para tentar perceber as linguagens com as quais trabalhava.

Por isso recomendo que compres um livro, arranjes e-books, uses mais o google, etc, .. não esperes que alguém te vá dizer como fazer as coisas, ou ensinar a programar. Quanto mais depressa aprenderes por ti mesmo, mais objectivas serão as tuas dúvidas e mais depressa fazes o trabalho.

  • Voto 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

À uns anos também tirei um curso profissional equivalente ao 12º onde fui colocado numa empresa de webdesign e me foi dito para criar um backoffice para um site. Na altura nunca tinha visto sequer programação web à frente, desconhecia a existência de comunidades como o p@p, e muito menos sabia que haviam programas que facilitavam o trabalho como o dreamweaver e afins. Aprendi tudo sozinho com a ajuda do google, e fiz todo o trabalho na treta que é o bloco de notas do windows, e acabei o estágio com o trabalho feito. Era uma treta mas funcionava. De notar também que fiz muito trabalho de casa nessa altura, para tentar perceber as linguagens com as quais trabalhava.

Por isso recomendo que compres um livro, arranjes e-books, uses mais o google, etc, .. não esperes que alguém te vá dizer como fazer as coisas, ou ensinar a programar. Quanto mais depressa aprenderes por ti mesmo, mais objectivas serão as tuas dúvidas e mais depressa fazes o trabalho.

Concordo. E já admiti culpa em ainda não ter lido um manual ou algo do género, posso aproveitar este fim de semana para tal, se conseguir. Eu não peço que façam as coisas por mim, até porque eu tenho colocado sempre o meu código e tem me ajudado a reconstruir o código, portanto não estão a fazer o código por mim.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

<?php 
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("supless") or die(mysql_error()); 


// Select text
$usercheck = $_POST['textfield2'];
$check = "SELECT backoffice.texto FROM backoffice"; 
$recordset1 = mysql_query($check, mysql_connect("localhost", "root", "")) or die(mysql_error());
$row_recordset1 = mysql_fetch_assoc($recordset1);
mysql_free_result($recordeset1);

//This code runs if the form has been submitted
if (isset($_POST['submit'])) { 

// now we insert it into the database
mysql_query("update backoffice set texto=REPLACE(texto, $_POST['textfield2'])");
}
?>

É o meu código: O que funciona? É-me apresentado na textfield2 o que está na tabela "backoffice" campo: texto.

O que não funciona? Quando tento editar a textfield e clico em guardar, ele não edita

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

<?php 
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("supless") or die(mysql_error()); 


// Select text
$usercheck = $_POST['textfield2'];
$check = "SELECT backoffice.texto FROM backoffice"; 
$recordset1 = mysql_query($check, mysql_connect("localhost", "root", "")) or die(mysql_error());
$row_recordset1 = mysql_fetch_assoc($recordset1);
mysql_free_result($recordeset1);

//This code runs if the form has been submitted
if (isset($_POST['submit'])) { 

// now we insert it into the database
mysql_query("UPDATEbackoffice SETtexto='$usercheck' WHERE ??????");
}
?>

convém que lhe envies um id para que ele saiba onde ir actualizar...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Para além de ter que adicionar um ID na BD, tive que criar um método para fazer refresh à página, porque senão ele mostrava o que eu acabara de digitar.

Fica aqui o código final, obrigado a todos.

<?php 
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("supless") or die(mysql_error()); 


// Select text
$usercheck = $_POST['textfield2'];
$check = "SELECT texto FROM backoffice"; 
$recordset1 = mysql_query($check, mysql_connect("localhost", "root", "")) or die(mysql_error());
$row_recordset1 = mysql_fetch_assoc($recordset1);
// mysql_free_result($recordeset1);

//This code runs if the form has been submitted
if (isset($_POST['submit'])) { 

// now we insert it into the database
mysql_query("UPDATE backoffice SET texto='$usercheck' WHERE id > 0");
echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=members.php'>";
}
?>

<input name="textfield2" type="text" id="nome" value="<?php echo $row_recordset1['texto']?>" />

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado
mysql_query("UPDATE backoffice SET texto='$usercheck' WHERE id > 0");

Só este bocadinho demonstra zero pesquisa, nem uma pontinha de esforço para perceber como as coisas funcionam; e depois ainda te sentes muito magoado por ouvires umas verdades de vez em quando...

Se tiveres 50 registos, essa query vai actualizar-te os 50 registos com o mesmo texto todos os registos com um id superior a zero, o que pode querer dizer todos, ou nenhum, ou meia dúzia deles; dificilmente será o efeito pretendido, não?

Se em vez de vires para um fórum colocar código e esperar que encontrem todos os erros que lá tens, se fosses estudar um bocadinho para a documentação do PHP e do MySQL é que era... Só um bocadinho, vais ver que não dói...


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Mogoado? Achas que me sinto magoado com uma pessoa que nem conheço? Que grande lol.

Se de vez enquando, fosses mais humilde..irias ver que não dói.

Mas também te digo, não me julgues por não fazes pesquisas, etc e mais não te digo pela arrogância que demonstras nas tuas palavras. Obrigado a quem realmente ajudou. Tópico encerrado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Olha, bioshock, são (pseudo-)programadores como tu que fazem baixar a fasquia da qualidade, com a consequente quebra nos ordenados.

Em primeiro lugar, eu não tenho que ser humilde, tenho zero, bola, nicles a provar, a ti ou a quem quer que seja, exceptuando aos clientes da empresa onde trabalho. Felizmente, nunca tive problemas de arrogância, e a prova disso está mesmo aqui neste fórum: se eu fosse arrogante, eu queria que fossem todos lamber sabão e que se desenmerdassem sozinhos. Se te deres ao trabalho de consultar a minha lista de postas, vais encontrar zero pedidos de ajuda e já muitas "ofertas" de ajuda - e em várias áreas.

Em segundo, não julgar um programador (ou um candidato a programador, no caso concreto) por não fazer pesquisas? :) Que ideia, nem sei onde é que foste buscar isso! :ipool: É só uma das principais características de um bom programador...

Em terceiro, dar a desculpa de que começaste agora e não tens as bases está a ficar gasto. Só para provar este ponto de vista, vou-te dar alguma informação sobre mim.

Neste momento uso activamente três linguagens de programação: C#, PHP e ActionScript. Se contarmos com linguagens "auxiliares", como javascript, SQL, Apache Configs, expressões regulares, sobe para 7. Se contarmos ainda com as linguagens de marcação, como XAML, MXML, HTML e CSS, sobe para 11*.

Destas todas, sabes de quantas tive ensino "formal", com professor, numa sala de aula? As duas mais básicas: HTML e CSS - em 1997!! Todas as outras foi em pesquisas, muitas pesquisas. Comprar livros. Fazer tutoriais.

Quando comecei a trabalhar na empresa onde estou agora, há dois anos e meio, para a posição de webdeveloper em PHP, imaginas o que eu sabia de PHP? Zero. Não tocava em HTML há anos. CSS, mato. Vinha de um background inteiramente em aplicações desktop, feitas em C#. Fui contratado quase exclusivamente pelas capacidades de resolução de problemas e algoritmia. Por isso não me venhas dizer que "ah e tal, que eu comecei agora".

Para que saibas, a minha vontade de ajudar o pessoal é imensa, como podes ver aqui neste fórum e como podes constatar no meu site pessoal, onde tudo é, e sempre será, à borla e open-source. E repara que esta ajuda e estes projectos, chamemos-lhe "pro bono", são feitos no meu tempo pessoal, que é escassíssimo. Entre as 10 a 12 horas de trabalho, a inevitável atenção que tenho que dar à minha esposa e à minha filha, comer, cagar e dormir (passo bem com cinco horas por noite, mas, dos que conheço, os programadores são todos assim), podes calcular o que sobra.

Mas quando é nítido e óbvio que as pessoas não têm a mínima vontade de pensar um bocadinho pela sua própria cabeça, investigar minimamente as bases e, sobretudo, não terem a capacidade de encaixe duma crítica mais dura, que é apanágio dos noobs, então só me apetece cascar de cima a baixo e mandá-los de volta à adolescência de onde só saíram biologicamente.

Peço desculpa a todos os membros que tiveram que roer com esta minha (comprida) posta. De vez em quando, é preciso despejar o ácido todo de uma vez - só assim poderemos subir a qualidade dos programadores em Portugal e discutirmos ombro-a-ombro, enquanto classe profissional, com programadores de outros países. Basta ver o exemplo dos nossos irmãos brasileiros.

Para finalizar: se tiveres uma dúvida específica, algo que te ilude ao fim de seis horas de volta da coisa, podes contar comigo. Enquanto forem coisas do mais básico que há, podes crer que, só para te moer a paciência, respondo com links para a documentação oficial. ;)

Abraços!

* Tem em mente que dei de barato linguagens que sei, mas que não uso activamente ou uso muito esporadicamente, como C/C++, Lua, Lisp, Java e VB.

  • Voto 1

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ahco

mjamado, percebo tudo o que disseste, no entanto o rapaz têm que aprender e com alguma ajuda ele até pode vir a ser um bom programador.

Caso ele tb não se esforce, sabe que tem o emprego em risco.

eu não sei php tb gostava de aprender XD, a minha cena é mais Vb.net, C#, Aspx, SQL como é obvio

acho que deves de ler um tutorial pelo menos para teres alguma base.

Atenciosamente

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax
mjamado, percebo tudo o que disseste, no entanto o rapaz têm que aprender e com alguma ajuda ele até pode vir a ser um bom programador.

Caso ele tb não se esforce, sabe que tem o emprego em risco.

o topico e' de 2010....................


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.