Beiträge von Basi
-
-
Du nutzt unzählige Frameworks und Stylesheets, hast jetzt aber nur eins zur Verfügung gestellt. Es fehlen insgesamt 25 Dateien, jede einzelne davon kann Schuld sein und mit den von dir gegebenen Codes wird eine leere Seite mit dunkelblauem Hintergrund angezeigt.
Wir brauchen den vollständigen Code, sonst kann keiner etwas dazu sagen.
-
Ohne die entsprechenden Stylesheets kann man da unmöglich etwas zu sagen.
-
Für solche Prüfungen eignen sich am Besten Reguläre Ausdrücke. Es besteht aber absolut kein Grund E-Mailadressen auszuschließen, die nicht von Gratisanbietern gehostet werden. Jeder, der eine eigene Domain besitzt, kann E-Mailadressen darauf anlegen. Bestes Beispiel: info@html-seminar.de.
Die Validation der E-Mailadresse mittels FILTER_VALIDATE_EMAIL ist keineswegs eine simple Prüfung, ob ein @ vorhanden ist.
Genau genommen sieht das etwa so aus:
PHP
Alles anzeigen<?php /** * Squiloople Framework * * LICENSE: Feel free to use and redistribute this code. * * @author Michael Rushton <michael@squiloople.com> * @link http://squiloople.com/ * @package Squiloople * @version 1.0 * @copyright © 2012 Michael Rushton */ final class EmailAddressValidator { const RFC_5321 = 5321; const RFC_5322 = 5322; private $_email_address; private $_quoted_string = FALSE; private $_obsolete = FALSE; private $_basic_domain_name = TRUE; private $_domain_literal = FALSE; private $_cfws = FALSE; public function __construct($email_address, $standard = NULL) { $this->_email_address = $email_address; switch ($standard) { case NULL: break; case self::RFC_5321: $this->setStandard5321(); break; case self::RFC_5322: $this->setStandard5322(); break; default: throw new Exception('Unknown RFC standard for email address validation.'); } } public static function setEmailAddress($email_address, $standard = NULL) { return new self($email_address, $standard); } public function setStandardBasic() { $this->_quoted_string = FALSE; $this->_obsolete = FALSE; $this->_basic_domain_name = TRUE; $this->_domain_literal = FALSE; $this->_cfws = FALSE; return $this; } public function setStandard5321() { $this->_quoted_string = TRUE; $this->_obsolete = FALSE; $this->_basic_domain_name = FALSE; $this->_domain_literal = TRUE; $this->_cfws = FALSE; return $this; } public function setStandard5322() { $this->_quoted_string = FALSE; $this->_obsolete = TRUE; $this->_basic_domain_name = FALSE; $this->_domain_literal = TRUE; $this->_cfws = TRUE; return $this; } public function setQuotedString($allow = TRUE) { $this->_quoted_string = $allow; return $this; } public function setObsolete($allow = TRUE) { $this->_obsolete = $allow; return $this; } public function setBasicDomainName($allow = TRUE) { $this->_basic_domain_name = $allow; return $this; } public function setDomainLiteral($allow = TRUE) { $this->_domain_literal = $allow; return $this; } public function setCFWS($allow = TRUE) { $this->_cfws = $allow; return $this; } private function _getDotAtom() { return "([!#-'*+\/-9=?^-~-]+)(?>\.(?1))*"; } private function _getQuotedString() { return '"(?>[ !#-\[\]-~]|\\\[ -~])*"'; } private function _getObsolete() { return '([!#-\'*+\/-9=?^-~-]+|"(?>' . $this->_getFWS() . '(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*' . $this->_getFWS() . '")(?>' . $this->_getCFWS() . '\.' . $this->_getCFWS() . '(?1))*'; } private function _getDomainName() { if ($this->_basic_domain_name) { return '(?>' . $this->_getDomainNameLengthLimit() . '[a-z\d](?>[a-z\d-]*[a-z\d])?' . $this->_getCFWS() . '\.' . $this->_getCFWS() . '){1,126}[a-z]{2,6}'; } return $this->_getDomainNameLengthLimit() . '([a-z\d](?>[a-z\d-]*[a-z\d])?)(?>' . $this->_getCFWS() . '\.' . $this->_getDomainNameLengthLimit() . $this->_getCFWS() . '(?2)){0,126}'; } private function _getIPv6() { return '([a-f\d]{1,4})(?>:(?3)){7}|(?!(?:.*[a-f\d][:\]]){8,})((?3)(?>:(?3)){0,6})?::(?4)?'; } private function _getIPv4MappedIPv6() { return '(?3)(?>:(?3)){5}:|(?!(?:.*[a-f\d]:){6,})(?5)?::(?>((?3)(?>:(?3)){0,4}):)?'; } private function _getIPv4() { return '(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?>\.(?6)){3}'; } private function _getDomainLiteral() { return '\[(?:(?>IPv6:(?>' . $this->_getIPv6() . '))|(?>(?>IPv6:(?>' . $this->_getIPv4MappedIPv6() . '))?' . $this->_getIPv4() . '))\]'; } private function _getFWS($define = FALSE) { if ($this->_cfws) { return !$define ? '(?P>fws)' : '(?<fws>(?>(?>(?>\x0D\x0A)?[\t ])+|(?>[\t ]*\x0D\x0A)?[\t ]+)?)'; } } private function _getComments() { return '(?<comment>\((?>' . $this->_getFWS() . '(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?P>comment)))*' . $this->_getFWS() . '\))'; } private function _getCFWS($define = FALSE) { if ($this->_cfws && !$define) { return '(?P>cfws)'; } if ($this->_cfws) { return '(?<cfws>(?>(?>(?>' . $this->_getFWS(TRUE) . $this->_getComments() . ')+' . $this->_getFWS() . ')|' . $this->_getFWS() . ')?)'; } } private function _getLocalPart() { if ($this->_obsolete) { return $this->_getObsolete(); } if ($this->_quoted_string) { return '(?>' . $this->_getDotAtom() . '|' . $this->_getQuotedString() . ')'; } return $this->_getDotAtom(); } private function _getDomain() { if ($this->_domain_literal) { return '(?>' . $this->_getDomainName() . '|' . $this->_getDomainLiteral() . ')'; } return $this->_getDomainName(); } private function _getEmailAddressLengthLimit() { return '(?!(?>' . $this->_getCFWS() . '"?(?>\\\[ -~]|[^"])"?' . $this->_getCFWS() . '){255,})'; } private function _getLocalPartLengthLimit() { return '(?!(?>' . $this->_getCFWS() . '"?(?>\\\[ -~]|[^"])"?' . $this->_getCFWS() . '){65,}@)'; } private function _getDomainNameLengthLimit() { return '(?!' . $this->_getCFWS() . '[a-z\d-]{64,})'; } private function _verifyDomain($domain) { if (!checkdnsrr(end($domain), 'MX')) { return 0; } return TRUE; } public function isValid($verify = FALSE) { if (!preg_match( '/^' . $this->_getEmailAddressLengthLimit() . $this->_getLocalPartLengthLimit() . $this->_getCFWS() . $this->_getLocalPart() . $this->_getCFWS() . '@' . $this->_getCFWS() . $this->_getDomain() . $this->_getCFWS(TRUE) . '$/isD' , $this->_email_address )) { return FALSE; } if ($verify) { return $this->_verifyDomain(explode('@', $this->_email_address)); } return 1; } }
Oder es kommt ein Regulärer Ausdruck in etwa solcher Form zum Einsatz:Code'/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD'
-
Das liegt einfach nur daran, dass ee@ee.de eine legitime E-Mailadresse ist
-
Ja, indem du in die Datei nur den einen Container einfügst. Ansonsten müsstest du suchen und selektieren, das ist Aufwand für dich, kostet Ressourcen und Zeit.
Andernfalls könntest du auch eine Datenbank verwenden.
-
Hi, du hast da ein paar Syntaxfehler in deinem PHP Code.
Hier fehlt das Semikolon:
Hier stört das " ere":
Hier fehlt wieder das Semikolon:
Und hier stört wieder " ere":
So würde das dan bereinigt aussehen:
PHP
Alles anzeigen<?php $anzahl_fragen = 3; // Hier Anzahl der Fragen angeben for($i=1; $i <= $anzahl_fragen; $i++) { $gesamt_punkte += $_POST['frage'.$i]; echo $gesamt_punkte; } if($gesamt_punkte >= 70) { $ergebnis = "faullänzer"; } elseif($gesamt_punkte >= 30) { $ergebnis = "weiß was sport ist"; } else { $ergebnis = "du bist eine sportskanone"; } echo $ergebnis; ?>
-
Das geht mit PHP Includes oder Ajax (Javascript). Es kommt jetzt etwas darauf an wie genau du dir das vorstellts. Ohne die Seite neu zu laden kommst du um Javascript nicht herum, ansonsten reicht PHP. Für PHP brauchst du jedoch einen PHP-fähigen Webserver.
Mittels PHP wäre das dann einfach so:
index.html
container.htm
Mit Javascript wäre das ein klein wenig umständlicher. -
Klingt nach korrupten Pfaden
-
Bei mir gehts im IE, wird an den Filtern und deiner vermutlich veralteten IE Version liegen.
-
Dein Injizierter Javascript Code ist fehlerhaft.
Beim Auslesen der Datei wird nl2br aufgerufen, wenn du dein Script also mit Umbrüchen versiehst, wird an deren Stelle <br> eingefügt, dadurch wird dein Script nicht mehr ausgeführt. Das Forumlar wird nicht mehr angezeigt, weil du im schließenden Script-Tag den Schrägstrich vergessen hast, dadurch wird die restliche Seite als Javascript interpretiert und nicht mehr angezeigt.
So funktioniert es:
-
Dafür brauchen wir deinen Code.
-
-
Hallo.
Um richtige Fehler handelt es sich nicht. Bei den ersten beiden steht "Notice", das ist lediglich ein Hinweis. In diesem Fall darauf, dass $wert noch nicht existent ist. Das kann man (wie du bereits richtig herausgefunden hast) beheben, indem man vorher $wert 0 0; zuweist.
Das Problem aus Nummer 41 ist eine fehlende Klammer:
PHP// Fehlerhaft: while ($inhalt = fgets ($fd, 4096) // Korrekt: while ($inhalt = fgets ($fd, 4096))
Solche Fehler sind im Kurs natürlich ärgerlich, jedoch unmöglich komplett zu vermeiden. Passiert jedem malEigentlich nicht mal verkehrt, so muss man selbst auf Fehlersuche gehen, was auch lehrreich ist. Gut, dass du gefragt hast.
-
Damit wir den Fehler nachvollziehen können müsstest du noch zeigen wie genau du beim Aufruf der Funktionen vorgegangen bist. Quasi der Code den du selbst geschrieben hast.
-
Foreach macht hier wenig Sinn. Damit kannst du EIN Array durchlaufen. Du möchtest hier aber offenbar 3 unterschiedliche verknüpfen. Da würde ich an deiner Stelle eine for-Schleife benutzen und in jedem Durchlauf die Teile zusammenfügen. Das könnte so aussehen:
PHP
Alles anzeigen// Die Arrays anlegen, das passiert bei dir natürlich durch das Formular $myText1= ["Gerät 1", "Gerät 2", "Gerät 3"]; $myText2 = ["Blau", "Rot", "Schwarz"]; $myText3 = ["1", "10", "5"]; $email = ""; for($i = 0; $i < count($myText1); $i++) { $email .= "<p>". $myText1[$i] ." / ". $myText2[$i] ." / ". $myText3[$i] ."</p>"; } print $email;
-
Hej,
du musst hier garkein neues Element anlegen. Du kannst einfach das src Attribut vom einen Bild ins andere übertragen. Dazu macht es Sinn dem neuen Bild eine ID zu geben um es einfacher auswählen zu können:
HTML
Alles anzeigen<img src="startbild.jpg" height="200px" width="auto" id="start" onclick="test();"> <!-- bei klick function test--> <table> <tr> <td> <img src="zielbild.jpg" id="hauptbild"> </td> </tr> </table>
JavaScript
Alles anzeigenfunction test() { var y = document.getElementById("start").src; neubild(y); } function neubild(y) { document.getElementById("hauptbild").src = y; }
Wenn du dem td-Element eine ID und dem Bild keine zuweisen willst, könntest du das so machen:JavaScriptfunction neubild(y) { document.getElementById("hauptbild").getElementsByTagName("img")[0].src = y; }
Deine Zeile "document.getElementById("hauptbild") = x;" macht so keinen Sinn. Es gibt in Zuweisungen 2 Arten von Werten. Die Left Hand Assignments und die Right Hand Assignments. Left Hand gehört (wie der Name schon sagt) auf die linke Seite des Gleichheitszeichens, Right Hand natürlich auf die rechte.In diesem Fall ist aber "document.getElementById("hauptbild")" der Wert und gehört somit auf die rechte Seite. Es handelt sich dabei um eine Funktion und dieser kann nichts zugewiesen werden.
-
Ich weiß nicht genau was du mit Infotip meinst. Ich gehe aber mal davon aus, du meinst das title Attribut, mit dem sich beim Mouseover ein Tooltip erzeugen lässt.
In dem Fall werden Zeilenumbrüche, die du im Code angibst, auch im Tooltip übernommen:
Nicht alle Browser nehmen das an. Für den Fall lohnt es sich, jede Zeile mit einem Leerzeichen zu beenden. -
Funktioniert einwandfrei. Vielleicht hast du kein Programm als Standard festgelegt.
Unter Windows 10 kannst du das prüfen, indem du "Standardprogramme" im Startmenü eingibst und aufrufst. Einer der ersten Einträge sollte E-Mail sein.
-
Halb so wild. Einfach immer weiter probieren. Man lernt so etwas tatsächlich fast nur durch selbst probieren. Wichtig ist, dass du deinen Code zeigst wenn du nach Hilfe fragst.