Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Mensagem de bem-vindo com nome do visitante + cookie

01-05-2013 19:07

Nesse caso aqui desse tópico: viewtopic.php?t=208 ele grava o nome do visitante apenas no campo input? ou é possível pedir o nome no campo apenas uma vez, e na página que a pessoa entrar ficar a mensagem:

Bem-vindo João! ?

Eu quero fazer isso, na minha página pede o nome de usuário e a senha, mas eu queria adicionar um campo a mais perguntando o nome da pessoa, e assim que essa pessoa entrar, aparecer a mensagem de bem-vindo com o nome dela junto do conteúdo normal da página.

Imagem
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Mensagem de bem-vindo com nome do visitante + cookie

01-05-2013 19:55

Com o nome gravado pelo método do COOKIE mostrado no link. Você pode usar o COOKIE em qualquer lugar.
Nesse seu exemplo, depois que clicar em entrar, se seu campo nome é ( input name="nome" ), você pode fazer assim

$tempo_cookie = '60'; // tempo em segundos - 60 para um minuto
setcookie("seunome", $_POST['nome'], time()+($tempo_cookie));

Nesse exemplo, você vai criar o COOKIE seunome. Para usar ele fica assim:
echo $_COOKIE['seunome'];

Você pode criar quantos COOKIES forem necessários.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Mensagem de bem-vindo com nome do visitante + cookie

01-05-2013 20:58

E onde eu coloco esses códigos exatamente? Em que arquivo? no header?

$tempo_cookie = '60'; // tempo em segundos - 60 para um minuto setcookie("seunome", $_POST['nome'], time()+($tempo_cookie));  

Eu coloquei no arquivo seguro.php que é o que estou usando desse script Protecao-para-suas-paginas-com-login-e- ... _3176.html e onde tem os campos de Nome, Usuário e Senha:

Assim está o seguro.php:

<form action='?' method='POST'> Seu nome é... <input type='text' name='nome' value='<?php echo $HTTP_COOKIE_VARS['seunome']; ?>'><br> Username: <input class='campo' type='text' name='login' value=''><br> Senha:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input class='campo' type='password' name='senha' value=''><br> <input type='submit' name='loga' value='Entrar'> </form>

Imagem dele no editor de sites:

Imagem

Só que eu percebi que no código seguro.php, tudo está com aspas únicas ('), e o código do cookie com aspas duplas (") isso ocorre algum erro?!

Eu ainda não testei o código pois está faltando saber onde colocar o código acima de definição de tempo de cookie e set de cookie...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Mensagem de bem-vindo com nome do visitante + cookie

01-05-2013 21:18

O COOKIE é usado para armazenar um valor determinado, no computador do usuário. Então a linha de criação do COOKIE vai ficar exatamente onde o valor estiver.

Por exemplo, se você vai pegar informações de um formulário, e uma delas vai ser armazenada em um COOKIE, então a linha do COOKIE vai ficar exatamente onde você terá esse valor disponível no código, tipo:

if(isset($_POST)) {

$nome = $_POST['nome'];

// ABAIXO O COOKIE É CRIADO PARA ARMAZENAR O NOME ENVIADO

setcookie("seunome", $_POST['nome'], time()+(60));

}

Já a questão das aspas simples, é porque o código do formulário está dentro de um echo, que inicia e termina por aspas duplas.
Quando isso acontece você tem 2 caminhos

Usas aspas simples
echo "<input type='text'>";

Usar aspas dupla escapada
echo "<input type=\"text\">";

Nesse caso do seu código, essa linha está dentro do echo, iniciado e terminado por aspas dupla, então o correto é fazer assim:

Seu nome é... <input type='text' name='nome' value='".$_COOKIE["seunome"]."'><br>

Dá uma consultada no manual PHP que tem outros exemplos de uso do COOKIE
http://php.net/manual/en/function.setcookie.php
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Mensagem de bem-vindo com nome do visitante + cookie

02-05-2013 09:35

A linha de criação do cookie deverá ficar no mesmo local que o valor que ele vai usar está, certo?

Então, veja como estou a fazer... :/

Esse é todo meu arquivo seguro.php onde se encontra os campos.

<?php $Login = "abc"; $Senha = "123"; if($_GET['logout']=="sim") { $tempo_cookie = "3600"; // tempo de vida do cookie setcookie("log", "", time()+($tempo_cookie)); setcookie("sen", "", time()+($tempo_cookie)); echo "<script> alert('Você saiu da página'); location.href='?'; </script>"; exit; } if(isset($_POST['loga'])) { extract($_POST); if($login=="$Login" && $senha=="$Senha") { $tempo_cookie = "3600"; // tempo de vida do cookie setcookie("log", "$Login", time()+($tempo_cookie)); setcookie("sen", "$Senha", time()+($tempo_cookie)); echo "<script> alert('Bem-vindo a página'); location.href='?'; </script>"; } else { echo "<script> alert('A senha está errada'); location.href='?'; </script>"; } } if($_COOKIE['log']!="$Login" && $_COOKIE['sen']!="$Senha") { include ("template/header.php"); echo " <style> .campo { margin-bottom: 3px; padding-left: 10px; padding-right: 10px; background-image: url('img/fundo.png');  -webkit-border-radius: 40px; -moz-border-radius: 40px;  height: 34px;  width: 140px;  border: #608e9f solid 1px;  font-family: Calibri;  color: #3E389E;  font-style: normal;  font-weight: Bold;  font-size: 14px;} </style> <center> Seja bem-vindo bla bla...<br> <form action='?' method='POST'> Seu nome é... <input class='campo' type='text' name='nome' value='".$_COOKIE["seunome"]."'><br> Username: <input class='campo' type='text' name='login' value=''><br> Senha: <input class='campo' type='password' name='senha' value=''><br> <input type='submit' name='loga' value='Entrar'> </form> </center> "; $tempo_cookie = '60'; // tempo em segundos - 60 para um minuto setcookie("seunome", $_POST['nome'], time()+($tempo_cookie)); exit; } ?>

Coloquei a linha de criação do cookie depois que foi fechado o formulário que está dentro de echo, como pode ver no código, mas deu isso:

Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\infoprodutos-gratis\template\header.php:549) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\infoprodutos-gratis\seguro.php on line 69

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Mensagem de bem-vindo com nome do visitante + cookie

02-05-2013 14:32

Acho que você não entendeu.

Ai no código, na linha 21 e 22 tem a criação dos COOKIES: log e sen

Essas linhas ai criam esses 2 COOKIES. Elas estão ai, criando o COOKIE, quando os dados do login forem iguais aos definidos na página.

if($login=="$Login" && $senha=="$Senha") {

Então, após as linhas 21 e 22, deve entrar a terceira linha, que é a do COOKIE do nome

setcookie("seunome", $_POST['nome'], time()+($tempo_cookie)); 

Ou seja, vai ficar assim

setcookie("log", "", time()+($tempo_cookie)); setcookie("sen", "", time()+($tempo_cookie)); setcookie("seunome", $_POST['nome'], time()+($tempo_cookie)); 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Mensagem de bem-vindo com nome do visitante + cookie

08-05-2013 01:08

Eu consegui, deu certo! Mais uma vez obg web!!!
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Mensagem de bem-vindo com nome do visitante + cookie

13-05-2013 16:10

Eu consegui fazer essa paradinha na página que eu tinha criado... Só não estou conseguindo adaptá-la no template do meu blog Wordpress, pois não entendo muito todas as variáveis php do template :/ ... O que eu quero fazer é basicamente bem simples (exatamente a mesma coisa) só que no blog, no campo de comentário.

Quero que quando o visitante vá fazer um comentário, quando ele colocar o nome dele no campo "Nome" o cookie já capturar o nome dele para usar na página php que eu criei (aquela que pede um usuário e senha que eu vi aqui no fórum), e então ele já vai ter o nome salvo no cookie e na página ele só vai colocar o "Usuário" e a "Senha".

Ao ter deixado um comentário no meu blog (http://www.meusite.com/blog), o cookie salvou o nome dele quando ele preencheu o nome no campo. Aí ele vai e acessa uma página fora do blog mas no mesmo domínio (http://www.meusite.com/pagina-segura) e só digita o usuário e a senha, e quando entra na página tem a mensagem de bem vindo com o nome dele.

E queria poder usar esse nome dele também em todo lugar que ele fosse acessar.

O único problema é que eu não estou conseguindo saber onde é o código do formulário do comentário do meu template Wordpress, pois tem pouco "html" e mais "php":


Esse é o meu campo de comentário do blog:
Imagem

Esse arquivo: "edit-form-comment.php" fica dentro da pasta wp-admin, ele tem uma parte no código que acredito ser o formulário de comentário, mas por estar dentro da pasta "wp-admin" não sei se altera o formulário apenas do administrador...

<form name="post" action="comment.php" method="post" id="post"> <?php wp_nonce_field('update-comment_' . $comment->comment_ID) ?> <div class="wrap"> <?php screen_icon(); ?> <h2><?php _e('Edit Comment'); ?></h2> <div id="poststuff"> <input type="hidden" name="user_ID" value="<?php echo (int) $user_ID; ?>" /> <input type="hidden" name="action" value="editedcomment" /> <input type="hidden" name="comment_ID" value="<?php echo esc_attr( $comment->comment_ID ); ?>" /> <input type="hidden" name="comment_post_ID" value="<?php echo esc_attr( $comment->comment_post_ID ); ?>" /> <div id="post-body" class="metabox-holder columns-2"> <div id="post-body-content"> <div id="namediv" class="stuffbox"> <h3><label for="name"><?php _e( 'Author' ) ?></label></h3> <div class="inside"> <table class="form-table editcomment"> <tbody> <tr valign="top">     <td class="first"><?php _e( 'Name:' ); ?></td>     <td><input class="campo" type="text" name="newcomment_author" size="30" value="<?php echo esc_attr( $comment->comment_author ); ?>" id="name" /></td> </tr> <tr valign="top">     <td class="first">     <?php         if ( $comment->comment_author_email ) {             printf( __( 'E-mail (%s):' ), get_comment_author_email_link( __( 'send e-mail' ), '', '' ) );         } else {             _e( 'E-mail:' );         } ?></td>     <td><input type="text" name="newcomment_author_email" size="30" value="<?php echo $comment->comment_author_email; ?>" id="email" /></td> </tr> <tr valign="top">     <td class="first">     <?php         if ( ! empty( $comment->comment_author_url ) && 'http://' != $comment->comment_author_url ) {             $link = '<a href="' . $comment->comment_author_url . '" rel="external nofollow" target="_blank">' . __('visit site') . '</a>';             printf( __( 'URL (%s):' ), apply_filters('get_comment_author_link', $link ) );         } else {             _e( 'URL:' );         } ?></td>     <td><input type="text" id="newcomment_author_url" name="newcomment_author_url" size="30" class="code" value="<?php echo esc_attr($comment->comment_author_url); ?>" /></td> </tr> </tbody> </table>

Esse outro código encontrei no arquivo que fica dentro da pasta "wp-includes" ele pertence ao "comment-template.php"

    <?php if ( comments_open( $post_id ) ) : ?>             <?php do_action( 'comment_form_before' ); ?>             <div id="respond">                 <h3 id="reply-title"><?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?> <small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small></h3>                 <?php if ( get_option( 'comment_registration' ) && !is_user_logged_in() ) : ?>                     <?php echo $args['must_log_in']; ?>                     <?php do_action( 'comment_form_must_log_in_after' ); ?>                 <?php else : ?>                     <form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>">                         <?php do_action( 'comment_form_top' ); ?>                         <?php if ( is_user_logged_in() ) : ?>                             <?php echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity ); ?>                             <?php do_action( 'comment_form_logged_in_after', $commenter, $user_identity ); ?>                         <?php else : ?>                             <?php echo $args['comment_notes_before']; ?>                             <?php                             do_action( 'comment_form_before_fields' );                             foreach ( (array) $args['fields'] as $name => $field ) {                                 echo apply_filters( "comment_form_field_{$name}", $field ) . "\n";                             }                             do_action( 'comment_form_after_fields' );                             ?>                         <?php endif; ?>                         <?php echo apply_filters( 'comment_form_field_comment', $args['comment_field'] ); ?>                         <?php echo $args['comment_notes_after']; ?>                         <p class="form-submit">                             <input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" />                             <?php comment_id_fields( $post_id ); ?>                         </p>                         <?php do_action( 'comment_form', $post_id ); ?>                     </form>                 <?php endif; ?>             </div><!-- #respond -->             <?php do_action( 'comment_form_after' ); ?>         <?php else : ?>             <?php do_action( 'comment_form_comments_closed' ); ?>         <?php endif; ?>     <?php

/table
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Mensagem de bem-vindo com nome do visitante + cookie

13-05-2013 17:09

Esse campo da primeira parte do código

<input class="campo" type="text" name="newcomment_author" size="30" value="<?php echo esc_attr( $comment->comment_author ); ?>" id="name" />

O echo para exibir o valor do COOKIE deveria aparecer ai, no value. Esse valor já definido ai não sei do que se trata.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 124
Sexo: Masculino

Mensagem de bem-vindo com nome do visitante + cookie

15-05-2013 12:34

É mesmo, por isso achei confuso.. Também não sei dizer o que pode ser exatamente esse valor já definido.. Mas, desconfio que como esse código desse arquivo está dentro da pasta do wp-admin, talvez seja "setando" o formulário do comentário do administrador que está logado. Então só fica sem valor definido a textarea, que é pra o administrador comentar livremente, mas a área de e-mail, e nome, ficam com o valor do administrador logado... Acho que pode ser isso...

Agora, encontrei um arquivo comments.php e esse arquivo fica fora da pasta wp-admin, esse arquivo fica nesse caminho aqui:

blog\wp-content\themes\Meu-Tema o código dele é esse...

<?php if ( post_password_required() ) { ?>         <p><?php _e( 'This post is password protected. Enter the  password to view any comments.', 'themater' ); ?></p>     <?php return; } ?>     <?php if ( have_comments() ) { ?>         <div id="comments">             <h3 id="comments-title"><?php             printf( _n( 'One Response to %2$s', '%1$s  Responses to %2$s', get_comments_number(), 'themater' ),             number_format_i18n( get_comments_number() ),  '<em>' . get_the_title() . '</em>' );             ?></h3>             <ol class="commentlist">               <?php wp_list_comments(); ?>             </ol>             <?php if ( get_comment_pages_count() > 1 ) { ?>                 <div class="navigation  clearfix">                     <div  class="alignleft"><?php previous_comments_link( __( '<span  class="meta-nav">?</span> Older Comments', 'themater' ) );  ?></div>                     <div  class="alignright"><?php next_comments_link( __( 'Newer  Comments <span class="meta-nav">?</span>', 'themater' ) );  ?></div>                 </div><!-- .navigation .clearfix  -->             <?php } ?>         </div><!-- #comments -->     <?php } ?>     <?php comment_form(); ?>


Aí na última linha tem essa "coisa" aqui: <?php comment_form(); ?> e é aí que ele "pega" os campos do comentário! Aí é que deve ter os campos input e textarea, digo isso pois eu fiz o teste colocando uma div com class envolvendo esse código pra personalizar com style essa parte e ficou personalizado, fiz assim, envolvi esse código numa div:

  <div class="personalizando"> <?php comment_form(); ?> </div>  

E no css:

  div.personalizando input[type=text]{ ...atributos... }   div.personalizando input[type=submit]{ ...atributos... }   div.personalizando textarea{ ...atributos... }  

Fiz assim, coloquei os atributos da personalização do style e os campos foram personalizados. Agora, o mistério é saber porque está assim <?php comment_form(); ?> e não os campos exatamente...

Onde estão os campos de um em um pra personalizar? esse código funciona como uma espécie de "include" dos campos do comentário... Será que esse código é uma "criptografia" de um include?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Mensagem de bem-vindo com nome do visitante + cookie

15-05-2013 13:42

comment_form() pela aparência é uma função. Veja um exemplo:

<?php function comment_form() { echo "abc"; } comment_form(); ?>

Essa função pode estar chamando qualquer coisa, include, código, etc....

Suponho que deve ter algum arquivo específico para funções, tipo, functions.php

Quanto ao valor no input, pré-definido, pode ser que o admin, tenha possibilidade de setar se um valor ficará fixo ou não no input.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado