Ir para conteúdo
Fórum Script Brasil

Frank K Hosaka

Membros
  • Total de itens

    1.585
  • Registro em

  • Última visita

Tudo que Frank K Hosaka postou

  1. Continuei a pesquisa no Google, imaginando que o problema estava nas dependências do Laravel. Segui os tutoriais, mas o VS Code continuava reclamando do mesmo código. Eu olhei o meu celular e vi uma mensagem do Laracast, o Sinnbeck respondeu assim: Why not do that in the controller and pass it down as data if it needs to be bound to a variable? Or just use this wherever you need it {{session('success')}} Pelo pouco que eu sei de inglês, o Sinnbeck quis dizer que há um erro de lógica, o sucesso da conexão deveria ser passado pelo controlador ou usar a variável {{session('success')}}. Eu logo vi que o marcador {{ }} é coisa lá do Blade Laravel, o PHP não suporta isso. Assim, eu improvisei: <?php $data = session('success'); ?> e assim o VS Code parou de reclamar do problema. Testei o código, e tudo continuava funcionando. Nos vários testes que eu fiz no Laravel, ainda sinto muita dificuldade em saber quem é variável local e quem é variável global.
  2. Ontem, eu tentei improvisar um código no controlador, e o VS Code disparou um monte de erro. Eu desfiz a minha besteira, mas o VS Code continuou apontando o erro. Então, eu decidi jogar todo o projeto no lixo, e começar do zero. Dessa vez, eu comecei pelo login através desse tutorial: Laravel 9 Auth Login and Registration with Username or Email (codeanddeploy.com), esse tutorial é enorme. Mas o VS Code reclamou dessa linha: <?php $data = Session::get('success'); ?> Pelo Google, eu vi a dica para instalar mais um componente: GitHub - barryvdh/laravel-ide-helper: Laravel IDE Helper, mas não consegui resolver o problema. Eu também eu vi outra dica no Google, o de desconsiderar o alerta do VS Code. Essa dica funciona, mas não vou conseguir dormir sabendo que existe um código que pode desmoronar toda a arquitetura do Laravel. Assim, a minha única saída foi usar o pouco que eu sei de inglês e pedir ajuda no portal do Laracasts Undefined type 'Session' Intelephense (1009) (laracasts.com) Acho que o melhor jeito de estudar o Laravel é valorizando as mensagens de erro. Pelo menos foi assim que eu aprendi a usar o PHP. Mas nessa nova aventura, eu finalmente consegui instalar o Bootstrap no Laravel, o tutorial não diz como fazer isso, mas usei a minha intuição bem como corrigi o código do tutorial com a ajuda das mensagens de erro da ferramenta de inspeção do navegador. Esse Bootstrap é muito bom, no começo eu não conseguia nada, mas hoje eu até decorei <table class='table table-sm table-striped'> de tanto digitar a mesma coisa.
  3. No fórum Imasters, o Omar~ sugeriu para eu ter certeza que a variável de controle do comando for seja do tipo inteiro. A sugestão dele deu certo. Onde eu tinha function show(j), eu mudei para function show(k){ j = parseInt(k); etc Eu sempre esqueço que os números são abstrações humanas e o computador só tem dois digítos, o zero e o um. Para representar qualquer número, o algorítimo deve ser bem federal. Aqui a listagem original, agora com a sugestão do Omar~ <?php $mysqli=new mysqli("localhost","root","","astudy"); $query=$mysqli->query("select * from tbprod order by prod"); $prod=$query->fetch_all(MYSQLI_ASSOC);?> <script> function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id');}} show(j);} function show(k){ j=parseInt(k); divshow.innerHTML=""; for(i=j;i<j+9;i++){ divshow.innerHTML+=produtos.options[i].value+"<br>"}} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> <?php foreach($prod as $key=>$pr){echo "<option data-id=$key value='".$pr['prod']."'>";} ?> </datalist></form></div> <div id=divshow></div> <script>show(0)</script>
  4. Frank K Hosaka

    Roubo de Sessão

    Como eu disse, eu ainda estou estudando o Laravel. Ainda não cheguei no arquivo de Log, mas eu acredito que a rotina de autenticação vai verificar se o mesmo usuário já não está logado em outro terminal. Autenticação e validação são coisas novas para mim.
  5. Frank K Hosaka

    Roubo de Sessão

    Eu não tenho a menor experiência com a rotina do Login, espero aprender alguma coisa com o Laravel. Mas eu lembro que trabalhei numa rede, e ele não permitia o mesmo usuário logar em dois terminais ao mesmo tempo. A minha ideia é desativar o acesso do usuário se isso acontecer, e perguntar porque ele está compartilhando o id e a senha com todo mundo no escritório.
  6. Essa sintaxe não é PHP, Laravel Blade e nem JasperSoft. Que programa você utilizou para fazer esse código?
  7. Estou estudando o MySQL desde 2020, e só hoje eu tive coragem de mexer no WampServe > MySQL > my.ini e debaixo do grupo [mysqld] acrescentei lower_case_table_names=2 na esperança de criar tabelas com letras maiúsculas. Eu uso o Windows 11. O problema é na hora de reiniciar o WampServe, ele fica amarelo e não verde. Eu não sei se isso é relevante, mas estou estudando também o Laravel, e desde então o WampServ dispara um alerta "Warning: there is Wampserver path (c:/wamp64) into Windows PATH environment variable: (C:\wamp64\bin\php\php8.1.0)". Apesar do alerta, tudo funciona, o ícone está verde. Só fica amarelo, se eu mexer no my.ini. A minha grande dúvida: alguém aqui já conseguiu fazer tabelas com letra maiúscula no MySQL e Windows 11?
  8. <?php $detData="yyyy"; $dtAno2 = ($detData == 'yyyy') ? " to_char( noti_dtinfr, 'YYYY' ) " : " NULL "; echo $dtAno2."<br>"; // resultado to_char(noti_dtinfr,'YYYY') $dtMes2=null;$dtDia2=null;$dtHora2=null; $dtGrpBy = $dtAno2 . ' , ' .$dtMes2 . ' , ' .$dtDia2 . ' , ' .$dtHora2 ; echo $dtGrpBy; // resultado to_char(noti_dtinfr,'YYYY'),,, to_char faz parte da gramática do PHP Oracle, e encontrei esse tópico no Google: PHP Oracle SQL Select date to_char - Stack Overflow
  9. <?php $dtAno2 = date('Y'); echo $dtAno2."<br>"; // resultado 2022 $dtMes2 = date('m/Y'); echo $dtMes2."<br>"; // resultado 12/2022 $dtDia2 = date('d/m/Y'); echo $dtDia2."<br>"; // resultado 21/12/2022 $dtHora2 = date('H:i:s d/m/Y'); echo $dtHora2."<br>"; // resultado 23:20:54 21/12/2022 date_default_timezone_set('America/Sao_Paulo'); echo $dtHora2."<br>"; // resultado 23:20:54 21/12/2022 $dtGrpBy = $dtAno2 . ' , ' .$dtMes2 . ' , ' .$dtDia2 . ' , ' .$dtHora2 ; echo $dtGrpBy; // resultado 2022, 12/2022, 21/12/2022, 23:20:54 21/12/2022 Para colocar essas informações no iReport, isso eu não faço a menor ideia.
  10. Pelo que vi no Google, o OCI8 é uma extensão para o PHP ver o banco de dados da Oracle. Já o NCLOB você consegue com esse comando: SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET' Fonte: PECL :: Package :: oci8 (php.net) e sql - What is the difference between CLOB and NCLOB? - Stack Overflow
  11. Consegui resolver! Tudo indica que o comando for do JavaScript só funciona uma vez, logo eu troquei pelo comando forEach. Esse comando funciona pelo menos duas vezes. <?php $mysqli=new mysqli("localhost","root","","astudy"); $query=$mysqli->query("select * from tbprod order by prod"); $prod=$query->fetch_all(MYSQLI_ASSOC);?> <script> function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id');}} show(j);} function show(j){ divshow.innerHTML=""; teste=[1,2,3,4,5,6,7,8,9,10] teste.forEach(function(){ divshow.innerHTML+=produtos.options[j].value+"<br>";j++})} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> <?php foreach($prod as $key=>$pr){echo "<option data-id=$key value='".$pr['prod']."'>";} ?> </datalist></form></div> <div id=divshow></div> <script>show(0)</script>
  12. A minha ideia era colocar uma caixa para localizar produtos, usando o JavaScript para fazer uma lista dos dez produtos seguintes ao produto que o usuário está procurando. Usei o famoso loop for(i=j;i<=j+9;i++), mas ele funcionou só uma vez. Nas outras vezes, o JavaScript listou todos os produtos a partir do produto selecionado. Para evitar esse transtorno, olha só a gambiarra que eu fiz: resources > views > produto.blade.php @include('menu') <script> document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function show(j){ divshow.innerHTML="" divshow.innerHTML+=produtos.options[j].value+"<br>";j++ divshow.innerHTML+=produtos.options[j].value+"<br>" divshow.innerHTML+=produtos.options[j+1].value+"<br>" divshow.innerHTML+=produtos.options[j+2].value+"<br>" divshow.innerHTML+=produtos.options[j+3].value+"<br>" divshow.innerHTML+=produtos.options[j+4].value+"<br>" divshow.innerHTML+=produtos.options[j+5].value+"<br>" divshow.innerHTML+=produtos.options[j+6].value+"<br>" divshow.innerHTML+=produtos.options[j+7].value+"<br>" divshow.innerHTML+=produtos.options[j+8].value+"<br>"} function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id')}} show(j)} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> @foreach($prod as $key => $pr) <option data-id={{$key}} value='{{$pr['prod']}}'> @endforeach </datalist></form></div> <div id=divshow></div> <script>show(0)</script> O código que funciona apenas uma vez é esse daqui, eu não sei o que eu fiz de errado: @include('menu') <script> document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function show(j){ divshow.innerHTML=""; for(i=j;i<j+9;i++){divshow.innerHTML+=produtos.options[i].value+"<br>";}} function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id');}} show(j);} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> @foreach($prod as $key => $pr) <option data-id={{$key}} value='{{$pr['prod']}}'> @endforeach </datalist></form></div> <div id=divshow></div> <script>show(0)</script> Fiz o teste no PHP, mas o problema persiste: <?php $mysqli=new mysqli("localhost","root","","astudy"); $query=$mysqli->query("select * from tbprod order by prod"); $prod=$query->fetch_all(MYSQLI_ASSOC);?> <script> document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id');}} divshow.innerHTML=""; for(i=j;i<j+9;++i){divshow.innerHTML+=produtos.options[i].value+"<br>";}} function show(j){ divshow.innerHTML=""; for(i=j;i<j+9;++i){divshow.innerHTML+=produtos.options[i].value+"<br>";}} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> <?php foreach($prod as $key=>$pr){echo "<option data-id=$key value='".$pr['prod']."'>";} ?> </datalist></form></div> <div id=divshow></div> <script>show(0)</script>
  13. Encontrei o tutorial do JavaScript nessa página: HTML DOM Datalist options Collection (w3schools.com) Com ele, montei um código para mostrar os dez primeiros itens do <input list>. Ele usa a linguagem Blade Laravel, mas dá para adaptar no PHP, é só trocar tudo o que estiver depois do @ com o comando PHP equivalente. O Laravel já tem um comando para paginar a lista de produtos, mas ele só é funcional para 150 itens, o meu passa de 1.500 itens, logo vou precisar do JavaScript para criar o meu próprio roteiro de paginação. A minha ideia é paginar os dez próximos itens do que o usuário estiver procurando. resources>views>produto.blade.php @include('menu') <script> document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function show(){ divshow.innerHTML="" for(i=0;i<=9;i++){ divshow.innerHTML+=produtos.options[i].value+"<br>"}} </script> <div><p><p> <form> <input list=produtos autofocus name=produto> <datalist id=produtos> @foreach($prod as $pr) <option value='{{$pr->prod}} [{{$pr->codprod}}]'> @endforeach </datalist></form></div> <div id=divshow></div> <script>show()</script>
  14. Ótimo, agora só falta você acrescentar a tag resolvido na mensagem.
  15. Eu fiz o teste com esse código <?php $dtAno=2022;$dtMes=12; $dtSelect=$dtAno.' as ano,'.$dtMes.' as mes'; $sql=$dtSelect; echo $sql; // resultado: 2022 as ano,12 as mes E tudo indica que ele funciona, mas não faz sentido eu escrever algo do tipo "Select 2022 as ano". Se você usa números como nome de campos, pelo menos você tem que separá-los com vírgulas, como eu fiz no exemplo.
  16. routes>web.php <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\diarioController; Route::get('teste',[diarioController::class,'teste']); app>Http>Controllers>diarioController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class DiarioController extends Controller { public function teste(request $request){ if($request->input('inpteste')){return 'olá ,'.$request->input('inpteste')."!";} return "<form>Nome <input name=inpteste></form>";} }
  17. Se você quer a data de hoje, a gramática é $dt=date('d/m/Y'). Para carregar no banco de dados, o formato tem que ser assim: $dt=date('Y-m-d').
  18. <script> function painel(texto){ tamanho=texto.length i1=texto.indexOf("#");texto1=texto.substr(0,i1);texto=texto.substr(i1+1,tamanho);tamanho-=i1 i1=texto.indexOf("#");texto2=texto.substr(0,i1);texto=texto.substr(i1+1,tamanho);tamanho-=i1 i1=texto.indexOf("#");texto3=texto.substr(0,i1);texto=texto.substr(i1+1,tamanho);tamanho-=i1 i1=texto.indexOf("#");texto4=texto.substr(0,i1);texto=texto.substr(i1+1,tamanho);tamanho-=i1 i1=texto.indexOf("#");texto5=texto.substr(0,i1);texto=texto.substr(i1+1,tamanho);tamanho-=i1 texto6=texto.substr(0,tamanho) divtexto.innerHTML+='<table><tr><td>Nome<td>'+texto1+'<td>codp<td>'+texto2+'<tr><td>CNPJ<td>'+texto3+ '<tr><td>Endereço<td>'+texto4+'<tr><td>Telefone<td>'+texto5+'<tr><td>Nota<td>'+texto6+'<tr><td>----' inpProcura.value='';inpProcura.focus()} </script> <?php $mysqli=new mysqli("localhost","root","","diario"); $query=$mysqli->query("select * from tbpessoa order by pessoa"); echo "<input id=inpProcura type=text list=pessoas onchange=painel(value) autofocus>"; echo "<datalist id=pessoas>"; while($row=$query->fetch_assoc()){ echo "<option value='".$row['pessoa']."#".$row['codp']."#".$row['cnpj']."#". $row['end']."#".$row['tel']."#".$row['nota']."'>";} echo "</datalist>"; echo "<p><div id=divtexto></div>";
  19. No arquivo exemplo.blade.php tenho um código assim: <input value={{$dados->valor}}> O <input> aqui serve para mostrar o valor de um lançamento contábil, mas também serve para receber novo valor para alterar o lançamento contábil. Eu não lembro como resolvi o problema da formatação no PHP, mas o Google me pediu para estudar a formatação no PHP para resolver esse drama no Laravel. Mas para a minha surpresa, ao invés de resolver o problema no view exemplo.blade.php, ele pede para resolver no model tbdiario, assim: <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class tbdiario extends Model{ use HasFactory; protected $table="tbdiario"; protected $primaryKey="docto"; protected $fillable=['dia','contad','contac','valor','hist']; public function getValorAttribute($value){ return number_format($value,2,",",".");} public function setValorAttribute($value){ $value=str_replace(".","",$value); $this->attributes['valor']=str_replace(',','.',$value); } As duas útimas funções é que fazem a mágica da formatação, ele mostra o valor no formato brasileiro, mas na hora que você digita o novo valor, ele vai traduzir no formato PHP. É muito engenhoso! Antes do view exibir o valor de um campo, ele vai procurar no model se existe uma função get[Campo]Attribute ou set[Campo]Attribute no model. Ainda não sei se é possível imitar um negócio desses no PHP. Mas o que eu mais gostei foi a atualização de um registro contábil. No PHP, eu tinha que olhar cada campo para ver se foi alterado para depois atualizar. Já o Laravel é bem mais simples: <?php namespace App\Http\Controllers; use App\Models\tbdiario; use App\Models\tbsupervariavel; use Illuminate\Http\Request; class DiarioController extends Controller { public function diario(request $request) { if($request->input('docto')){ $docto=tbdiario::find($request->input('docto')); $docto->fill($request->input())->save();}} Para mim, está valendo a pena estudar o Laravel. Essa é a primeira vez que aprendo a olhar uma tabela como uma classe com propriedade e métodos. O certo é estudar o PHP para depois ver o Laravel. Estou fazendo o inverso, e com isso já consertei o banco de dados, e também estou consertando o meu projeto que está em PHP.
  20. Eu estou estudando o banco de dados desde 1990, comecei com o DBase e depois eu fui para Access. O problema do Access é que eu não encontrei uma forma de conectar as tabelas com o HTML. Em 2020, eu conheci o MySQL, mas ele também não conecta as tabelas com o HTML. Quem faz essa mágica é o PHP, e o PHP é capaz de fazer uma ponte entre o MySQL e o HTML, mas o PHP precisa de um servidor. No meu caso, eu uso o WampServ. Se eu fosse fazer esse trabalho, eu iria criar uma tabela assim tbCEP com os campos id (chave primária com auto incremento), CEP, NomeRua. Depois iria criar um código PHP assim <?php $mysqli=new mysqli("localhost","root",""."astudy"); $query=$mysqli->query("select * from tbCEP"); $rows=$query->fetch_all(); echo "Oá mundo, aqui está a minha tabela de CEP <br>"; var_dump($rows);
  21. Ou você pode apelar para a gambiarra: <!-- itens_selecionar.php --> <form action=itens_selecionar.php method=post> <label>Item</label> <input type=text name=item_pesquisado id=inpItem> <button type=submit>Enviar</button> </form> <?php if(isset($_POST['item_pesquisado'])){ $conexao=new mysqli("localhost","root","","diario"); $item_pesquisado=mysqli_real_escape_string($conexao,$_POST['item_pesquisado']); echo "<p>O item pesquisado é o $item_pesquisado"; echo "<script>inpItem.value='$item_pesquisado'</script>";} ?> Ou: <?php if(isset($_POST['item'])){$item=$_POST['item'];} else {$item="";} echo "<form method=post>Item <input name=item value='$item'><button>Enviar</form>"; ?> Para fazer da maneira correta, siga o Iowys e o Wash. Para fazer gambiarra, é comigo mesmo.
  22. Comecei a estudar os códigos do php campos_selects.php, editar_doc.php, processa_editar_doc.php, mas as imagens falam que o problema está no cadastro do documento. O código dessa rotina não foi passado por aqui. Eu acredito que o problema está justamente nesse arquivo, é ele que controla os outros arquivos, eu acho. O certo é zipar todo o projeto e mandar tudo de uma vez, mas o fórum não suporta arquivos zipados. Enfim, tem que ter paciência, mas eu agradeço pela sua mensagem. É muito raro alguém mandar a estrutura do banco de dados com alguns dados para trabalhar, e até alguns códigos em PHP. A maior parte só escreve assim "tenho problema", mas você foi muito além. Você usa o input_filter do PHP, eu já vi isso três vezes aqui no fórum, mas nunca cheguei a estudar. Por isso, fiquei interessado no seu projeto.
  23. Bom dia, Flaviac, Não consegui importar a tabela documento. Eu defini ID_DOC como chave primária, mudei o ID_DOC para não haver repetição de números, mas não consigo executar esse comando INSERT INTO `documento` (`ID_DOC`, `NUMERO_DOC`, `TIPO_DOC`, `TITULO`, `INTERESSADO`, `OBS`, `PERIODICIDADE`) VALUES (13, '299814/2022-10', 26, 'Folha de Ponto', 'Beatriz Bernardes', '', 6), (14, '152156/2021-12', 4, 'Compra de Material', 'Fernando Carvalho', '', 5), (15, '056932/2018-20', 8, 'Declaração', 'Kátia de Souza', 'ingresso em 2019.', 5), (16, '084165/2020-33', 9, 'Ata Extraordinária', 'Unidade', '', 2), (17, '098632/2019-22', 1, 'Processo', 'Bruna Caxias', '', 5), (18, '166320/2021-15', 6, 'Ata VCE', 'Edivaldo Rogério da Silva', '', 2), (19, '299664/2022-38', 8, 'Declaração', 'Caio de Almeida', '', 5), (20, '289946/2022-08', 1, 'Processo', 'Ana Maria Costa Vitorino', '', 5), (21, '352214/2022-13', 8, 'Declaração', 'Noeli da Silva Araujo', 'referente a compra do mês 03/22.', 5), (22, '201533/2022-32', 17, 'Carta de Comparecimento', 'Renato Vasconcelos Farias Araújo', '', '', 3); O MySQL retorna esse erro: Error Code: 1136. Column count doesn't match value count at row 10 O chato é que eu não consigo ver aonde está o erro. Se eu for incluir um a um, dá certo, mas não consigo entender porque não consigo executar tudo de uma vez. Ao invés de resolver o seu problema, eu só encontrei um outro. ------ Consegui achar! O último registro tem 8 colunas, mas a tabela tem 7 colunas. Isso me deixou intrigado: como o MySQL cria um script com essa discrepância? Ou foi você que editou na unha o script do banco de dados na hora de publicar aqui no fórum?
  24. O encodeURI não ajuda a variável $_GET pegar tudo, quando o código não usa o <form>. O <form> é o melhor meio para o $_GET pegar tudo o que tiver na barra de endereço mesmo com o caractere &. Sem o <form>, a gambiarra do htmlspecialchars para JavaScript é bacana, ou seja, tudo que gera problema, o usuário troca o problema por outra coisa que o $_GET consiga pegar. Usei esse código para testar: <?php if(isset($_GET['teste'])){echo "<a style=color:red>".$_GET['teste']."</a><p>";} ?> <form> form sem encodeURI<input name=teste value="João & Maria" onclick=submit()><p> form com encodeURI <input name=teste value="João & Maria" onclick=encodeURI(value);submit()><p> </form> sem form sem encodeURI <input value="João & Maria" onclick=location.replace('?teste='+value)><p> sem form com encodeURI <input value="João & Maria" onclick=location.replace('?teste='+encodeURI(value))>
  25. Hoje precisei fazer manutenção num código bem antigo, do tempo que não sabia como usar o HTML e muito menos o JavaScript. O meu código não conseguia pegar tudo o que estava na barra de navegação com o comando $_GET. No Google, encontrei a solução nesse endereço: PHP’s htmlspecialchars Implemented in JavaScript | by Charles Stover | Medium Como o código não funcionou comigo, fiz várias mudanças até ele funcionar. Ele ficou assim: <script> htmlsp.specialchars = [[ '&', 'e' ]] function htmlsp(string) { escapedString = string; len=htmlsp.specialchars.length; for (var x = 0; x < len; x++) { escapedString = escapedString.replace( new RegExp(htmlsp.specialchars[x][0], 'g'), htmlsp.specialchars[x][1]);} return escapedString;}; </script> <?php if(isset($_GET['teste'])){echo "<a style=color:red>".$_GET['teste']."</a><p>";} ?> <form> form sem htmlspecialchars <input name=teste value="João & Maria" onclick=submit()><p> form com htmlspecialchars <input name=teste value="João & Maria" onclick=value=htmlsp(value);submit()><p> </form> sem form sem htmlspecialchars <input value="João & Maria" onclick=location.replace('?teste='+value)><p> sem form com htmlspecialchars <input value="João & Maria" onclick=location.replace('?teste='+htmlsp(value))>
×
×
  • Criar Novo...