1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

php problema com referrer na url

Discussão em 'Web Development' iniciada por droidman, 4 de Junho de 2008. (Respostas: 16; Visualizações: 1372)

  1. droidman

    droidman Power Member

    Fiz uma base de dados simples em sql e um documento em php que permite adicionar e remover utilizadores dessa base de dados, como nao sou perito, vejo-me um bocado atrapalhado agora para continuar o que pretendo.
    A ideia é o site ao ser aberto como

    ele ir directo para um index que mostre uma pagina que vai buscar em determinados campos o nome da pessoa que apresenta o site, por exemplo

    Este site é apresentado por "$user" ou variavel que vai mostrar o nome da pessoa
    telemovel do fulano é "$telemovel"
    etc.
    depois ele tem um form de contacto tambem em php que envia um mail para o mail da pessoa que mostra o site, e la tambem tem que chamar a variavel do tal "user" imaginemos que é zé, ele tem que ir buscar o mail do zé para quando alguem vir aquela página e preencher o form, ir parar ao zé.
    a base de dados ta feita, so me falta o index mostrar os dados que quero depois dentro de tabelas em qualquer lugar e por o index bonito.

    thanks in advance :)
     
  2. h4des

    h4des Power Member

    o que tu queres é que no url esteja por exemplo site.com/index.php?user=ze e ele mostra as informações do utilizador "ze"?

    se assim for podes fazer algo do genero disto:

    Código:
    <?
        $getUser = mysql_query("SELECT nome,telemovel FROM users WHERE nick='".$_GET['user']."';");
        $user = mysql_fetch_row($getUser);
        
        echo 'Nome: '.$user[0].'<br>Telemovel: '.$user[1].'<br>';
    ?>
    
     
  3. droidman

    droidman Power Member

    antes de mais obrigado pela pronta resposta
    deu-me estes erros:
     
  4. h4des

    h4des Power Member

    Substituiste os campos no query pelos nomes correctos dos campos que estão na tua base de dados?

    Não te esqueças de conectar á base de dados antes de fazer o mysql_query:

    Código:
        $conexao = mysql_pconnect("localhost","username","password");
        mysql_select_db("nome_base_de_dados",$conexao);
    
     
  5. droidman

    droidman Power Member

    eu mudei mta coisa...
    o codigo k tenho ta assim:


    Código:
    <?php
      $dbtype = "mysql";
      $dbuser = "xxxxx";
      $dbpassword = "password";
      $dbhost = "00.00.00.00";
      $dbname = "nomedabasededados";
      $connection = $dbtype.'://'.$dbuser.':'.$dbpassword.'@'.$dbhost.'/'.$dbname;  
      $conexao = mysql_connect($dbhost, $dbuser, $dbpassword) or die(mysql_error());
    
      $getUser = mysql_query("SELECT username FROM uzers WHERE username='".$_GET['user']."';") or die(mysql_error());
      $user = mysql_fetch_row($getUser);    
      echo 'Nome: '.$user[0].'<br>Telemovel: '.$user[1].'<br>';
    ?>
    obviamente alterei os dados da base de dados
    isso é o codigo todo k tenho no index.php
    nao tou a fazer include de nenhum connect.php talvez seja mais seguro mas para ja o mais importante é ter isso a dar
     
  6. h4des

    h4des Power Member

    No echo estas a imprimir o username e o telemovel, mas na query so pedes o campo user name. Deves por assim:
    $getUser = mysql_query("SELECT username,telemovel FROM uzers WHERE username='".$_GET['user']."';") or die(mysql_error());

    Outra coisa, isso pode tar a dar erro por ter alguma coisa mal escrita, por exemplo ali no query está escrito "uzers", não sei se é mesmo assim ou se te enganaste.
     
  7. droidman

    droidman Power Member

    vi e revi, ta tudo bem preenchido, o problema parece-me ser o 'user' nao estar declarado em lado nenhum ou entao nem tou a ver onde ta a parte do codigo que o vai buscar quando se escrever www.site.com/index.php?user
    espreita aqui o script e o erro k ta a dar sff

    http://iisop.org/daniel/index.php?president

    PS: a base é mesmo uzers para nao confundir codigos nem os queries em sql
     
  8. h4des

    h4des Power Member

    http://iisop.org/daniel/index.php?user=president

    Aparece-me No database selected, por isso deves ter alguma coisa mal na conexão.

    Quanto ao comando que vai buscar o valor do user ao url, é o $_GET['user'] que está no query.

    edit:
    falta-te o:
    mysql_select_db($dbname,$conexao);
     
    Última edição: 4 de Junho de 2008
  9. droidman

    droidman Power Member

    funciona!

    whoohoooo
    agora tenho k resolver aki uma coisa... em vez de user vou por ref ou tens uma ideia melhor?
     
  10. h4des

    h4des Power Member

    Para fazer isso é so mudar no $_GET de user para ref, ou então podes fazer um form com um textfield onde escreves o nome e ele apresenta as informações.
     
  11. droidman

    droidman Power Member

    na, assim ta porreiro mesmo :D
    1001 obrigados :009:
     
  12. droidman

    droidman Power Member

    nao tem nada a ver mas ja agora pode ser k saibas
    fiz um form de contacto tipo este
    Código:
    http://www.phpeasystep.com/phptu/8.html
    e quando ele passa pro send_contact.php da erros de variaveis nao declaradas
    suponho k seja algum tipo de problema sessões ou coisa parecida e eu segui isto:
    Código:
    http://php.about.com/od/phpfunctions/g/session_start.htm
    
    $_SESSION['$subject']=''; 
    $_SESSION['$detail']=''; 
    
    etc
    mas nao deu em nada, os erros mantem-se.
    alguma ideia? :x
     
  13. h4des

    h4des Power Member

    usa o $_POST para ires buscar as variaveis aos campos do form.

    Por exemplo $subject = $_POST['subject'];
     
  14. droidman

    droidman Power Member

    desculpa a minha ignorancia mas meto isso no ficheiro que envia ou no que recebe ? 1.php ou 2.php ?
     
  15. nopaysoft

    nopaysoft Power Member

    Eu não gosto muito de dar respostas sem explicar por isso cá vai uma explicação que pode parecer "parva"/"estupida" mas cujo objectivo é unicamente explicar bem :lol:

    Imagina o formulário como um aluno a escrever num quadro.
    Tu inseres os dados por exemplo:
    Nome: Joao (que está associado a um campo com a id/name = nome)
    e
    Morada: Ali em baixo (que está associada a um campo com a id/nome = morada)
    o que o form te vai fazer é "postar" a informação (claro se o método do formulário for "post").
    entao ele "escreve no quadro":
    nome = Joao e morada = Ali em baixo.

    Agora tu queres ir buscar esses valores (para os exibires/guardares)... então o que vais fazer é utilizar o método para ir buscar a variável que está escrita no quadro. Neste caso como usas o método post será:
    $a_tua_nova_variavel = $_POST['variavel'];

    onde "variavel" deve ser substituido por nome ou morada consoante o que queiras ir buscar.

    Nota: Evidentemente que não precisas de passar por este processo podendo simplesmente fazer um echo de $_POST['nome'] por exemplo, mas no caso de precisares de trabalhares com esses dados é muito mais fácil se o fizeres com $nome do que com $_POST['nome'];

    Quando um user submete nova informação/muda de browser/muda de PC/ ao final de outra escrita no quadro (...) a informação é apagada para que possa lá estar outra!

    Toda esta complicação onde, a esta hora da noite, me devo ter espalhado para dizer que deve ser no ficheiro que recebe ;)

    Cumps e desculpa a maçada!
     
  16. droidman

    droidman Power Member

    boas nopaysoft, e obrigado pela explicação, eu ja tinha entendido tudo, apenas estava a confundir o facto de dizer "POST" em vez de "GET"
    depois de ter posto tudo direito, tenho este erro:

    Código:
    Parse error: syntax error, unexpected T_VARIABLE
    já agora, tenho uma variavel "$destinatario", para a chamar meto ''.$destinatario.'' ou so '$destinatario'

    pronto basicamente é isto, ja tou a aprender umas coisas, a minha onda era so software agora tou a começar a dar-lhe em php

    EDIT:
    resovi tudo menos o problema dessa vaiável
     
    Última edição: 6 de Junho de 2008
  17. Uma variável começa com $. O ponto (".") serve para concatenação como:

    $mensagem= $qualquer."Exemplo";

    Neste caso, a variável $mensagem ficará com o valor de $qualquer junto com a string "Exemplo".
     

Partilhar esta Página