2015-09-10 11 views
6

Ho un modulo regolare sul mio file php, dopo che è stato inviato deve echeggiare un messaggio. Inserendo qualcosa nell'azione = "", l'unico modo in cui posso pensare di visualizzare un messaggio è archiviarlo in una sessione e visualizzarlo quando la pagina viene caricata se c'è una sessione impostata.Valore errato per l'azione attributo sul modulo elemento: Deve essere non vuoto

Tutto funziona bene così com'è in questo momento, ma validatore W3C dice che ho un errore:

Bad value for attribute action on element form: Must be non-empty.

Come posso risolvere questo errore, senza dover mettere # o index.php nel campo di azione?

EDIT:

<form action="" method="post"> 
    <input type="email" name="email" placeholder="Enter your email"> 
    <input type="submit" name="submit" value="SEND"> 
</form> 

<?php 
    if(isset($_POST['submit']) && isset($_POST['email'])){   
     if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false){ 
      echo 'This isn\'t a valid email'; 
     }else{ 
      echo 'Great'; 
     } 
    } 
?> 
+1

* scratch che * >> non stai usando '

"' Se il tuo modulo non è già impostato in PHP. –

+1

Non è chiaro con cosa stai lavorando. Puoi pubblicare altro codice? Dov'è il codice che stai targeting, nella stessa pagina? –

+0

@ Fred-i-sì sto usando action = "" adesso, e l'errore dice che non può essere vuoto. – BragDeal

risposta

6

Manutentore del W3C HTML Checker (validatore) qui. Se il tuo obiettivo è solo quello di ottenere che il correttore non emetta tale errore, un modo per farlo è quello di andare avanti e mettere # come valore per l'attributo action nel tuo sorgente HTML, ma poi rimuoverlo usando JavaScript, come questo:

<form action="#" method="post"> 
    <script>document.querySelector("form").setAttribute("action", "")</script> 
    <input type="email" name="email" placeholder="Enter your email"> 
    <input type="submit" name="submit" value="SEND"> 
</form> 
+0

Una soluzione alternativa per "validatore" non funzionante. –

6

Nel usando il validatore W3C https://validator.w3.org/, è stato presentato con il seguente:

Line 1, Column 1: no document type declaration; will parse without validation

The document type could not be determined, because the document had no correct DOCTYPE declaration. The document does not look like HTML, therefore automatic fallback could not be performed, and the document was only checked against basic markup syntax.

Learn how to add a doctype to your document from our FAQ, or use the validator's Document Type option to validate your document against a specific Document Type.

  • Insieme a un bel po 'di più, ma io non includerli qui .

La soluzione:

è necessario dichiarare un doctype valido e <head><title> tag, in quanto ciò anche produrre errori se omesso.

Quindi utilizzare action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" come indicato nei commenti.

Il codice sarà ora confermare con il seguente:

<!DOCTYPE html> 

<head> 
<title>Test page</title> 
</head> 

<body> 

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post"> 
    <input type="email" name="email" placeholder="Enter your email"> 
    <input type="submit" name="submit" value="SEND"> 
</form> 

</body> 
</html> 

<?php 
    if(isset($_POST['submit']) && isset($_POST['email'])){   
     if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false){ 
      echo 'This isn\'t a valid email'; 
     }else{ 
      echo 'Great'; 
     } 
    } 
?> 
  • Nota a margine: Si può avere il PHP in cima anche, entrambi i metodi validati correttamente.

Utilizzando action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" ha prodotto i seguenti/simile nel codice HTML:

<form action="/folder/file.php" method="post">

Mentre omettendo ha prodotto action="" che il validatore W3 sembra trovare valido e è alla ricerca di un file valido per il l'azione del modulo.


Edit:

Alla luce della risposta di recente accettato (il mio essere non accettato), Do atto che il codice potrebbe non funzionare correttamente deve essere disabilitato JavaScript.

+0

Ho già il e il . L'unico problema con questo è l'eco "Grande"; non viene visualizzato dopo l'invio. La pagina si aggiorna e questo è tutto – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3902766/">BragDeal</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">@BragDeal: si sta chiedendo: 'Tutto funziona bene come è adesso ma il validatore w3c dice che ho un errore:' – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">sì sì, se faccio quello che hai suggerito, l'errore va via ma "tutto" non funzionerà più bene come il messaggio di eco non apparirà come voglio. Immagino che memorizzare il messaggio in una sessione sia l'unico modo per aggirare questo errore. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3902766/">BragDeal</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">Problemi correlati</div> <ul class="relative_list"> <li> 1. <a href="http://it.voidcc.com/question/p-ayvsfrha-ca.html" target="_blank" title=": l'input dell'elemento con tipo di attributo il cui valore è button deve avere valore attributo non vuoto"> : l'input dell'elemento con tipo di attributo il cui valore è button deve avere valore attributo non vuoto </a> </li> <li> 2. <a href="http://it.voidcc.com/question/p-dpuhkfii-bv.html" target="_blank" title="Convalida modulo Symfony2 sempre restituita ERRORE: questo valore non deve essere vuoto"> Convalida modulo Symfony2 sempre restituita ERRORE: questo valore non deve essere vuoto </a> </li> <li> 3. <a href="http://it.voidcc.com/question/p-agkgsino-bc.html" target="_blank" title="Primavera: le fonti non deve essere vuoto"> Primavera: le fonti non deve essere vuoto </a> </li> <li> 4. <a href="http://it.voidcc.com/question/p-dislhipy-v.html" target="_blank" title="Errore: l'elemento segnaposto ReCAPTCHA deve essere vuoto"> Errore: l'elemento segnaposto ReCAPTCHA deve essere vuoto </a> </li> <li> 5. <a href="http://it.voidcc.com/question/p-csgkmejn-bt.html" target="_blank" title="elemento RelativeLayout deve essere dichiarato"> elemento RelativeLayout deve essere dichiarato </a> </li> <li> 6. <a href="http://it.voidcc.com/question/p-rugepfru-n.html" target="_blank" title="DropDownList AppendDataBoundItems (il primo elemento deve essere vuoto e non duplicato)"> DropDownList AppendDataBoundItems (il primo elemento deve essere vuoto e non duplicato) </a> </li> <li> 7. <a href="http://it.voidcc.com/question/p-tprmhott-ba.html" target="_blank" title="convalida Rspec fallito - attributo non può essere vuoto, ma non è vuoto"> convalida Rspec fallito - attributo non può essere vuoto, ma non è vuoto </a> </li> <li> 8. <a href="http://it.voidcc.com/question/p-qopdrxtk-bn.html" target="_blank" title="HTML5 convalida - PHP Form Azione Attributo vuoto"> HTML5 convalida - PHP Form Azione Attributo vuoto </a> </li> <li> 9. <a href="http://it.voidcc.com/question/p-kagdmluv-bh.html" target="_blank" title="AngularJS - Trova elemento per valore attributo"> AngularJS - Trova elemento per valore attributo </a> </li> <li> 10. <a href="http://it.voidcc.com/question/p-kbbkeydu-bo.html" target="_blank" title="get attributo elemento genitore valore"> get attributo elemento genitore valore </a> </li> <li> 11. <a href="http://it.voidcc.com/question/p-megodgqb-o.html" target="_blank" title="Un argomento attributo deve essere un'espressione costante"> Un argomento attributo deve essere un'espressione costante </a> </li> <li> 12. <a href="http://it.voidcc.com/question/p-adiuiigg-be.html" target="_blank" title="javax.net.ssl.SSLException: java.security.InvalidAlgorithmParameterException: il parametro trustAnchors deve essere non vuoto"> javax.net.ssl.SSLException: java.security.InvalidAlgorithmParameterException: il parametro trustAnchors deve essere non vuoto </a> </li> <li> 13. <a href="http://it.voidcc.com/question/p-pizjzhcn-bb.html" target="_blank" title="java.lang.IllegalArgumentException: Path non deve essere vuoto in Picasso"> java.lang.IllegalArgumentException: Path non deve essere vuoto in Picasso </a> </li> <li> 14. <a href="http://it.voidcc.com/question/p-cxfumfyj-bz.html" target="_blank" title="Come posso evitare l'errore di validazione HTML "Valido valore errato per nome attributo su elemento meta"?"> Come posso evitare l'errore di validazione HTML "Valido valore errato per nome attributo su elemento meta"? </a> </li> <li> 15. <a href="http://it.voidcc.com/question/p-ockzlojr-bv.html" target="_blank" title="ottiene il valore di attributo elemento in Goniometro"> ottiene il valore di attributo elemento in Goniometro </a> </li> <li> 16. <a href="http://it.voidcc.com/question/p-auuslalv-d.html" target="_blank" title="C'è qualche attributo pure-html per specificare quale elemento dovrebbe essere focalizzato sul carico"> C'è qualche attributo pure-html per specificare quale elemento dovrebbe essere focalizzato sul carico </a> </li> <li> 17. <a href="http://it.voidcc.com/question/p-bgumwrjz-d.html" target="_blank" title="Filtro XPath non vuoto elemento figlio"> Filtro XPath non vuoto elemento figlio </a> </li> <li> 18. <a href="http://it.voidcc.com/question/p-owsmiobu-cc.html" target="_blank" title="Perché constexpr deve essere statico?"> Perché constexpr deve essere statico? </a> </li> <li> 19. <a href="http://it.voidcc.com/question/p-dpgmyrbo-bd.html" target="_blank" title="C# un argomento di attributo deve essere un'espressione costante"> C# un argomento di attributo deve essere un'espressione costante </a> </li> <li> 20. <a href="http://it.voidcc.com/question/p-zkbuttye-bt.html" target="_blank" title="Distruggi su attributo nidificato vuoto"> Distruggi su attributo nidificato vuoto </a> </li> <li> 21. <a href="http://it.voidcc.com/question/p-mhkqcvxv-a.html" target="_blank" title="JSF2 ignora alt vuoto attributo"> JSF2 ignora alt vuoto attributo </a> </li> <li> 22. <a href="http://it.voidcc.com/question/p-urylntkg-s.html" target="_blank" title="Html.HiddenPer associazione a elemento errato"> Html.HiddenPer associazione a elemento errato </a> </li> <li> 23. <a href="http://it.voidcc.com/question/p-uiybjmym-e.html" target="_blank" title="Trova XElement per valore attributo"> Trova XElement per valore attributo </a> </li> <li> 24. <a href="http://it.voidcc.com/question/p-zzzyldsl-bd.html" target="_blank" title="Rimuovi elemento vuoto dall'array"> Rimuovi elemento vuoto dall'array </a> </li> <li> 25. <a href="http://it.voidcc.com/question/p-bpcvoiji-g.html" target="_blank" title="Ottenere attributo elemento figlio"> Ottenere attributo elemento figlio </a> </li> <li> 26. <a href="http://it.voidcc.com/question/p-hfbkmicr-b.html" target="_blank" title="JAXB: Stringa vuota non produce elemento vuoto"> JAXB: Stringa vuota non produce elemento vuoto </a> </li> <li> 27. <a href="http://it.voidcc.com/question/p-ebnweudg-k.html" target="_blank" title="Visual Studio deve essere installato sul server di sviluppo TFS?"> Visual Studio deve essere installato sul server di sviluppo TFS? </a> </li> <li> 28. <a href="http://it.voidcc.com/question/p-vgbycyxs-bk.html" target="_blank" title="Nascondi elemento se l'attributo angolare è vuoto"> Nascondi elemento se l'attributo angolare è vuoto </a> </li> <li> 29. <a href="http://it.voidcc.com/question/p-ncntlkrj-q.html" target="_blank" title="Se il modulo è scuro, il testo nel modulo deve essere chiaro"> Se il modulo è scuro, il testo nel modulo deve essere chiaro </a> </li> <li> 30. <a href="http://it.voidcc.com/question/p-xbvtrqez-p.html" target="_blank" title="Perché un attributo specificato di un servizio DataMember deve essere impostato per int e Data ma non per String"> Perché un attributo specificato di un servizio DataMember deve essere impostato per int e Data ma non per String </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422436"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Ultima domanda </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://it.voidcc.com/question/p-awfzyhkm-bd.html" target="_blank" title="Come usare il modulo 'expect' di ansible per più risposte diverse?"> Come usare il modulo 'expect' di ansible per più risposte diverse? </a> </li> <li class="side_article_list_item"> 2. <a href="http://it.voidcc.com/question/p-smgccdpq-bp.html" target="_blank" title="Imposta la directory di lavoro in Python/Spyder in modo che sia riproducibile"> Imposta la directory di lavoro in Python/Spyder in modo che sia riproducibile </a> </li> <li class="side_article_list_item"> 3. <a href="http://it.voidcc.com/question/p-gszvyndt-bd.html" target="_blank" title="enum gerarchica in Java"> enum gerarchica in Java </a> </li> <li class="side_article_list_item"> 4. <a href="http://it.voidcc.com/question/p-ubkzpvsq-cd.html" target="_blank" title="Cassetto di navigazione in React-Native"> Cassetto di navigazione in React-Native </a> </li> <li class="side_article_list_item"> 5. <a href="http://it.voidcc.com/question/p-kohxchdj-ca.html" target="_blank" title="Stream audio da PC a smartphone?"> Stream audio da PC a smartphone? </a> </li> <li class="side_article_list_item"> 6. <a href="http://it.voidcc.com/question/p-mesblvel-bn.html" target="_blank" title="La funzione dell'interfaccia è in conflitto con il getter della proprietà"> La funzione dell'interfaccia è in conflitto con il getter della proprietà </a> </li> <li class="side_article_list_item"> 7. <a href="http://it.voidcc.com/question/p-tzmocxtm-x.html" target="_blank" title="In che modo JVM riutilizza le sottostringhe String internate?"> In che modo JVM riutilizza le sottostringhe String internate? </a> </li> <li class="side_article_list_item"> 8. <a href="http://it.voidcc.com/question/p-dlrppncu-x.html" target="_blank" title="Come eseguire l'aggiornamento di Composer sul server PHP?"> Come eseguire l'aggiornamento di Composer sul server PHP? </a> </li> <li class="side_article_list_item"> 9. <a href="http://it.voidcc.com/question/p-qusjrbxw-bd.html" target="_blank" title="C macro espansione ordine"> C macro espansione ordine </a> </li> <li class="side_article_list_item"> 10. <a href="http://it.voidcc.com/question/p-bxesgvio-w.html" target="_blank" title="Il comando 'thread return' di LLDB emette un errore in una funzione Swift"> Il comando 'thread return' di LLDB emette un errore in una funzione Swift </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Problemi correlati</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://it.voidcc.com/question/p-ayvsfrha-ca.html" target="_blank" title=": l'input dell'elemento con tipo di attributo il cui valore è button deve avere valore attributo non vuoto"> : l'input dell'elemento con tipo di attributo il cui valore è button deve avere valore attributo non vuoto </a> </li> <li class="side_article_list_item"> 2. <a href="http://it.voidcc.com/question/p-dpuhkfii-bv.html" target="_blank" title="Convalida modulo Symfony2 sempre restituita ERRORE: questo valore non deve essere vuoto"> Convalida modulo Symfony2 sempre restituita ERRORE: questo valore non deve essere vuoto </a> </li> <li class="side_article_list_item"> 3. <a href="http://it.voidcc.com/question/p-agkgsino-bc.html" target="_blank" title="Primavera: le fonti non deve essere vuoto"> Primavera: le fonti non deve essere vuoto </a> </li> <li class="side_article_list_item"> 4. <a href="http://it.voidcc.com/question/p-dislhipy-v.html" target="_blank" title="Errore: l'elemento segnaposto ReCAPTCHA deve essere vuoto"> Errore: l'elemento segnaposto ReCAPTCHA deve essere vuoto </a> </li> <li class="side_article_list_item"> 5. <a href="http://it.voidcc.com/question/p-csgkmejn-bt.html" target="_blank" title="elemento RelativeLayout deve essere dichiarato"> elemento RelativeLayout deve essere dichiarato </a> </li> <li class="side_article_list_item"> 6. <a href="http://it.voidcc.com/question/p-rugepfru-n.html" target="_blank" title="DropDownList AppendDataBoundItems (il primo elemento deve essere vuoto e non duplicato)"> DropDownList AppendDataBoundItems (il primo elemento deve essere vuoto e non duplicato) </a> </li> <li class="side_article_list_item"> 7. <a href="http://it.voidcc.com/question/p-tprmhott-ba.html" target="_blank" title="convalida Rspec fallito - attributo non può essere vuoto, ma non è vuoto"> convalida Rspec fallito - attributo non può essere vuoto, ma non è vuoto </a> </li> <li class="side_article_list_item"> 8. <a href="http://it.voidcc.com/question/p-qopdrxtk-bn.html" target="_blank" title="HTML5 convalida - PHP Form Azione Attributo vuoto"> HTML5 convalida - PHP Form Azione Attributo vuoto </a> </li> <li class="side_article_list_item"> 9. <a href="http://it.voidcc.com/question/p-kagdmluv-bh.html" target="_blank" title="AngularJS - Trova elemento per valore attributo"> AngularJS - Trova elemento per valore attributo </a> </li> <li class="side_article_list_item"> 10. <a href="http://it.voidcc.com/question/p-kbbkeydu-bo.html" target="_blank" title="get attributo elemento genitore valore"> get attributo elemento genitore valore </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://it.voidcc.com/contact">Contattaci</a></li> <li>© 2020 IT.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>