alissong 1 Denunciar post Postado Outubro 22, 2008 Pessoal, Tenho como remover todos os acentos de um formulário de cadastro: Estou usando essa função, mas não estou sabendo como fazer isso: function remove_acentos( $string ) { // Remove acentos sobre a string $string = ereg_replace( "[ÁÀÂÃÄ]", "A", $string); $string = ereg_replace( "[áàâãäª]", "a", $string); $string = ereg_replace( "[ÉÈÊË]", "E", $string); $string = ereg_replace( "[éèêë]", "e", $string); $string = ereg_replace( "[ÍÌÎÏ]", "I", $string); $string = ereg_replace( "[íìîï]", "i", $string); $string = ereg_replace( "[ÓÒÔÕÖ]", "O", $string); $string = ereg_replace( "[óòôõöº]", "o", $string); $string = ereg_replace( "[ÚÙÛÜ]", "U", $string); $string = ereg_replace( "[úùûü]", "u", $string); $string = str_replace( "Ç", "C", $string); $string = str_replace( "ç", "c", $string); // Remove acentos $string = str_replace( "´", "", $string ); $string = str_replace( "`", "", $string ); $string = str_replace( "~", "", $string ); $string = str_replace( "^", "", $string ); $string = str_replace( "¨", "", $string ); echo $string; } Exemplo: O usuário digita saúde, mas grava saude no banco de dados e assim por diante. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 23, 2008 Qual é o problema? Não seria return em vez de echo? Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Outubro 23, 2008 Beraldo, O formulário é esse, mas como faço para passar a função a todos input form para retirar eventuais acentos. <?php // Verificador de sessão require "verifica.php"; require "restrito.php"; ?> <html> <head> <title>Cadastro de Fornecedor</title> <link href="estilo.css" rel="stylesheet" type="text/css"> <script language="javascript"> function valida_dados () { if (inclusao.nome_empresa.value=="") { alert ("Por favor digite o nome da empresa !"); inclusao.nome_empresa.focus(); return false; } indice = inclusao.tipo_pessoa.selectedIndex; if (inclusao.tipo_pessoa.options[indice].text == "Opções") { alert("O campo tipo pessoa deve ser escolhido !"); inclusao.tipo_pessoa.focus(); return false; } if (inclusao.nome_contato.value=="") { alert ("Por favor digite o nome do contato !"); inclusao.nome_contato.focus(); return false; } if (inclusao.telefone.value=="") { alert ("Por favor digite o nº. telefone !"); inclusao.telefone.focus(); return false; } if (inclusao.atividade.value=="") { alert ("Por favor digite a atividade da empresa !"); inclusao.atividade.focus(); return false; } return true; } </script> </head> <body bgcolor="#E1E1E1"> <form name="inclusao" method="POST" action="cad_fornecedor.php" onSubmit="return valida_dados(this)"> <table width="100%" cellspacing="1" cellpadding="0" bgcolor="#000000"> <tr> <td bgcolor="#C0C0C0"> <p align="center"><font face="Verdana" size="2"><b>INCLUSÃO DE FORNECEDORES</b></font></td> </tr> <tr> <td width="100%" bgcolor="#E1E1E1"> <table border="0" width="100%" cellpadding="0" class="tabela"> <tr> <br> <td><b>Nome da Empresa</b></td> <td><input type="text" name="nome_empresa" size="45" maxlength="80" onChange="this.value=this.value.toUpperCase();" class="input"><font color="#FF0000">*</font></td> </tr> <tr> <td><b>Tipo de Pessoa</b></td> <td><select size="1" name="tipo_pessoa" class="select"> <option selected>Opções</option> <option>J</option> <option>F</option> </select></td> </tr> <tr> <td width="22%"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">CNPJ/CPF</font></b></td> <td width="78%"> <b> <font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"> <input type=radio name="chkCPF" value="off" checked class="input"> CNPJ (pessoa jurídica) ou <br> <input type=radio name="chkCPF" value="on" class="input"> CPF (pessoa física) Número: <input type="text" name="cnpj_cpf" size="14" maxlength="14" class="input"></font></font><font color="#FF0000">*</font></b></td> </tr> <td><b>Inscrição Estadual</b></td> <td><input type="text" name="inscricao_estadual" size="20" maxlength="20" class="input"></td> <tr> <td><b>Inscrição Municipal</b></td> <td><input type="text" name="inscricao_municipal" size="20" maxlength="20" class="input"></td> </tr> <tr> <td><b>Nome do Contato</b></td> <td><input type="text" name="nome_contato" size="45" maxlength="40" onChange="this.value=this.value.toUpperCase();" class="input"><font color="#FF0000">*</font></td> </tr> <tr> <td><b>Logradouro</b></td> <td><select size="1" name="logradouro" class="select"> <option>ALAMEDA</option> <option>AVENIDA</option> <option>BECO</option> <option>BR</option> <option>ESTRADA</option> <option>FAZENDA</option> <option>PRAÇA</option> <option selected>RUA</option> <option>TRAVESSA</option> </select></td> </tr> <tr> <td><b>Endereço</b></td> <td><input type="text" name="endereco" size="45" maxlength="40" onChange="this.value=this.value.toUpperCase();" class="input"></td> </tr> <tr> <td><b>Número</b></td> <td><input type="text" name="numero" size="10" maxlength="15" class="input"></td> </tr> <tr> <td><b>Bairro/Distrito</b></td> <td><input type="text" name="bairro_distrito" size="45" maxlength="40" onChange="this.value=this.value.toUpperCase();" class="input"></td> </tr> <tr> <td><b>CEP</b></td> <td><input type="text" name="cep" size="10" maxlength="10" class="input"></td> </tr> <tr> <td><b>Cidade</b></td> <td><input type="text" name="cidade" size="45" maxlength="40" onChange="this.value=this.value.toUpperCase();" class="input"></td> </tr> <tr> <td><b>Estado</b></td> <td><select size="1" name="estado" class="select"> <option>AC</option> <option>AL</option> <option>AM</option> <option>AP</option> <option>BA</option> <option>CE</option> <option>DF</option> <option>ES</option> <option>GO</option> <option>MA</option> <option selected>MG</option> <option>MS</option> <option>MT</option> <option>PA</option> <option>PB</option> <option>PE</option> <option>PI</option> <option>PR</option> <option>RJ</option> <option>RN</option> <option>RO</option> <option>RR</option> <option>RS</option> <option>SC</option> <option>SE</option> <option>SP</option> <option>TO</option> </select></td> </tr> <tr> <td><b>Telefone</b></td> <td><input type="text" name="telefone"size="15" maxlength="15" class="input"><font color="#FF0000">*</font></td> </tr> <tr> <td><b>Fax</b></td> <td><input type="text" name="fax" size="15" maxlength="15" class="input"></td> </tr> <tr> <td><b>HomePage</b></td> <td><input type="text" name="home_page" size="45" maxlength="40" class="input"></td> </tr> <tr> <td><b>E-Mail</b></td> <td><input type="text" name="e_mail" size="45" maxlength="40" class="input"></td> </tr> <tr> <td><b>Situação Cadastral</b></td> <td><select size="1" name="situacao_cadastral" class="select"> <option>NORMAL</option> <option>PENDENTE</option> </select></td> </tr> <tr> <td><b>Atividade</b></td> <td><textarea rows="4" name="atividade" cols="45" onChange="this.value=this.value.toUpperCase();" class="textarea"></textarea><font color="#FF0000">*</font></td> </tr> <tr> <td><input type="hidden" name="data_cadastro" size="10" maxlength="10"></td> <tr> <td></td> <td> <p style="margin-bottom: 0"><input type="submit" value="Cadastrar" class="botao"> <input type="reset" value="Limpar" name="limpar" class="botao"></td> </tr> </table> </td> </tr> </table> </form> </body> </html> Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 23, 2008 Aplique a função a todas as variáveis Ao receber os valores, faça assim: $campo = isset($_POST['campo']) ? retira_acentos($_POST['campo']) : NULL; Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Outubro 23, 2008 Beraldo, Vamos para a prática. O script de cadastro é esse: <?php # Função para conectar o banco de dados include("/var/www/html/compras/conexao/bdinc.php"); # Fim da função conexao // Chama a função remove acentos include("remove.php"); $nome_empresa = isset($_POST['nome_empresa']) ? retira_acentos($_POST['nome_empresa']) : NULL; // Fim da função # Inclusão do arquivo de funções $mensagem_erro="<h3>Os seguintes erros foram encontrados:</h3><br><br>"; $erro = 0; if (${"chkCPF"}=="on") { CalculaCPF($cnpj_cpf); } else { CalculaCNPJ($cnpj_cpf); } if ($nome_empresa == "" || strlen($nome_empresa) < 6) { $mensagem_erro .= "<font color=\"#FF0000\">* Digite o nome completo da empresa.<br>"; $erro = 1; } if ($nome_contato == "" || strlen($nome_contato) < 4) { $mensagem_erro .= "<font color=\"#FF0000\">* Digite o nome do contato.<br>"; $erro = 1; } if ($telefone == "" || strlen($telefone) < 10) { $mensagem_erro .= "<font color=\"#FF0000\">* O Número de telefone deve ser completo (31)32691858.<br>"; $erro = 1; } // verifica se o email ja estah cadastrado... if($erro == 0){ $sql = mysql_query("SELECT * FROM FORNECEDOR WHERE cnpj_cpf = '$cnpj_cpf'"); while($res = mysql_fetch_array($sql)){ $existe = $res[0]; } if($existe){ $mensagem_erro .= '<font color="#FF0000">* Este CPF/CNPJ já está cadastrado em nossos sistemas.<br><br>Utilize outro CPF/CNPJ, ou verifique com o adminstrador do sistema se você já está cadastrado.<br><br>Obrigado!<br>'; $erro = 1; echo "<b>$nome_empresa, seu cadastro não foi efetivado!</b>"; } else { # INICIO - VARIAVEIS DO FORMULÁRIO CASO ELE TENHA $data_cadastro = date("Y-m-d"); # FIM - VARIAVEIS DO FORMULÁRIO CASO ELE TENHA # INICIO - SQL DO FORMULÁRIO $sql = "insert into fornecedor "; $sql.= "(nome_empresa, tipo_pessoa, cnpj_cpf, inscricao_estadual, inscricao_municipal, nome_contato, logradouro, endereco, numero, bairro_distrito, cep, cidade, estado, telefone, fax, home_page, e_mail, situacao_cadastral, atividade, data_cadastro)"; $sql.= " values "; $sql.= "('". $nome_empresa."','".$tipo_pessoa."','".$cnpj_cpf."','". $inscricao_estadual."','". $inscricao_municipal."','". $nome_contato."','". $logradouro."','". $endereco."','". $numero."','". $bairro_distrito."','". $cep."','". $cidade."','". $estado."','". $telefone."','". $fax."','". $home_page."','". $e_mail."','". $situacao_cadastral."','". $atividade."','". $data_cadastro."')"; # FIM - SQL DO FORMULÁRIO # INICIO - EXECUÇÃO DO COMANDO SQL mysql_query($sql) or die ("Não foi possível realizar a inclusão dos dados."); echo "<script language=JavaScript> window.alert('O fornecedor foi incluído com sucesso !'); </SCRIPT>"; echo "<script>window.location = 'logado.php'</script>"; # FIM - EXECUÇÃO DO COMANDO SQL } } if ($erro == 1){ print $mensagem_erro; print "<font color=\"#000000\"><br>Clique em <a href=\"java script:history.back(-1);\">Voltar</a> para corrigir."; exit; } //Calcula CPF function CalculaCPF($cnpj_cpf) { global $mensagem_erro, $erro; $RecebeCPF=$cnpj_cpf; //Retirar todos os caracteres que nao sejam 0-9 $s=""; for ($x=1; $x<=strlen($RecebeCPF); $x=$x+1) { $ch=substr($RecebeCPF,$x-1,1); if (ord($ch)>=48 && ord($ch)<=57) { $s=$s.$ch; } } $RecebeCPF=$s; if ($RecebeCPF=="11111111111") { $then; $mensagem_erro .= "<font color=\"#FF0000\">* CPF inválido.<br>"; $erro=1; } if (strlen($RecebeCPF)!=11) { $mensagem_erro .= "<font color=\"#FF0000\">* É obrigatório o CPF com 11 dígitos.<br>"; $erro=1; } else if ($RecebeCPF=="00000000000") { $then; $mensagem_erro .= "<font color=\"#FF0000\">* CPF inválido.<br>"; $erro=1; } else { $Numero[1]=intval(substr($RecebeCPF,1-1,1)); $Numero[2]=intval(substr($RecebeCPF,2-1,1)); $Numero[3]=intval(substr($RecebeCPF,3-1,1)); $Numero[4]=intval(substr($RecebeCPF,4-1,1)); $Numero[5]=intval(substr($RecebeCPF,5-1,1)); $Numero[6]=intval(substr($RecebeCPF,6-1,1)); $Numero[7]=intval(substr($RecebeCPF,7-1,1)); $Numero[8]=intval(substr($RecebeCPF,8-1,1)); $Numero[9]=intval(substr($RecebeCPF,9-1,1)); $Numero[10]=intval(substr($RecebeCPF,10-1,1)); $Numero[11]=intval(substr($RecebeCPF,11-1,1)); $soma=10*$Numero[1]+9*$Numero[2]+8*$Numero[3]+7*$Numero[4]+6*$Numero[5]+5* $Numero[6]+4*$Numero[7]+3*$Numero[8]+2*$Numero[9]; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado1=0; } else { $resultado1=11-$soma; } if ($resultado1==$Numero[10]) { $soma=$Numero[1]*11+$Numero[2]*10+$Numero[3]*9+$Numero[4]*8+$Numero[5]*7+$Numero[6]*6+$Numero[7]*5+ $Numero[8]*4+$Numero[9]*3+$Numero[10]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado2=0; } else { $resultado2=11-$soma; } if ($resultado2==$Numero[11]) { $cpf="Válido"; } else { $mensagem_erro .= "<font color=\"#FF0000\">* CPF inválido.<br>"; $erro=1; } } else { $mensagem_erro .= "<font color=\"#FF0000\">* CPF inválido.<br>"; $erro=1; } } } // Fim do Calcula CPF //Função que calcula CNPJ function CalculaCNPJ($cnpj_cpf) { global $mensagem_erro, $erro; $RecebeCNPJ=${"cnpj_cpf"}; $s=""; for ($x=1; $x<=strlen($RecebeCNPJ); $x=$x+1) { $ch=substr($RecebeCNPJ,$x-1,1); if (ord($ch)>=48 && ord($ch)<=57) { $s=$s.$ch; } } $RecebeCNPJ=$s; if (strlen($RecebeCNPJ)!=14) { $mensagem_erro .= "<font color=\"#FF0000\">* É obrigatório o CNPJ com 14 dígitos.<br>"; $erro=1; } else if ($RecebeCNPJ=="00000000000000") { $then; $mensagem_erro .= "<font color=\"#FF0000\">* CNPJ inválido.<br>"; $erro=1; } else { $Numero[1]=intval(substr($RecebeCNPJ,1-1,1)); $Numero[2]=intval(substr($RecebeCNPJ,2-1,1)); $Numero[3]=intval(substr($RecebeCNPJ,3-1,1)); $Numero[4]=intval(substr($RecebeCNPJ,4-1,1)); $Numero[5]=intval(substr($RecebeCNPJ,5-1,1)); $Numero[6]=intval(substr($RecebeCNPJ,6-1,1)); $Numero[7]=intval(substr($RecebeCNPJ,7-1,1)); $Numero[8]=intval(substr($RecebeCNPJ,8-1,1)); $Numero[9]=intval(substr($RecebeCNPJ,9-1,1)); $Numero[10]=intval(substr($RecebeCNPJ,10-1,1)); $Numero[11]=intval(substr($RecebeCNPJ,11-1,1)); $Numero[12]=intval(substr($RecebeCNPJ,12-1,1)); $Numero[13]=intval(substr($RecebeCNPJ,13-1,1)); $Numero[14]=intval(substr($RecebeCNPJ,14-1,1)); $soma=$Numero[1]*5+$Numero[2]*4+$Numero[3]*3+$Numero[4]*2+$Numero[5]*9+$Numero[6]*8+$Numero[7]*7+ $Numero[8]*6+$Numero[9]*5+$Numero[10]*4+$Numero[11]*3+$Numero[12]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado1=0; } else { $resultado1=11-$soma; } if ($resultado1==$Numero[13]) { $soma=$Numero[1]*6+$Numero[2]*5+$Numero[3]*4+$Numero[4]*3+$Numero[5]*2+$Numero[6]*9+ $Numero[7]*8+$Numero[8]*7+$Numero[9]*6+$Numero[10]*5+$Numero[11]*4+$Numero[12]*3+$Numero[13]*2; $soma=$soma-(11*(intval($soma/11))); if ($soma==0 || $soma==1) { $resultado2=0; } else { $resultado2=11-$soma; } if ($resultado2==$Numero[14]) { $cnpj="válido"; } else { $mensagem_erro .= "<font color=\"#FF0000\">* CNPJ inválido.<br>"; $erro=1; } } else { $mensagem_erro .= "<font color=\"#FF0000\">* CNPJ inválido.<br>"; $erro=1; } } } //Fim do Calcula CNPJ ?> Seria isso em negrito que devo fazer ou teria uma outra forma melhor Um abraço. Alisson Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 23, 2008 Exatamente. Essa é a melhor forma de receber valores de formulários. Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Outubro 23, 2008 Beraldo, Muito obrigado. Funcionou beleza....................... Alissong Compartilhar este post Link para o post Compartilhar em outros sites