magnetu 0 Denunciar post Postado Agosto 23, 2011 Boa tarde eu dinovo. Alguem pode me ajudar tenho o seguinte código que cria uma mascara para digitação de dados do campo telefone, porem quero que ao enviar para mysql va o campo sem caracteres especiais Segue o script. function maskIt(w,e,m,r,a){ // Cancela se o evento for Backspace if (!e) var e = window.event if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; // Variáveis da função var txt = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse(); var mask = (!r) ? m : m.reverse(); var pre = (a ) ? a.pre : ""; var pos = (a ) ? a.pos : ""; var ret = ""; if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false; // Loop na máscara para aplicar os caracteres for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){ if(mask.charAt(x)!='#'){ ret += mask.charAt(x); x++; } else{ ret += txt.charAt(y); y++; x++; } } // Retorno da função ret = (!r) ? ret : ret.reverse() w.value = pre+ret+pos;} // Novo método para o objeto String.prototype.reverse = function(){ return this.split('').reverse().join(''); }; Agora onde estou utilizando a mascara como posso proceder para enviar somente valores? <input type="text" name="usoTelefone" value="" size="32" onkeyup="maskIt(this,event,'(##)####-####')"/> Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Agosto 23, 2011 Já tentou um 'utf8_decode()' na informação vinda do post ? Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 Ainda não como posso fazer isso ? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 23, 2011 Nada a ver o utf8_decode() faça um str_replace() removendo os caracteres que você não quer. http://php.net/str_replace Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 estou fazendo assim <input type="text" name="usoTelefone" value="<?php echo $string = str_replace("-","",$string);?>" size="32" onkeyup="maskIt(this,event,'(##)####-####')"/> mas não ta resolvendo não, eu preciso fazer isso em alguns campos especificos tipo telefone e cep Compartilhar este post Link para o post Compartilhar em outros sites
Cristiano Cordeiro 0 Denunciar post Postado Agosto 23, 2011 usa essa função aki <?php function Tir($v){ $v = str_replace("(", "", $v); $v = str_replace(")", " ", $v); $v = str_replace("-", "", $v); $v = str_replace(".", " ", $v); /*eu preciso fazer isso em alguns campos especificos tipo telefone e cep */ #caso queira remover mais caracteres, vai adicionando str_replace("caractere que quer remover", "caractere de saida", $v); return $v; } $numero = "(12) 9984-3216"; echo Tir($numero); ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 23, 2011 não é para usar no input, mas somente na hora de mandar para a string sql q vai pro banco. Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 Não funcionou preciso de uma conversão que va dentro desta linha <input value""> para enviar ao BD. não é para usar no input, mas somente na hora de mandar para a string sql q vai pro banco. Então... faz umas 3 semanas que comecei a mexer com php e mysql, então string e esses outros termos hehehehe é grego... como posso proceder segue o codigo todo. <?php require_once('Connections/conexao.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { //confere se a senha combina $cadastro = false; if($_POST['usoSenha']== $_POST['usoSenha2']){ $cadastro = true; } if($cadastro){ $insertSQL = sprintf("INSERT INTO `user` (usoNome, usoEndereco, usoBairro, usoCidade, usoEstado, usoCEP, usoTelefone, usoData, usoDia, usoMes, usoAno, usoSexo, usoEmail, usoSenha, usoCodigo) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['usoNome'], "text"), GetSQLValueString($_POST['usoEndereco'], "text"), GetSQLValueString($_POST['usoBairro'], "text"), GetSQLValueString($_POST['usoCidade'], "text"), GetSQLValueString($_POST['usoEstado'], "text"), GetSQLValueString($_POST['usoCEP'], "text"), GetSQLValueString($_POST['usoTelefone'], "int"), GetSQLValueString($_POST['usoData'], "text"), GetSQLValueString($_POST['usoDia'], "text"), GetSQLValueString($_POST['usoMes'], "text"), GetSQLValueString($_POST['usoAno'], "text"), GetSQLValueString($_POST['usoSexo'], "text"), GetSQLValueString($_POST['usoEmail'], "text"), GetSQLValueString(md5($_POST['usoSenha']), "text"), GetSQLValueString($_POST['usoCodigo'], "text")); mysql_select_db($database_conexao, $conexao); $Result1 = mysql_query($insertSQL, $conexao) or die(mysql_error()); $insertGoTo = "login.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); }else{ $msg_erro = 'As senhas digitadas não conferem'; } } mysql_select_db($database_conexao, $conexao); $query_user_estado = "SELECT * FROM user_estado"; $user_estado = mysql_query($query_user_estado, $conexao) or die(mysql_error()); $row_user_estado = mysql_fetch_assoc($user_estado); $totalRows_user_estado = mysql_num_rows($user_estado); mysql_select_db($database_conexao, $conexao); $query_user_dia = "SELECT * FROM user_dia"; $user_dia = mysql_query($query_user_dia, $conexao) or die(mysql_error()); $row_user_dia = mysql_fetch_assoc($user_dia); $totalRows_user_dia = mysql_num_rows($user_dia); mysql_select_db($database_conexao, $conexao); $query_user_mes = "SELECT * FROM user_mes"; $user_mes = mysql_query($query_user_mes, $conexao) or die(mysql_error()); $row_user_mes = mysql_fetch_assoc($user_mes); $totalRows_user_mes = mysql_num_rows($user_mes); mysql_select_db($database_conexao, $conexao); $query_user_ano = "SELECT * FROM user_ano"; $user_ano = mysql_query($query_user_ano, $conexao) or die(mysql_error()); $row_user_ano = mysql_fetch_assoc($user_ano); $totalRows_user_ano = mysql_num_rows($user_ano); mysql_select_db($database_conexao, $conexao); $query_uso_data = "SELECT usoData FROM `user`"; $uso_data = mysql_query($query_uso_data, $conexao) or die(mysql_error()); $row_uso_data = mysql_fetch_assoc($uso_data); $totalRows_uso_data = mysql_num_rows($uso_data); mysql_select_db($database_conexao, $conexao); $query_usoData = "SELECT CONCAT(usoDia,'/',usoMes,'/', usoAno) AS usoData FROM user"; $usoData = mysql_query($query_usoData, $conexao) or die(mysql_error()); $row_usoData = mysql_fetch_assoc($usoData); $totalRows_usoData = mysql_num_rows($usoData); ?> <script> function maskIt(w,e,m,r,a){ // Cancela se o evento for Backspace if (!e) var e = window.event if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; // Variáveis da função var txt = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse(); var mask = (!r) ? m : m.reverse(); var pre = (a ) ? a.pre : ""; var pos = (a ) ? a.pos : ""; var ret = ""; if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false; // Loop na máscara para aplicar os caracteres for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){ if(mask.charAt(x)!='#'){ ret += mask.charAt(x); x++; } else{ ret += txt.charAt(y); y++; x++; } } // Retorno da função ret = (!r) ? ret : ret.reverse() w.value = pre+ret+pos;} // Novo método para o objeto String.prototype.reverse = function(){ return this.split('').reverse().join(''); }; </script> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php if(isset($msg_erro)):?> <?php echo $msg_erro;?> <?php endif; ?> <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1"> <table align="center"> <tr valign="baseline"> <td nowrap="nowrap" align="right">Nome:</td> <td><input type="text" name="usoNome" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Endereco:</td> <td><input type="text" name="usoEndereco" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Bairro:</td> <td><input type="text" name="usoBairro" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Cidade:</td> <td><input type="text" name="usoCidade" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Estado:</td> <td><select name="usoEstado"> <?php do { ?> <option value="<?php echo $row_user_estado['estado']?>" ><?php echo $row_user_estado['estado']?></option> <?php } while ($row_user_estado = mysql_fetch_assoc($user_estado)); ?> </select></td> </tr> <tr> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">CEP:</td> <td><input type="text" name="usoCEP" value="" size="32" onkeyup="maskIt(this,event,'#####-###')"/></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Telefone:</td> <td><input type="text" name="usoTelefone" value="" size="32" onkeyup="maskIt(this,event,'(##)####-####')"/></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Data de Nas:</td> <td><select name="usoDia"> <?php do { ?> <option value="<?php echo $row_user_dia['dia']?>" ><?php echo $row_user_dia['dia']?></option> <?php } while ($row_user_dia = mysql_fetch_assoc($user_dia)); ?> </select> <select name="usoMes"> <?php do { ?> <option value="<?php echo $row_user_mes['mes']?>" ><?php echo $row_user_mes['mes']?></option> <?php } while ($row_user_mes = mysql_fetch_assoc($user_mes)); ?> </select> <select name="usoAno"> <?php do { ?> <option value="<?php echo $row_user_ano['ano']?>" ><?php echo $row_user_ano['ano']?></option> <?php } while ($row_user_ano = mysql_fetch_assoc($user_ano)); ?> </select></td> </tr> <tr> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Sexo:</td> <td><input type="text" name="usoSexo" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Email:</td> <td><input type="text" name="usoEmail" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Senha:</td> <td><input type="text" name="usoSenha" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Confirma Senha:</td> <td><input type="text" name="usoSenha2" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right"> </td> <td><input type="submit" value="Enviar" /></td> </tr> </table> <input type="hidden" name="usoData" value="<?php echo $row_usoData['usoData']; ?>" /> <input type="hidden" name="usoCodigo" value="<?php echo md5(uniqid(microtime()));?>" /> <input type="hidden" name="MM_insert" value="form1" /> </form> <p> </p> </body> </html> <?php mysql_free_result($user_estado); mysql_free_result($user_dia); mysql_free_result($user_mes); mysql_free_result($user_ano); mysql_free_result($uso_data); mysql_free_result($usoData); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Cristiano Cordeiro 0 Denunciar post Postado Agosto 23, 2011 ai so com javascript Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 23, 2011 aqui: $insertSQL = sprintf("INSERT INTO `user` (usoNome, usoEndereco, usoBairro, usoCidade, usoEstado, usoCEP, usoTelefone, usoData, usoDia, usoMes, usoAno, usoSexo, usoEmail, usoSenha, usoCodigo) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['usoNome'], "text"), GetSQLValueString($_POST['usoEndereco'], "text"), GetSQLValueString($_POST['usoBairro'], "text"), GetSQLValueString($_POST['usoCidade'], "text"), GetSQLValueString($_POST['usoEstado'], "text"), GetSQLValueString($_POST['usoCEP'], "text"), GetSQLValueString($_POST['usoTelefone'], "int"), GetSQLValueString($_POST['usoData'], "text"), GetSQLValueString($_POST['usoDia'], "text"), GetSQLValueString($_POST['usoMes'], "text"), GetSQLValueString($_POST['usoAno'], "text"), GetSQLValueString($_POST['usoSexo'], "text"), GetSQLValueString($_POST['usoEmail'], "text"), GetSQLValueString(md5($_POST['usoSenha']), "text"), GetSQLValueString($_POST['usoCodigo'], "text")); você faz o insert. nesse momento faça o replace que informei. Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 Seria assim ? acho que não hehehe num ta funcionando. $insertSQL = sprintf("INSERT INTO `user` (usoNome, usoEndereco, usoBairro, usoCidade, usoEstado, usoCEP, usoTelefone, usoData, usoDia, usoMes, usoAno, usoSexo, usoEmail, usoSenha, usoCodigo) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['usoNome'], "text"), GetSQLValueString($_POST['usoEndereco'], "text"), GetSQLValueString($_POST['usoBairro'], "text"), GetSQLValueString($_POST['usoCidade'], "text"), GetSQLValueString($_POST['usoEstado'], "text"), GetSQLValueString($_POST['usoCEP'], "text"), GetSQLValueString($_POST['usoTelefone'], "int"), GetSQLValueString($_POST['usoData'], "text"), GetSQLValueString($_POST['usoDia'], "text"), GetSQLValueString($_POST['usoMes'], "text"), GetSQLValueString($_POST['usoAno'], "text"), GetSQLValueString($_POST['usoSexo'], "text"), GetSQLValueString($_POST['usoEmail'], "text"), GetSQLValueString(md5($_POST['usoSenha']), "text"), GetSQLValueString($_POST['usoCodigo'], "text")); str_replace("-","."," "); Compartilhar este post Link para o post Compartilhar em outros sites
Cristiano Cordeiro 0 Denunciar post Postado Agosto 23, 2011 dw so gera essa bostas mesmo troque a parte que o willian disse por isso function Tir($v){ $v = str_replace("(", "", $v); $v = str_replace(")", " ", $v); $v = str_replace("-", "", $v); $v = str_replace(".", " ", $v); $$v = trim($v); $$v = addslashes($$v); $$v = htmlspecialchars($$v); $$v = strip_tags($$v); $$v = str_replace("'", "¿", $$v); return $$v; } $outro = Tir($_POST['usoSenha']); $nome = Tir($_POST['usoNome']); $en = Tir($_POST['usoEndereco']); $ba = Tir($_POST['usoBairro']); $ci = Tir($_POST['usoCidade']); $es = Tir($_POST['usoEstado']); $cep = Tir($_POST['usoCEP']); $tele = Tir($_POST['usoTelefone']); $data = Tir($_POST['usoData']); $dia = Tir($_POST['usoDia']); $mes = Tir($_POST['usoMes']); $ano = Tir($_POST['usoAno']); $sex = Tir($_POST['usoSexo']); $ema = Tir($_POST['usoEmail']); $senha = md5($outro); $cod = Tir($_POST['usoCodigo']); $inserSQL = mysql_query("INSERT INTO `user` (usoNome, usoEndereco, usoBairro, usoCidade, usoEstado, usoCEP, usoTelefone, usoData, usoDia, usoMes, usoAno, usoSexo, usoEmail, usoSenha, usoCodigo) VALUES (\"$nome\", \"$en\", \"$ba\", \"$ci\", \"$es\", \"$cep\", \"$tele\", \"$data\", \"$dia\", \"$mes\", \"$ano\", \"$sex\", \"$ema\", \"$senha\", \"$cod\")"); testa ia se aparecer um erro posta ele ai Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Agosto 23, 2011 Nada a ver o utf8_decode() Achei que os caracteres no qual ele se referiu fosse 'ábcdê' .. coisa do tipo, isso sim seria um possível problema de codificação, no qual a solução seria um utf8_decode(), já que ele quer 'remover caracteres indesejáveis' como '#-' .. é melhor usar o replace mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 Genial, porem ta gerando 2 cadastros Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 23, 2011 no qual a solução seria um utf8_decode() isso seria um remendo porco e não uma solução. Prefira trabalhar com headers, manter padronização e várias outras boas práticas, antes de partir para um encode/decode. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Agosto 23, 2011 Eu já não vejo problema em utilizar o utf8_decode, já que a própria função foi criada pra esses propósitos. Se você está trabalhando com codificação iso nos arquivos, normalmente tem esses problemas quando são imprimidas as strings ou até mesmo enviadas pelo usuário através de formulários, o legal é manter a mesma codificação, não só nos arquivos, como também no 'Content-Type', assim fica 'padronizado' como você mesmo disse. Compartilhar este post Link para o post Compartilhar em outros sites
Cristiano Cordeiro 0 Denunciar post Postado Agosto 23, 2011 Uma vez meu codigo tambem dava isso, então tirei ums if e mudei a $inserSQL de lugar, vai tentando pra ver se consegue Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 Uma vez meu codigo tambem dava isso, então tirei ums if e mudei a $inserSQL de lugar, vai tentando pra ver se consegue Esta assim agora tirei o problema do cadastro duplo bobeira minha, porem retorna esta mensagem. Query was empty if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { //confere se a senha combina $cadastro = false; if($_POST['usoSenha']== $_POST['usoSenha2']){ $cadastro = true; } if($cadastro){ function Tir($v){ $v = str_replace("(", "", $v); $v = str_replace(")", " ", $v); $v = str_replace("-", "", $v); $v = str_replace(".", " ", $v); $$v = trim($v); $$v = addslashes($$v); $$v = htmlspecialchars($$v); $$v = strip_tags($$v); $$v = str_replace("'", "¿", $$v); return $$v; } $outro = Tir($_POST['usoSenha']); $nome = Tir($_POST['usoNome']); $en = Tir($_POST['usoEndereco']); $ba = Tir($_POST['usoBairro']); $ci = Tir($_POST['usoCidade']); $es = Tir($_POST['usoEstado']); $cep = Tir($_POST['usoCEP']); $tele = Tir($_POST['usoTelefone']); $data = Tir($_POST['usoData']); $dia = Tir($_POST['usoDia']); $mes = Tir($_POST['usoMes']); $ano = Tir($_POST['usoAno']); $sex = Tir($_POST['usoSexo']); $ema = Tir($_POST['usoEmail']); $senha = md5($outro); $cod = Tir($_POST['usoCodigo']); $inserSQL = mysql_query("INSERT INTO `user` (usoNome, usoEndereco, usoBairro, usoCidade, usoEstado, usoCEP, usoTelefone, usoData, usoDia, usoMes, usoAno, usoSexo, usoEmail, usoSenha, usoCodigo) VALUES (\"$nome\", \"$en\", \"$ba\", \"$ci\", \"$es\", \"$cep\", \"$tele\", \"$data\", \"$dia\", \"$mes\", \"$ano\", \"$sex\", \"$ema\", \"$senha\", \"$cod\")"); Compartilhar este post Link para o post Compartilhar em outros sites
Cristiano Cordeiro 0 Denunciar post Postado Agosto 23, 2011 isso ocore porque ta fazendo duas query no mesmo tempo tira isso da variavel $inserSQL mysql_query e troque por sprintf Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 Perfeito, vlw galera voces são demais.... um dia chego ao nível ou perto pelo menos. Compartilhar este post Link para o post Compartilhar em outros sites