Jump to content

Recommended Posts

Posted

É das coisas mais simples que há.

Ando há algum tempo para fazer um tutorial ou um screencast sobre isso... por motivos diversos ainda não o fiz.

Se ler em inglês não for um obstáculo, encontras bastantes no google.

Posted

já consegui descobrir o problema

só que ainda n sei como o resolver

já criei a base de dados só que n consigo criar as tabelas

alguém me pode dizer como faço isso?

DMBoss aka KingOfShadows

Posted

Usas um programa de administração de bases de dados e clicas onde diz "criar tabela nova" ou qualquer coisa parecida.

Tens é que ter permissões para isso

Estás a correr isso onde? No teu computador? Num servidor remoto? Não tens acesso a uma coisa tipo phpmyadmin?

Posted

eu consigo aceder ao phpmyadmin só que depois na consigo criar as tabelas porque nunca trabalhei com DB's

as tabelas que o joninho utilizou foram estas

Requesitos:
Saltar Logo para o DEFAULT nos cases, porque é o primeiro passo que a página faz, por isso é mais facil de esplicar assim
MySql:
Tabela Guestbook
Campos:
  id tipo inteiro limite 255 (por exemplo)
  de tipo varchar limite 50 (aqui vai ser o remetente da mensagem a ser postada)
  mensagem tipo text (aqui vai ser armazenada a mensagem)
  date tipo varchar limite 50

e como o código que eu estou a utilizar e do dele

terão de ser estas as tabelas que tenho de criar

só n sei como as criar

DMBoss aka KingOfShadows

Posted

No phpMyAdmin clicas em criar tabela e escolhes as definições como estão no quote que fizeste, não tem nada de complicado.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Posted

Imagem

ta aqui um screen do phpmyadmin

se alguém me poder ajudar a criar estas tabelas

Requesitos:
Saltar Logo para o DEFAULT nos cases, porque é o primeiro passo que a página faz, por isso é mais facil de esplicar assim
MySql:
Tabela Guestbook
Campos:
  id tipo inteiro limite 255 (por exemplo)
  de tipo varchar limite 50 (aqui vai ser o remetente da mensagem a ser postada)
  mensagem tipo text (aqui vai ser armazenada a mensagem)
  date tipo varchar limite 50

DMBoss aka KingOfShadows

Posted

Metes no nome Guestbook, e 4 no número de fields. Depois aparece um popup e metes essas configs.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Posted
 CREATE TABLE `a8373046_gja`.`Guestbook` (
`id` INT( 225 ) NOT NULL ,
`de` VARCHAR( 50 ) NOT NULL ,
`mensagem` TEXT NOT NULL ,
`date` VARCHAR( 50 ) NOT NULL
) ENGINE = MYISAM 

supostamente a tabela ja esta criada

DMBoss aka KingOfShadows

  • 2 weeks later...
Posted

Que erro é que ele te dá?

Se só soubermos que dá erro e mais nada não podemos ajudar muito 😉

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Posted

Sim, eu experimentei, mas sem sabermos o código de inserir os comentários, não podemos ajudar.

Isso deve ter a haver com o código SQL, mostra o que tens para fazer as querys e verifica se os nomes das tabelas correspondem.

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Posted

o código e este

fui o joninho, que o postou

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Mensagens - GuestBook</title>

<style type="text/css">
<!--
body {
        background-color: #156564;
        background-image: url(lol9.jpg);
}
.style2 {
        color: #0099FF;
        font-size: 18px;
        font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style1{
        color:#000000;
        font-size:18px;
        font-family:Geneva, Arial, Helvetica, sans-serif
}
-->
</style><body>

</head>
<table width="499" border="1" bordercolor="#CC3300" cellpadding="0" cellspacing="0" align="center">
  <!--DWLayoutTable-->

  <tr>
    <td width="495" height="185" valign="top" bgcolor="#CCCCCC">
       
       
        <?php
/* Ligacao a base de dados, substituir:
SERVER: pelo vosso servidor
USER: pelo vosso user da base de dados
PASS: pela vossa password da base de dados
BASE_DE_DADOS: pela vossa Base de dados */

$dbh=mysql_connect ("SERVER", "USER", "PASS") or die ('Não é possivel aceder à base de dados porque: ' . mysql_error());
mysql_select_db ("BASE_DE_DADOS");

?>

<?php
// aqui a variavel $var vai receber um valor introduzido no endereço por exemplo index.php?action=lol a variavel $var vai ficar com o conteudo "lol", que é para depois usar os cases em vês de 2 páginas, como é cases e a variavel var logo no principio tem o conteudo "" e nao tenho nenhuma case para esse conteudo irá ser redireccionado para o default.

$var=$_GET["action"];
//abrir os cases
switch($var){
//case Enviar
case "enviar":

//bem vindo ao case enviar XD lol aqui é onde vai receber o conteudo do formulario para enviar para a base de dados...
//a variavel date vai ficar com a data de hoje, e esta a função.
$date = date("j/n/Y");
//a variavel nome vai receber o conteudo do formulario onde voce inseriu o nome..
$nome = $_POST["nome"];
//a variavel mensagem vai receber o conteudo do formulario onde voce interiu a mensagem, o nl2br é para fazer paragrafos ao longo do texto, respectivamente pelos paragrafos k meter..
$mensagem = nl2br($_POST["mensagem"]);
//query para inserir o conteudo das variaveis na base de dados
$query= "INSERT INTO `Guestbook` (`de` , `mensagem`, `date` ) VALUES ('$nome', '$mensagem',''$date')";
//se a query for bem sucedida entao apresenta o texto: "mensagem enviada" e uma hiperligação para voltar ao index.php
if(mysql_query($query)){
echo "mensagem enviada!!!<br>";
echo '<a href=index.php>Voltar</a>';
//senao apresenta o texto: "mensagem nao foi enviada ocorreu um erro..." e uma hiperligacao para voltar ao index.php
}else{
echo "mensagem nao foi enviada ocorreu um erro...<br>";
echo '<a href=index.php>Voltar</a>';
}

//fexar o case ESTA ACABADO O SCRIPT DO GUESTBOOK 
break;

//entao, o primeiro passo que a pagina faz é entrar aqui. e fazer o que o script manda...

default:

//aqui fazemos uma query para  bd, que vai seleccionar o conteudo da tabela Guestbook
$query="SELECT * FROM `Guestbook` WHERE 1";
//fazemos a query para dentro da variavel $nome, que vai ficar uma array. os nomes das variaveis podem ser alterados por si, desde que use direito e mude em todo lado..
$nome=mysql_query($query);
/* agora fazemos um ciclo para imprimir no ecrã tudo o que tiver a array $nome tiver, nao sei bem explicar o ciclo XD mas sei que é para isso.
ou seja imprime o que tiver na tabela, menos o id, se quiser tb pode imprimir o id, basta meter um echo $titulo[1], dependendo da posição desse campo...*/
                        while($titulo = mysql_fetch_row($nome)){
                                                                //imprime o remetente da mensagem...   
                        echo '<br><span class="style2">De: </span>'.'<span class="style1">'.$titulo[1].'</span>';
                                                                //imprime a data do local..
                        echo '<br><span class="style2">Data: </span>'.'<span class="style1">'.$titulo[4]."</span><br>";
                                                               //e por fim imprime a mensagem
                        echo '<br><span class="style2">Mensagem: </span><br>'.'<span class="style1">'.$titulo[2].'</span><br>';
                       //separador das mensagens... fica mais bonito, assim pode separar umas das outras..                      echo "==================================================================================";
// fexar o ciclo
}


//aqui fica o formulario para inserir na base de dados

?>
//action e para onde o form vai mandar os dados, neste caso vai mandar para a nossa case enviar, porque vai meter o conteudo enviar na variavel e entao vai entrar na case "enviar" precebido? 
<form action="index.php?action=enviar" method="post">
Nome:
  <br />//aqui e a insercao do nome
    <input type="text" name="nome"/>
  <br />
    Mensagem:  
<br />
// agora a da mensagem
    <textarea name="mensagem" cols = "70" rows="8"></textarea><br />
//estes sao os botoes submit para submeter o formulario e o reset para limpar tudo
        <input type="submit" value="Enviar"/>
        <input type="reset" value="Limpar tudo"/>  
//fexar o formulario
</form>
<?
//e fexar o case default, agora faz de conta que uma pessoa mete texto no formulario, entao o script vai saltar para o case "enviar". dirija-se agora ao case"enviar"
break;
}
?></td>
  </tr>
</table>
</body>
</html>
<?php
//fexa a ligacao a base de dados
mysql_close($dbh);

?>

DMBoss aka KingOfShadows

Posted

Tenta isto.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Mensagens - GuestBook</title>

<style type="text/css">
<!--
body {
        background-color: #156564;
        background-image: url(lol9.jpg);
}
.style2 {
        color: #0099FF;
        font-size: 18px;
        font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style1{
        color:#000000;
        font-size:18px;
        font-family:Geneva, Arial, Helvetica, sans-serif
}
-->
</style><body>

</head>
<table width="499" border="1" bordercolor="#CC3300" cellpadding="0" cellspacing="0" align="center">
  <!--DWLayoutTable-->

  <tr>
    <td width="495" height="185" valign="top" bgcolor="#CCCCCC">
       
       
        <?php
/* Ligacao a base de dados, substituir:
SERVER: pelo vosso servidor
USER: pelo vosso user da base de dados
PASS: pela vossa password da base de dados
BASE_DE_DADOS: pela vossa Base de dados */

$dbh=mysql_connect ("SERVER", "USER", "PASS") or die ('Não é possivel aceder à base de dados porque: ' . mysql_error());
mysql_select_db ("BASE_DE_DADOS");

?>

<?php
// aqui a variavel $var vai receber um valor introduzido no endereço por exemplo index.php?action=lol a variavel $var vai ficar com o conteudo "lol", que é para depois usar os cases em vês de 2 páginas, como é cases e a variavel var logo no principio tem o conteudo "" e nao tenho nenhuma case para esse conteudo irá ser redireccionado para o default.

$var=$_GET["action"];
//abrir os cases
switch($var){
//case Enviar
case "enviar":

//bem vindo ao case enviar XD lol aqui é onde vai receber o conteudo do formulario para enviar para a base de dados...
//a variavel date vai ficar com a data de hoje, e esta a função.
$date = date("j/n/Y");
//a variavel nome vai receber o conteudo do formulario onde voce inseriu o nome..
$nome = $_POST["nome"];
//a variavel mensagem vai receber o conteudo do formulario onde voce interiu a mensagem, o nl2br é para fazer paragrafos ao longo do texto, respectivamente pelos paragrafos k meter..
$mensagem = nl2br($_POST["mensagem"]);
//query para inserir o conteudo das variaveis na base de dados
$query= "INSERT INTO `Guestbook` (`de` , `mensagem`, `date` ) VALUES (\''$nome'\', \''$mensagem'.\, \''.$date.'\')";
//se a query for bem sucedida entao apresenta o texto: "mensagem enviada" e uma hiperligação para voltar ao index.php
if(mysql_query($query)){
echo "mensagem enviada!!!<br>";
echo '<a href=index.php>Voltar</a>';
//senao apresenta o texto: "mensagem nao foi enviada ocorreu um erro..." e uma hiperligacao para voltar ao index.php
}else{
echo "mensagem nao foi enviada ocorreu um erro...<br>";
echo '<a href=index.php>Voltar</a>';
}

//fexar o case ESTA ACABADO O SCRIPT DO GUESTBOOK 
break;

//entao, o primeiro passo que a pagina faz é entrar aqui. e fazer o que o script manda...

default:

//aqui fazemos uma query para  bd, que vai seleccionar o conteudo da tabela Guestbook
$query="SELECT * FROM `Guestbook` WHERE 1";
//fazemos a query para dentro da variavel $nome, que vai ficar uma array. os nomes das variaveis podem ser alterados por si, desde que use direito e mude em todo lado..
$nome=mysql_query($query);
/* agora fazemos um ciclo para imprimir no ecrã tudo o que tiver a array $nome tiver, nao sei bem explicar o ciclo XD mas sei que é para isso.
ou seja imprime o que tiver na tabela, menos o id, se quiser tb pode imprimir o id, basta meter um echo $titulo[1], dependendo da posição desse campo...*/
                        while($titulo = mysql_fetch_row($nome)){
                                                                //imprime o remetente da mensagem...   
                        echo '<br><span class="style2">De: </span>'.'<span class="style1">'.$titulo[1].'</span>';
                                                                //imprime a data do local..
                        echo '<br><span class="style2">Data: </span>'.'<span class="style1">'.$titulo[4]."</span><br>";
                                                               //e por fim imprime a mensagem
                        echo '<br><span class="style2">Mensagem: </span><br>'.'<span class="style1">'.$titulo[2].'</span><br>';
                       //separador das mensagens... fica mais bonito, assim pode separar umas das outras..                      echo "==================================================================================";
// fexar o ciclo
}


//aqui fica o formulario para inserir na base de dados

?>
//action e para onde o form vai mandar os dados, neste caso vai mandar para a nossa case enviar, porque vai meter o conteudo enviar na variavel e entao vai entrar na case "enviar" precebido? 
<form action="index.php?action=enviar" method="post">
Nome:
  <br />//aqui e a insercao do nome
    <input type="text" name="nome"/>
  <br />
    Mensagem: 
<br />
// agora a da mensagem
    <textarea name="mensagem" cols = "70" rows="8"></textarea><br />
//estes sao os botoes submit para submeter o formulario e o reset para limpar tudo
        <input type="submit" value="Enviar"/>
        <input type="reset" value="Limpar tudo"/> 
//fexar o formulario
</form>
<?
//e fexar o case default, agora faz de conta que uma pessoa mete texto no formulario, entao o script vai saltar para o case "enviar". dirija-se agora ao case"enviar"
break;
}
?></td>
  </tr>
</table>
</body>
</html>
<?php
//fexa a ligacao a base de dados
mysql_close($dbh);

?>

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Posted

Tenta a sugestão do scorch, e se não der, faz assim:

Nesta parte

}else{
echo "mensagem nao foi enviada ocorreu um erro...<br>";
echo '<a href=index.php>Voltar</a>';
}

altera para:

}else{
echo "mensagem nao foi enviada ocorreu um erro:".mysql_error()."<br>";
echo '<a href=index.php>Voltar</a>';
}

e vamos ficar a saber se é erro da base de dados, que quase certo que é.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

como tinhas dito softclean o erro e na DB

Mensagem não enviada, ocorreu um erroYou have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near '7/3/2009')' at line 1

DMBoss aka KingOfShadows

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.