2015-09-10 2 views
6

Ich habe ein reguläres Formular in meiner PHP-Datei, nachdem es gesendet wird, muss es eine Nachricht zurückgeben. Wenn ich irgendwas in die action = "" lege, kann ich nur daran denken, eine Nachricht anzuzeigen, indem ich sie in einer Sitzung ablege und sie beim Laden der Seite anzeigen, wenn eine Sitzung eingestellt ist.Schlechter Wert für Attribut-Aktion auf Element-Formular: Muss nicht leer sein

Alles funktioniert gut, wie es jetzt ist aber w3c Validator sagt, ich habe einen Fehler:

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

Wie kann ich diesen Fehler zu beheben, ohne # oder index.php in das Aktionsfeld setzen zu müssen?

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 das * >> verwendest du '

" 'Wenn Ihr Formular nicht bereits in PHP festgelegt ist. –

+1

Es ist ein wenig unklar, mit was Sie arbeiten. Können Sie mehr Code posten? Wo ist der Code, auf den Sie ausgerichtet sind, auf derselben Seite? –

+0

@ Fred-ii- ja ich benutze action = "" gerade jetzt, und der Fehler besagt, dass es nicht leer sein kann. – BragDeal

Antwort

6

Betreuer des W3C HTML Checker (Validator) hier. Wenn Ihr Ziel nur darin besteht, den Checker dazu zu bringen, diesen Fehler nicht auszugeben, können Sie den Wert als Wert für das Attribut action in Ihrer HTML-Quelle angeben und dann mit JavaScript wie folgt entfernen:

<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

Eine Workaround für gebrochene "Validator" genial. –

6

Bei der Verwendung der W3C-Validator https://validator.w3.org/ wurde mit der folgenden dargestellt:

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.

  • Zusammen mit einem ganz paar mehr, aber ich habe sie nicht hier sind .

Die Lösung:

Sie benötigen eine gültige Doctype und <head><title> Tags zu erklären, da dies auch Fehler erzeugen, wenn weggelassen.

Dann verwenden Sie action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" wie ich in den Kommentaren angegeben.

Ihr Code wird bestätigen nun mit den folgenden:

<!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'; 
     } 
    } 
?> 
  • Nebenbei bemerkt: Sie haben die PHP oben haben, können auch beide korrekt validierten Methoden.

action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" Verwendung erzeugt die folgende/ähnlich in HTML Quelle:

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

Während es erzeugt action="" unterlassen, was die W3-Validator scheint ungültig zu finden und ist für eine gültige Datei suchen die Aktion des Formulars.


Edit:

Im Lichte der neu akzeptierte Antwort (meine unaccepted ist), Sie beachten dass Ihr Code nicht richtig funktionieren sollte Javascript deaktiviert.

+0

Ich habe die und bereits. Das einzige Problem dabei ist, dass das Echo 'Great'; erscheint nach der Einreichung nicht. Die Seite wird nur aktualisiert und das ist alles – <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: Sie fragen nach: 'Alles funktioniert gut, so wie es jetzt ist, aber w3c Validator sagt, ich habe einen Fehler:' – <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">ja also, wenn ich das mache, was Sie vorgeschlagen, verschwindet der Fehler aber "alles" wird nicht mehr gut funktionieren, da die echo-nachricht nicht wie gewünscht erscheinen wird. Ich denke, das Speichern der Nachricht in einer Sitzung ist der einzige Weg um diesen Fehler – <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">Verwandte Themen</div> <ul class="relative_list"> <li> 1. <a href="http://de.voidcc.com/question/p-guvzvxfl-cr.html" target="_blank" title="Fehler: ReCAPTCHA Platzhalterelement muss leer sein"> Fehler: ReCAPTCHA Platzhalterelement muss leer sein </a> </li> <li> 2. <a href="http://de.voidcc.com/question/p-hksnkljn-bw.html" target="_blank" title="allow_url_open muss auf sein"> allow_url_open muss auf sein </a> </li> <li> 3. <a href="http://de.voidcc.com/question/p-xfofdllc-dq.html" target="_blank" title="Arbeitsblattnamen dürfen nicht leer sein"> Arbeitsblattnamen dürfen nicht leer sein </a> </li> <li> 4. <a href="http://de.voidcc.com/question/p-aqsrawru-dq.html" target="_blank" title="Formular kann nicht leer sein"> Formular kann nicht leer sein </a> </li> <li> 5. <a href="http://de.voidcc.com/question/p-cpkqjzoe-dh.html" target="_blank" title="ArangoDB: Name muss nicht leer"> ArangoDB: Name muss nicht leer </a> </li> <li> 6. <a href="http://de.voidcc.com/question/p-ncpjatdc-bc.html" target="_blank" title="Datenbank Design: optional, aber muss eindeutig sein, wenn ein Wert"> Datenbank Design: optional, aber muss eindeutig sein, wenn ein Wert </a> </li> <li> 7. <a href="http://de.voidcc.com/question/p-kvdgbaju-cn.html" target="_blank" title="AppKey kann nicht null oder leer sein"> AppKey kann nicht null oder leer sein </a> </li> <li> 8. <a href="http://de.voidcc.com/question/p-hndarwzm-bu.html" target="_blank" title="Rails form_for radio_button "kann nicht leer sein""> Rails form_for radio_button "kann nicht leer sein" </a> </li> <li> 9. <a href="http://de.voidcc.com/question/p-gmklzmnd-db.html" target="_blank" title="Spring-Anwendungsstartfehler: Quellen darf nicht leer sein"> Spring-Anwendungsstartfehler: Quellen darf nicht leer sein </a> </li> <li> 10. <a href="http://de.voidcc.com/question/p-rvbxigex-ch.html" target="_blank" title="Warum muss conexpr statisch sein?"> Warum muss conexpr statisch sein? </a> </li> <li> 11. <a href="http://de.voidcc.com/question/p-vfrbseko-dq.html" target="_blank" title="Konnte Artefakt nicht von/an central wegen InvalidAlgorithmParameterException übergeben: der Parameter trustAnchors muss nicht leer sein"> Konnte Artefakt nicht von/an central wegen InvalidAlgorithmParameterException übergeben: der Parameter trustAnchors muss nicht leer sein </a> </li> <li> 12. <a href="http://de.voidcc.com/question/p-tlcyuoxq-eg.html" target="_blank" title="Fehler: x muss für 'sort.list' atomar sein"> Fehler: x muss für 'sort.list' atomar sein </a> </li> <li> 13. <a href="http://de.voidcc.com/question/p-mvdkmmgh-e.html" target="_blank" title="Sonderfehler: [ArgumentOutOfRangeException: 'count' muss nicht negativ sein"> Sonderfehler: [ArgumentOutOfRangeException: 'count' muss nicht negativ sein </a> </li> <li> 14. <a href="http://de.voidcc.com/question/p-ahnkbccd-br.html" target="_blank" title="Nicht behandelte Ablehnungsgründe (sollte leer sein)"> Nicht behandelte Ablehnungsgründe (sollte leer sein) </a> </li> <li> 15. <a href="http://de.voidcc.com/question/p-vhceeviv-cz.html" target="_blank" title="Erste Re darf nicht leer sein"> Erste Re darf nicht leer sein </a> </li> <li> 16. <a href="http://de.voidcc.com/question/p-qywksgqo-es.html" target="_blank" title="write() Argument muss str sein, nicht Bytes"> write() Argument muss str sein, nicht Bytes </a> </li> <li> 17. <a href="http://de.voidcc.com/question/p-zhinmtrs-s.html" target="_blank" title="Muss dieses Feld flüchtig sein?"> Muss dieses Feld flüchtig sein? </a> </li> <li> 18. <a href="http://de.voidcc.com/question/p-eflhepjj-cw.html" target="_blank" title="Unsachgemäß konfiguriert: Die Einstellung SECRET_KEY darf nicht leer sein"> Unsachgemäß konfiguriert: Die Einstellung SECRET_KEY darf nicht leer sein </a> </li> <li> 19. <a href="http://de.voidcc.com/question/p-woftjoya-cu.html" target="_blank" title="Picasso IllegalArgumentException Ziel muss nicht null sein"> Picasso IllegalArgumentException Ziel muss nicht null sein </a> </li> <li> 20. <a href="http://de.voidcc.com/question/p-ykqpcqus-co.html" target="_blank" title="GoogleApiClient muss nicht null sein [Awareness-API]"> GoogleApiClient muss nicht null sein [Awareness-API] </a> </li> <li> 21. <a href="http://de.voidcc.com/question/p-koucqbpv-ct.html" target="_blank" title="Fehler muss auf einen Puffer konvertierbar sein, nicht InMemoryUploadedFile"> Fehler muss auf einen Puffer konvertierbar sein, nicht InMemoryUploadedFile </a> </li> <li> 22. <a href="http://de.voidcc.com/question/p-qxmmtipm-dw.html" target="_blank" title="Adjazenzmatrix muss symmetrisch sein"> Adjazenzmatrix muss symmetrisch sein </a> </li> <li> 23. <a href="http://de.voidcc.com/question/p-qwfieggj-n.html" target="_blank" title="C++ Anfangswert Bezug auf nicht-const muss ein L-Wert sein"> C++ Anfangswert Bezug auf nicht-const muss ein L-Wert sein </a> </li> <li> 24. <a href="http://de.voidcc.com/question/p-awjjoarj-ds.html" target="_blank" title="log4net auszuschließen benutzerdefinierte Feldnamen, wenn sein Wert leer ist"> log4net auszuschließen benutzerdefinierte Feldnamen, wenn sein Wert leer ist </a> </li> <li> 25. <a href="http://de.voidcc.com/question/p-uxeudugv-bx.html" target="_blank" title="MediaStore.Images.Thumbnails scheint leer zu sein"> MediaStore.Images.Thumbnails scheint leer zu sein </a> </li> <li> 26. <a href="http://de.voidcc.com/question/p-ginfuott-dd.html" target="_blank" title="Wert Fehler: „DoctorPerHospital.doc_id“ muss ein „DoctorUserProfile“ Instanz sein"> Wert Fehler: „DoctorPerHospital.doc_id“ muss ein „DoctorUserProfile“ Instanz sein </a> </li> <li> 27. <a href="http://de.voidcc.com/question/p-xelylliw-dn.html" target="_blank" title="TypeError: muss str sein, nicht tuple"> TypeError: muss str sein, nicht tuple </a> </li> <li> 28. <a href="http://de.voidcc.com/question/p-rtqmfmec-e.html" target="_blank" title="java.lang.IllegalArgumentException: Umwelt nicht null sein muss"> java.lang.IllegalArgumentException: Umwelt nicht null sein muss </a> </li> <li> 29. <a href="http://de.voidcc.com/question/p-abslfmxz-ea.html" target="_blank" title="JSON-Objekt muss str sein, nicht 'Bytes'"> JSON-Objekt muss str sein, nicht 'Bytes' </a> </li> <li> 30. <a href="http://de.voidcc.com/question/p-sncuryax-dy.html" target="_blank" title="Typ Fehler „String sein muss, nicht datetime.datetime“"> Typ Fehler „String sein muss, nicht datetime.datetime“ </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=1652515422091"></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"> Letzte Frage </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://de.voidcc.com/question/p-zypvibum-nq.html" target="_blank" title="Assign IDs Elemente Viz.js TD in der SVG-Elemente erscheinen"> Assign IDs Elemente Viz.js TD in der SVG-Elemente erscheinen </a> </li> <li class="side_article_list_item"> 2. <a href="http://de.voidcc.com/question/p-dpdjychr-nq.html" target="_blank" title="Mxgraph getPrettyXml nicht erhalten benutzerdefinierten Element Wert"> Mxgraph getPrettyXml nicht erhalten benutzerdefinierten Element Wert </a> </li> <li class="side_article_list_item"> 3. <a href="http://de.voidcc.com/question/p-nnhfegam-ns.html" target="_blank" title="XSL ein Attribut mit der Position des umschließenden Elements Aktualisierung"> XSL ein Attribut mit der Position des umschließenden Elements Aktualisierung </a> </li> <li class="side_article_list_item"> 4. <a href="http://de.voidcc.com/question/p-zbmwammt-nn.html" target="_blank" title="Wie kommt man zum letzten Datensatz in den Ergebnissen von ado.locate (Delphi)"> Wie kommt man zum letzten Datensatz in den Ergebnissen von ado.locate (Delphi) </a> </li> <li class="side_article_list_item"> 5. <a href="http://de.voidcc.com/question/p-vuvfeaov-nn.html" target="_blank" title="Daten aufteilen, um Zug- und Testsätze zu erstellen - for loop - Variable in Teilmenge nach Zeile einfügen"> Daten aufteilen, um Zug- und Testsätze zu erstellen - for loop - Variable in Teilmenge nach Zeile einfügen </a> </li> <li class="side_article_list_item"> 6. <a href="http://de.voidcc.com/question/p-mbaexgeh-no.html" target="_blank" title="Javascript, wie JSON Daten mit API Anruf an umgeleitete URL"> Javascript, wie JSON Daten mit API Anruf an umgeleitete URL </a> </li> <li class="side_article_list_item"> 7. <a href="http://de.voidcc.com/question/p-whufvzhv-no.html" target="_blank" title="Add Custom Regularisierung Tensorflow"> Add Custom Regularisierung Tensorflow </a> </li> <li class="side_article_list_item"> 8. <a href="http://de.voidcc.com/question/p-xjwvrdzf-nm.html" target="_blank" title="django Test - wie Antwortdaten für die zukünftige Verwendung erhalten"> django Test - wie Antwortdaten für die zukünftige Verwendung erhalten </a> </li> <li class="side_article_list_item"> 9. <a href="http://de.voidcc.com/question/p-gusbuuhg-nk.html" target="_blank" title="Apache Tomcat-Server auf Nginx hält das Herunterladen .jsp Dateien"> Apache Tomcat-Server auf Nginx hält das Herunterladen .jsp Dateien </a> </li> <li class="side_article_list_item"> 10. <a href="http://de.voidcc.com/question/p-ocqbdmzy-nk.html" target="_blank" title="Perl: Abrufen von Hash-Werten in der Reihenfolge, in der sie erstellt wurden"> Perl: Abrufen von Hash-Werten in der Reihenfolge, in der sie erstellt wurden </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> Verwandte Themen</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://de.voidcc.com/question/p-guvzvxfl-cr.html" target="_blank" title="Fehler: ReCAPTCHA Platzhalterelement muss leer sein"> Fehler: ReCAPTCHA Platzhalterelement muss leer sein </a> </li> <li class="side_article_list_item"> 2. <a href="http://de.voidcc.com/question/p-hksnkljn-bw.html" target="_blank" title="allow_url_open muss auf sein"> allow_url_open muss auf sein </a> </li> <li class="side_article_list_item"> 3. <a href="http://de.voidcc.com/question/p-xfofdllc-dq.html" target="_blank" title="Arbeitsblattnamen dürfen nicht leer sein"> Arbeitsblattnamen dürfen nicht leer sein </a> </li> <li class="side_article_list_item"> 4. <a href="http://de.voidcc.com/question/p-aqsrawru-dq.html" target="_blank" title="Formular kann nicht leer sein"> Formular kann nicht leer sein </a> </li> <li class="side_article_list_item"> 5. <a href="http://de.voidcc.com/question/p-cpkqjzoe-dh.html" target="_blank" title="ArangoDB: Name muss nicht leer"> ArangoDB: Name muss nicht leer </a> </li> <li class="side_article_list_item"> 6. <a href="http://de.voidcc.com/question/p-ncpjatdc-bc.html" target="_blank" title="Datenbank Design: optional, aber muss eindeutig sein, wenn ein Wert"> Datenbank Design: optional, aber muss eindeutig sein, wenn ein Wert </a> </li> <li class="side_article_list_item"> 7. <a href="http://de.voidcc.com/question/p-kvdgbaju-cn.html" target="_blank" title="AppKey kann nicht null oder leer sein"> AppKey kann nicht null oder leer sein </a> </li> <li class="side_article_list_item"> 8. <a href="http://de.voidcc.com/question/p-hndarwzm-bu.html" target="_blank" title="Rails form_for radio_button "kann nicht leer sein""> Rails form_for radio_button "kann nicht leer sein" </a> </li> <li class="side_article_list_item"> 9. <a href="http://de.voidcc.com/question/p-gmklzmnd-db.html" target="_blank" title="Spring-Anwendungsstartfehler: Quellen darf nicht leer sein"> Spring-Anwendungsstartfehler: Quellen darf nicht leer sein </a> </li> <li class="side_article_list_item"> 10. <a href="http://de.voidcc.com/question/p-rvbxigex-ch.html" target="_blank" title="Warum muss conexpr statisch sein?"> Warum muss conexpr statisch sein? </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://de.voidcc.com/contact">Sprechen Sie uns an</a></li> <li>© 2020 DE.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>