Ja ich denke, das wolltest Du?! Oder was verstehst Du unter einer Sticky Navigation 
Beiträge von Arne Drews
-
-
Du verwendest jQuery-Selektoren, bindest dies aber nirgendwo ein.
Falls das Dein einziger Anwendungsfall ist, benötigst Du das auch nicht wirklich. Du beachtest allerdings auch die Priorität von CSS-Regeln nicht. Wenn Du einem Element grundlegend über eine ID Eigenschaften zuweist, sind die nicht durch eine Klasse ohne weiteres überschreibbar. Die ID hat eine höhere Priorität!Du kannst Deinem <nav> eine Klasse geben:
Code
Alles anzeigen[...] <nav class="navigation"> <ul> <li><a href="#">Punkt1</a></li> <li><a href="#">Punkt1</a></li> <li><a href="#">Punkt1</a></li> <li><a href="#">Punkt1</a></li> </ul> </nav> [...]
und müsstest Deine CSS dahingehend anpassen:Code
Alles anzeigen[...] .navigation , #main { position: relative; } .navigation { background: #fff; height: 80px; z-index: 150; margin-bottom: -80px; box-shadow: 0 3px 13px black; } .navigation li{ display: inline-block; list-style-type: none; font-size: 20pt; margin-top: 20px; } .fixed { position: fixed; width: 100%; top: 0; } [...]
Dann ist das mit reinem JavaScript problemlos machbar: -
Bedienungsanleitungen sind tatsächlich mit dem Internet obsolet geworden...

-
Hallo,
Dein Server ist ein Windows-Server? Oder möchtest Du per C# aus Deiner lokalen Umgebung, sprich einer Desktop-Anwendung den Aufruf starten?
Wenn ich das so richtig verstanden habe, wäre das grundlegend eine API-Technik.
D.h., Du rufst das PHP-Script per C# bspw. über einen WebRequest auf und verarbeitest dessen Rückgabe, was i.d.R. eine Ausgabe des PHP-Scriptes ist.kurzes Beispiel ( aus der Luft gegriffen! ):
PHP
Alles anzeigen// C# Script using System.Net; using System.IO; using System.Web; [...] String sUserName = "username=" + HttpUtility.UrlEncode( "freddy kaputtlick" ); String sUserPassword = "password=" + HttpUtility.UrlEncode( "gfsa4ergfa7" ); HttpWebRequest oRequest = (HttpWebRequest)HttpWebRequest.Create( "http://example.com/login.php" ); oRequest.Method = "POST"; byte[] data = Encoding.ASCII.GetBytes( sUserName + "&" + sUserPassword ); oRequest.ContentType = "application/x-www-form-urlencoded"; oRequest.ContentLength = data.Length; Stream oReqStream = oRequest.GetRequestStream(); oReqStream.Write( data, 0, data.Length ); oReqStream.Close(); HttpWebResponse oResponse = (HttpWebResponse)oRequest.GetResponse(); Stream oResStream = oResponse.GetResponseStream(); StreamReader oStreamReader = new StreamReader( oResStream, Encoding.Default ); String sResponse = oStreamReader.ReadToEnd(); // in sResponse befindet sich die Ausgabe des PHP-Scripts! oStreamReader.Close(); oResStream.Close(); oResponse.Close();
Dein PHP-Script muss jetzt nichts weiter tun, als die Daten über den POST-Kanal auszuwerten und entsprechend zu antworten:PHP
Alles anzeigen$sOut = [ 'Kein Zugangsdaten übermittelt!' ]; if ( isset($_POST['username']) && isset($_POST['password']) ) $sOut = [ 'Login Daten übermittelt...' ]; try { $oConn = mysqli_connect( $Server, $Username, $Password, $Database ); } catch( Exception $e ) { exit( $e->getMessage() ); } $sQuery = "SELECT `username` FROM `DB_Accessdata` WHERE `username = '" . $_POST['username'] . "'` AND `password` = '" . $_POST['password'] . "'"; $oResult = mysqli_query( $oConn, $sQuery ); $sOut[] = ( $oResult->num_rows() )? 'Login erfolgreich...': 'Login fehlgeschlagen!!!'; } echo $sOut;
Die POST-Daten müssen natürlich noch gefiltert werden und sicher weitere Kleinigkeiten angepasst werden, aber als kleines Beispiel sollte das vom Ablauf her so passen.Zitat von GastlWas hat das mit HTML zu tun?
Die Frage ist allerdings gerechtfertigt...

Gruß Arne
-
Sehe ich auch so, für mich zählen gerade in dem Bereich Kompetenzen mehr als die Kleidung. Selbst wenn er unrasiert gekommen wäre.
Es stellt sich vielmehr die Frage, was die wirklichen Gründe sind:ZitatDas ist natürlich nur das Tüpfelchen gewesen. Es gab immer mal wieder Probleme mit der Firma.
-
Da gibt es ja nun viele Möglichkeiten.
Kommt ganz darauf an, was man investieren möchte. Buhl Data oder Lexware bieten sicher etwas vollkommen ausreichendes für euch an.
Aber auch in höher preisigen Regionen wie etwa Sage oder eVelopment, etc. bietet sich was an.Egal welche Software ihr verwendet, die Grundeinstellungen sollten von jemandem mit KnowHow eingerichtet werden, weil es sonst später zu Problemen kommen kann.
-
Das kann nur passieren, wenn er nur den ersten oder alle Datensätze aufgrund der Query zurückgibt.
Und das muß dann an der Query liegen, daher bitte diese einmal in phpmyadmin absetzen. -
Nö,
Du hast geschrieben, dass Du ne Testausgabe gemacht hast und die korrekte E-Mail drinnen steht.
Die generierte Query hast Du auch ausgeben lassen, das stimmte scheinbar auch.Setz die Query mal in phpMyAdmin ab und schau, was da kommt.
Wenn das alles passt, postest Du nicht den korrekten Code. -
-
Ja, aber dann läuft bei der Abfrage was schief. Er scheint dann nur den ersten Datensatz oder was vermutlich eher zutreffen wird, alle Datensätze zu laden.
Heisst die Spalte denn auch email? -
Ja, die sehen für mich unterschiedlich aus! Also zieht er sich das falsche aus der DB.
bei welchem Eintrag ist denn die 5304e2a2b72f1ff680c531d9607f0afa zu finden? -
-
Zitat
Ich sende es mit der mail() function als html-mail, habe es zwar mit php mailer probiert aber es hat nicht geklappt da ich nicht alle daten hatte und ich rufe doch nicht bei meinem email anbieter an, welchser pro minute 4 € verlangt um meinen port rauszubekommen.
Es gibt dort auch E-Mail Support! Ausserdem wird sich das in den FAQ bzw. der Hilfe finden lassen.
mail() ist bei Deinem Wissenstand absolutes NoGo!Zum Thema: Ich habe eben eine Registrierung durchgeführt. Schau bitte mal in die DB, was dort als Hashwert drin steht. E-Mail sende ich Dir gleich per PN!
Da Du die E-Mail in der Session überträgst und nicht in der URL, befindet sich im QueryString auch kein $-Zeichen als Trenner.
Daher steckt der Haswert nach dem explode() in $chek[0]. Für diesen Fall kannst Du aber auch das explode() komplett weglassen:
Deine Abfrage müsstest Du dann dahingehend auch anpassen:Nach den Anpassungen kann der Fehler nur noch an einem falschen Hashwert in der DB oder an dem Session-Parameter "useremail" liegen, den Du hoffentlich im Zuge des Debuggens kontrolliert hast?!
Es gilt also jetzt folgendes zu prüfen:
- Welcher Hashwert steht in der DB?
- Was steckt in $_SESSION['useremail']?
- Was gibt die DB-Query wirklich zurück?
Gruß Arne
-
Das kann ich Dir nicht beantworten, da ich nicht weiß, wie Du die Links versendest!
Du kannst mir ja mal einen Link senden, dann kann ich Dir sagen, ob Dein Script den Hash erkennen sollte oder nicht. Und vielleicht sogar warum.Gruß Arne
-
Hallo Helge,
Der Fehler, den Du bekommst deutet darauf hin, dass die Authentifizierung am SMTP-Server fehl schlägt.
Prüfe bitte die Daten nochmal, ansonsten darfst Du mir gerne eine PN senden mit der E-Mail, die Du als SMTP-Gateway verwenden willst.
Dann schaue ich gerne mal, ob ich Dir da etwas weiter helfen kann.Zum HTML-Teil: Inline-Style solltest Du sowieso nicht nutzen!
Du verwendest bereits CSS im Header, da gehört das eher rein.
Noch besser wäre es in eine extra Datei auszulagern, aber wie gesagt auf jeden Fall kein Inline-Style verwenden, das ist seit Jahren nicht mehr StateOfTheArt.Gruß Arne
-
Wat für'n Datentyp hast Du der Spalte denn in der DB verpasst?
Das muss natürlich ein VARCHAR sein, ich vermute, Du hast einen INT verwendet, richtig?
Der Hash hat doch auch Buchstaben, wie soll das denn als INT gespeichert werden? -
-
-
Hallo,
Also bei der Fehlerausgabe hast Du kein echo verwendet! implode() allein gibt nichts aus.
ZitatDann wird beim bindparm die var useremail mit dem Wert in der Spalte Hashid gegeneinandergestellt und verglichen ?
Nein. Das bindParam() bindet ja nur die E-Mail an die Query und zwar an den Platzhalter mit dem Basisindex 1.
Die Query, die zur DB gesendet wird, sieht dann bspw. so aus:
Die Query möchte also jeweils die Spalte `hashid` von den Datensätzen haben, wo die Spalte `email` = 'test@example.com' ist.
I.d.R. sollte dabei max. nur ein Datensatz rauskommen, deshalb interessiert uns hier keine Schleife o.ä.Das ganze setzt natürlich voraus, dass es eine Spalte `email` in der Tabelle gibt!
Ansonsten sehe ich auf den ersten Blick nichts weiter, was die Ausgabe verhindern könnte...
Gruß Arne
-
Kannst Du bitte mal alles in Zusammenhang posten?!
Du postest den ganzen Code und separat die Ausgabe, die nicht hinhaut.
Wo genau Du diesen Code verwendest, sieht man nicht. Also bitte mal zusammenhängend, damit man erkennen kann, ob er überhaupt zur Ausgabe kommt.Danke und Gruß
Arne