ecacarva 0 Denunciar post Postado Fevereiro 26, 2005 Ola PessoalComo estou iniciando em php, peguei esse exemplo de um tutorial do IMasters.Estou trabalhando com o Windows 2000, Apache, PHP 4 e MySQL. Digitei o programa exemplo abaixo e consertei alguns problemas com ajuda do pessoal desse forum. No entanto, ao clicar no botão registra, não está gravando nada.Por favor. Alguem pode examinar o codigo e ver se tem algo de errado ?Outra coisa: Alguem tem um exemplo prático de cadastro que está funcionando direitinho, pois acho que é uma boa forma de comecar a desenvolver.Obrigadoecacarvainclude "conecta.php"; //Conecta com a nosso banco de dados MySQLinclude "ver_sessao.php"; //Verifica se a sessão está ativa?><html><head><title>Tutorial iMasters</title></head><body bgcolor="#FFFFFF" text="#000000"><br><table width="60%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td height="60"><div align="center"><font face="Arial" size="4"><b>Cadastro de Clientes</b></font></div></td></tr></table><br><?if($acao == 'cadastrar') { /*Cadastra o cliente depois que o formulário for enviado *///Verifica os dados enviadosif($nome_user == '') {$erros++;$html_erros = $html_erros."<br>Nome";}if($end_user == '') {$erros++;$html_erros = $html_erros."<br>Endereço";}if($bairro_user == '') {$erros++;$html_erros = $html_erros."<br>Bairro";}if($email_user == '') {$erros++;$html_erros = $html_erros."<br>Email";}if($tel_user == '') {$erros++;$html_erros = $html_erros."<br>Telefone";}if($cidade_user == '') {$erros++;$html_erros = $html_erros."<br>Cidade";}if($estado_user == 0) {$erros++;$html_erros = $html_erros."<br>Estado";}if($erros == 0) {echo "<p align=\"center\"><big><strong>VAI GRAVAR</strong></big></p>";$sql = mysql_query("INSERT INTO tb_clientes(inclusao_user,nome_user,end_user,bairro_user,email_user,tel_user,cidade_user,estado_user) VALUES(now(),'$nome_user','$end_user','$bairro_user','$email_user','$tel_user','$cidade_user','$estado_user')")or die("Erro no comando SQL:".mysql_error());echo "<div align=center><font face=Arial size=2>Cliente cadastrado com Sucesso!!<br><br><a href='java script:history.go(-2)'><< Voltar</a></font></div><br><br>";} //fecha $erros == 0else {echo "<div align=center><font face=Arial size=2><b>ATENÇÃO</b><br><br>Foram encontrados <b>$erros</b>erro(s) no cadastro do cliente:<br><b>$html_erros</b><br><br><a href='java script:history.go(-1)'><< Voltar</a></font></div><br><br>";}//fecha else} /*fecha acao= cadastrar*/ ?><?if($acao == '') { /*Mostra o formulário de cadastro de clientes */$sql_estados = mysql_query("SELECT * FROM tb_estados ORDER BY estado")or die("ERRO no comando SQL:".mysql_error());?><form name="frm_clientes" method="post" action="cadclientes.php?acao=cadastrar"><table width="80%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td width="24%" height="25"><font face="Arial" size="2">Nome:</font></td><td height="25" width="76%"><font face="Arial" size="2"><input type="text" name="nome_user" size="35"></font></td></tr><tr><td height="25" width="24%"><font face="Arial" size="2">Endereço:</font></td><td height="25" width="76%"><font face="Arial" size="2"><input type="text" name="end_user" size="30"></font></td></tr><tr><td height="25" width="24%"><font face="Arial" size="2">Bairro:</font></td><td height="25" width="76%"><font face="Arial" size="2"><input type="text" name="bairro_user" size="30"></font></td></tr><tr><td height="25" width="24%"><font face="Arial" size="2">Email:</font></td><td height="25" width="76%"><font face="Arial" size="2"><input type="text" name="email_user" size="35"></font></td></tr><tr><td height="25" width="24%"><font face="Arial" size="2">Telefone:</font></td><td height="25" width="76%"><font face="Arial" size="2"><input type="text" name="tel_user" size="20"></font></td></tr><tr><td height="25" width="24%"><font face="Arial" size="2">Cidade:</font></td><td height="25" width="76%"><font face="Arial" size="2"><input type="text" name="cidade_user" size="35"></font></td></tr><tr><td height="25" width="24%"><font face="Arial" size="2">Estado:</font></td><td height="25" width="76%"><font face="Arial" size="2"><select name="estado_user"><option value="0"><< Selecione o estado >></option><?while($array = mysql_fetch_array($sql_estados)) {?><option value="<?echo $array['id_estado'];?>"><?echo $array['estado'];?></option><?}?></select></font></td></tr><tr><td height="25" colspan="2"><div align="center"><input type="submit" name="cadastrar" value="Cadastrar cliente >>"></div></td></tr></table></form><?} /*fecha acao=entrar */?></body></html> Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 26, 2005 bom ja que você quer aprender esqueçe esse codigo vamos fazer um do zero ok? se tiver afim posta ai que eu vou te explicar passo a passo como fazer um sistema de cadastro e que funcione 100% e sem erros :D Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 26, 2005 Estou a fim sim. Manda bala. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 26, 2005 Entao só uma ultima pergunta só pra saber você ta com qual versao do php, mysql e esta tudo funcionando ok? e você ja tem algum conhecimento com o php ? Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 26, 2005 me atrapalheiWin2000, apache 1.33, php 4.3 MySQL 3.23Tudo funcionando Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 26, 2005 Opa posso dar uma dica? se quiser é claro, o mysql acima da versao 4.1 tem muitas funções novas e recursos amais que nessa versao que você usa nao tem ,mas que tbm agora você nao ira precisar mas recomendo mais pra frente quando você tiver dominando mais o mysql você se atualizar nas versoes do mysql e php Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 26, 2005 Ola Tive que dar uma saida para atender uns alunos de redes.Quanto a atualizar, farei isso mais tarde.Com relacao ao conhecimento do php, estou comecando agora, sei muito pouco. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 26, 2005 1 vamos criar um banco simples pra nosso sistema exemplo nome do banco = clientes vai ter 6 campos basicos para você aprender um pouco sobre cada um id = que sera a chave primaria e auto increment onde cada inserção no banco de dados ele vai incrementar esse numero empresa nome endereco telefone data_cadastro bom ate aqui vamos criar esse banco simples pra você aprender a salvar texto no banco, numeros e data alguma duvida ate aqui ? Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 26, 2005 Nao ha duvida, quanto a isso tudo tranquilo Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 26, 2005 entao crie um formulario para salvar esses dados e o banco de dados no banco você pode usar id = smallint unsigned auto_increment primary key empresa = varchar(40) nome = varchar(64) endereco = varchar(64) telefone = smallint unsigned data_cadastro = date alguma duvida? sabe a diferença entre varchar e char ? e sobre o smallint ? unsigned? se tiver duvidas pode falar que eu explico Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 26, 2005 Tenho duvida sim:nao sei a diferença entre varchar e char (achava que era a mesma coisa)nem sobre o smallint e tambem unsigned Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 26, 2005 varchar = caracter variavel char = caracter a diferença basica é isso se você escolhe um campo vachar é porque você nao sabe o tamanho exato que ele ira ocupar por isso ele chama variavel ja o char é pra você usar quando você sabe o tamanho fixo que ira guardar por exemplo uma senha criptgrafada com md5 ela sempre tera o mesmo tamanho de 32 caracteres para uma compreensao melhor leia: http://dev.mysql.com/doc/mysql/pt/char.html e unsigned = sem sinal ou seja se um campo tem o tamanho do int por exemplo INT é de -2147483648 a 2147483647 e você nao for salvar nada negativo você usa o unsigned e ele fica do tamanho 4294967296 http://dev.mysql.com/doc/mysql/pt/numeric-types.html Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 27, 2005 O banco e a tabela clientes sim, mas como faz esse formulario ? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 27, 2005 posta ai o banco pra eu ver como ficou sobre o formulario montei um exemplo pra você ver mas se quiser posso indicar umas apostilas boas de html caso você tenha dificuldade em mecher com ela /p>"http://www.w3.org/TR/html4/loose.dtd"> Cadastro de Clientes [tr] Empresa [/tr] [tr] Contato [/tr] [tr] Endereço [/tr] [tr] Telefone [/tr] [tr] [/tr] [tr] [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 27, 2005 criei utilizando o navicatcreate table clientes ( id smallint(6) unsigned not null default '0', empresa varchar(40) not null, nome varchar(64) not null, endereco varchar(64) not null, telefone smallint(6) not null default '0', data_cadastro date not null default '0000-00-00', primary key (id)) type=MyISAM comment="" Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 27, 2005 Faltou o auto increment CREATE TABLE clientes ( id smallint(5) unsigned NOT NULL auto_increment, empresa varchar(40) collate utf8_unicode_ci NOT NULL default '', nome varchar(64) collate utf8_unicode_ci NOT NULL default '', endereco varchar(64) collate utf8_unicode_ci NOT NULL default '', telefone smallint(6) NOT NULL default '0', data_cadastro date NOT NULL default '0000-00-00', PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; obs: só um detalhe lembrei que você usa o mysql muito antigo entao ele nao tem suporte a UTF UNICODE dai crie do jeito que você vez acima mas acrescente o autoincrement e tem alguma duvida ate aqui ? Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 27, 2005 a tabela esta criadaMinha duvida eh:collate utf8_unicode_ci eENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 27, 2005 Unicode é um padrão único para representar todos os conjuntos de caracteres internacionais numa única fonte. mais informações O padrão Unicode é definido pela Unicode Consortium (www.unicode.org), instituição sem fins lucrativos que se propõe a desenvolver um sistema abrangente e padronizado de representação de escrita em computadores. No padrão Unicode, cada caractere está associado a um número identificador único. A tabela Unicode abrange os mais variados sistemas de escrita como latino, grego, cirílico, hebraico, árabe, japonês, chinês, etc., além de considerar símbolos matemáticos, musicais, de moeda, etc. Em função da variedade de caracteres que apresenta, a tabela Unicode é subdividida em blocos. Veja alguns blocos Unicode, clicando nos links a seguir. por isso que eu falei sobre a versao do mysql a ultima versao do mysql 4.1.10 tem muito mais funcionalidade Compartilhar este post Link para o post Compartilhar em outros sites
ecacarva 0 Denunciar post Postado Fevereiro 27, 2005 OK FabioTive uma queda de conexao, mas estou de volta.Pode prosseguir Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 27, 2005 depois que você tiver o forumlario de cadastro e o banco criado crie uma pagina php com o nome de conecta.php essa pagina tera a conexao com o banco de dados e sempre que você precisar conectar no banco ira chamar essa pagina Compartilhar este post Link para o post Compartilhar em outros sites