Beiträge von Sarkkan

    Naja.. öhm.. irgendwo.. nein?
    Also ich wäre dagegen. Das HTML-Seminar ist dafür da die Grundlegenden Sachen zu erklären, der JavaScript Teil dort verstehe ich mehr als eine Art Anregung was man als nächstes sich genauer ansehen könnte. Und mit PHP hat Ajax ja auch erst einmal nicht unbedingt etwas zu tun, genau so gut kann ich nämlich auch statische Inhalte nachladen.


    Übrigens hast du schon mein bestes Argument gegen ein solches Forum genannt:

    Zitat von "webmaster3000"

    da es [Ajax] sich hierbei um eine wichtige Technk handelt

    Es ist eine Technik und keine Sprache. Wenn Fragen dazu bestehen gehören diese in den JavaScript-Teil.
    Sonst verlange ich demnächst auch noch für die File API, Canvas, CSS3-Gradients,.. eigene Foren.


    Gruß
    Dustin

    <h1>Basiliken im Südharz</h1> <-- Name des Buches
    <h2>Ernährungstipps</h2> <-- Name des Kapitels
    <h3>..</h3> <-- Beschrebung des Absatzes


    Nein, der Title-Tag ist der Name der Aktuellen Seite.


    Und Seo-Technisch bringt es das wirklich :/
    Also die Seiten unserer Agentur langen alle auf der ersten Seite, öfter noch mind. unter den ersten 3

    Natürlich, in deinem Code "klappt alles super" und ich bin mir sicher du hast auch DIE Ahnung, warum du das gerade genau so gemacht hast und vor allem Dingen, was du da gemacht hast :)


    Deswegen hast du auch einfach mal Blindlings das kopiert, was ich dir eben Schemenhaft dargestellt habe :)
    Ich meine.. es macht super viel Sinn, wenn ich ein Objekt erzeuge und es anschließend direkt wieder mit etwas anderem Überschreibe.. (und warum übergibst du den Rückgabewert von isset? O.o)
    Tut mir Leid, aber so wird das 0.


    Aber ich habe heute meine netten 5 Minuten, daher schreibe ich dir sogar mal fix eine Kleinigkeit, aber bitte ließ meine Kommentare im Quelltext durch :(

    PHP
    <span class="syntaxdefault"></span><span class="syntaxcomment">/* Unsere Klasse */<br /></span><span class="syntaxdefault">class kunde </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    <br />    private $kundennummer</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    <br />    public function __construct</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$kndNr</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">kundennummer </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $kndNr</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    <br />    public function getKundennummer</span><span class="syntaxkeyword">(){<br /></span><span class="syntaxdefault">        return $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">kundennummer</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    <br />    <br />    </span><span class="syntaxcomment">//::> Unsere Anmeldefunktion<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">// Erwartet 2 Parameter, einmal den Benutezrnamen und einmal das Passwort<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">// Wenn wir der Admin sind ist unser Kunden-Objekt mit der Kundennummer 2<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">// Andernfalls mit dem Zeitstempel<br /></span><span class="syntaxdefault">    public static function anmelden</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"admin"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"> $password </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Hallo"</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">            return new static</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">2</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            return new static</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">time</span><span class="syntaxkeyword">());<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    <br /></span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxcomment">/* Unsere andere Datei */<br />//::>  Verwende require anstelle von requiere_once, da es schneller geht.<br /></span><span class="syntaxdefault">require </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"class_seite.php"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">require </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"class_kunde.php"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxcomment">//:: Wurde unser Formular abgesendet?<br /></span><span class="syntaxkeyword">if(isset(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"action"</span><span class="syntaxkeyword">])){<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">//::> Dann versuchen wir uns einzuloggen<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">// Und brauchen natürlich nur die Benutzereingaben zu übergeben<br /></span><span class="syntaxdefault">    $user </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> kunde</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">anmelden</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"benutzer"</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"kennwort"</span><span class="syntaxkeyword">]);<br />}<br /><br /></span><span class="syntaxcomment">//::> Wenn unsere kunde::anmelden-Funktion etwas anderes als false zurück gegeben hat (also Erfolgreich war)<br /></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">$user </span><span class="syntaxkeyword">!==</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">    echo </span><span class="syntaxstring">'<h3> Anmeldung war erfolgreich. </h3><br />        <br />        <form enctype="multipart/form-data" action="auswertung.php" method="POST"><br />            Datei aussuchen: <input name="userfile" type="file"  /><br />            <input type="submit" name="action" value="Senden"/><br />        </form>'</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">       echo </span><span class="syntaxstring">'<br />        <h1>Bitte Anmelden</h1><br />        <form method="post" action="'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'PHP_SELF'</span><span class="syntaxkeyword">].</span><span class="syntaxstring">'"><br />            <p>Benutzername: <br/><br />                <input type="text" name="benutzer" size="20"  /><br />            </p><br />            <p>Kennwort: <br/><br />                <input type="password" name="kennwort" size="20" /><br />            </p><br />            <input type="submit" value="Anmelden" /><br />        </form>'</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> </span>


    Kurz zu Parameter übergabe, wir können Funktionen anweisen Parameter entgegen zu nehmen.
    So können wir z.B. später unsere Anmelde-Funktion auch verwenden wenn wir die Daten sonst wo her nehmen wollen.
    Hierzu müssen wir einfach beim definieren der Funktionen in die Klammern nach dem Funktionsnamen $variabeln eintragen mit denen wir dann in unsere Funktion arbeiten können.

    Sören? Hast du dir meinen Post überhaupt mal durchgelesen? .__.
    Ich habe ihm das mit dem static gesagt (So kann man es nämlich auch machen :) ) und ich habe die Rudeltiere schon erwähnt! :D
    Gerade fühle ich mich von dir Ignoriert :(


    seven: Ich habe dir eigentlich schon alles ziemlich genau beschrieben.. :/
    Wie groß ist deinn Wissen überhaupt in PHP? Parameterübergabe ist das einfachste.. :/

    Guten Morgen :)


    Wozu ist den das <td> um die Auswertung der Checkboxen?


    Statt 2 if-Abfragen würde ich einfach abfragen ob $workshops > 2 ist, falls mal ein weiterer Workshop spontan dazu kommt o.Ä. :)

    Guten Morgen :)


    1. Satzzeichen sind keine Rudeltiere (Thread-Titel)
    2. Ich komme mit deiner Klasse irgendwie nicht wirklich zu Recht.. was genau soll die mal können? Weil bisher kann sie nicht wirklich viel (Mal davon abgesehen, dass es glaube ist auch nicht besonders Klug ist im Konstruktor etwas zurück zu geben.. )
    3. Allgemein aber für deine Anmelde-Funktion: Schreib Sie neu und mache aus ihr eine Statische Funktion die 2 Parameter ($username, $password) erwartet.
    Es ist nämlich eigentlich nicht so ganz im Sinne der Erfindung gewesen, wenn man in einer Klasse sich dann auf solche Superglobale verlässt. Wir wollen die Klasse später in andere Projekten einsetzten können, ohne das wir an der Klasse selbst ein Zeichen ändern müssen.
    Naja.. In der Funktion überprüfst du dann die Parameter auf ihre Richtigkeit. Bei Erfolg gibst du einen neuen User zurück (return new static();) oder false.


    4. Meinst du mit anwenden wie du deine jetztige Funktion aufrufen solltest? 8|

    PHP
    <span class="syntaxdefault">$user </span><span class="syntaxkeyword">= new </span><span class="syntaxdefault">kunde</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">$user</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">anmelden</span><span class="syntaxkeyword">();<br /><br /></span><span class="syntaxcomment">//::> Meine Statische Methode:<br /></span><span class="syntaxdefault">$user </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">kunde</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">anmelden</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"name"</span><span class="syntaxkeyword">], </span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"pass"</span><span class="syntaxkeyword">]);<br />if(</span><span class="syntaxdefault">$user </span><span class="syntaxkeyword">!== </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">){<br />    echo </span><span class="syntaxstring">'Herzlich Willkommen :)'</span><span class="syntaxkeyword">;<br />} </span><span class="syntaxdefault"></span>

    Meine Variante hat übrigens noch den Vorteil, dass nicht jeder sofort ein "Kunde" is, sondern erst wenn er sich richtig eingeloggt hat :D

    Heyho :)
    Also erst mal.. es ist schon sehr grün und mit dem Orange beißt es sich irgendwo :/
    Außerdem fielen mir die Überschriften (ebenfalls Grün?) erst gar nicht auf und auch das Datum darunter ist ziemlich schwierig zu lesen :/
    Der <h1>-Tag einer Seite sollte immer gleich sein, hier würde sich Oben im Header der Satz "Basilika im Südharz" besonders gut geeignete :)
    <h2> ist dann der Titel der aktuellen Seite usw.. :)
    Wo wir dann übriegns gerade bei dem Satz oben im Header sind, wenn das doch ein Hintergrundbild ist, warum definierst du es dann auch nicht so mittels css als background? :o


    Ansonsten sieht die Code-Qualität ganz gut aus :)
    Weiß nur Leider nicht, warum Outlook sowas macht :/ Ist eben MS^^


    Du könntest vllt den Absätzen eine größere Zeilenhöhe und einen größeren Abstand nach oben und unten geben :)
    Dann wirkt das nicht so gequätscht^^


    Außerdem gliedert man seine (langen) Texte mit Überschriften eigentlich ein (Tipps für Einsteiger). Hier wäre ansosnten eine Aufzählung angebracht, á la "Die 10 wichtigsten.." kommt meistens ganz gut :)


    PS: Ich habe übrigens eine eigene Uhr an meinem Computer, da brauche ich keine im Footer :)
    PPS: Die (fast nicht Sichtbaren) Formualre teste ich gleich mal :twisted:


    Edit: Warum wird dein einmal via Post und einmal via Get Gearbeitet? Und ist das richtig, dass ich Notice angezeigt bekomme?^^
    Ich kenne nun deine Halbe Verzeichnisstruktur :D Außerdem sollte, wenn ich eine E-Mail-Adresse angebe diese doch wenigstens überprüft werden, oder? :/
    Da sehe ich übrigens gerade, dass du gar keine Labels verwendest? :/

    Das soltle man sich doch vorher überlegen, wie man eine Datenbank abfragt, wenn man sie plant..
    wozu sind den bitte die 0-16 link_keyword-Tabellen? O.o


    Da ich leider die Abhänigkeiten nicht genau kenne kann ich dir da nichts genaueres zu sagen :/

    Zitat von &quot;webmaster3000&quot;

    Zu deinem Problem:
    Ich würde es so angehen, dass eine Variable angelegt wird, die du bei jedem angekreutzten Kästchen um 1 hochzählst.
    Zum Schluss überprüft su, ob 2 abgespeichert ist.

    Ich würde das ganze ein wenig anders machen und zwar über ein Array :)

    Code
    <label><input type="checkbox" name="workshop[]" value="Morgens 1" /> 1. Morgens</label>
    <label><input type="checkbox" name="workshop[]" value="Morgens 2" /> 2. Morgens</label>
    <label><input type="checkbox" name="workshop[]" value="Morgens 3" /> 3. Morgens</label>
    ...

    unsere Variabel $_POST["workshop"] ist dein ein Array dessen Einträge wir mit sizeof() einfach zählen können :)

    Spontan würde ich sagen das es an dem . in der ersten [] nicht klappt.
    Setzt da mal bitte ein \ vor, so wird der Punkt nicht mehr als jedes Beliebiges Zeichen gedeutet, sondern als Punkt.


    PS: filter_var() ist an für sich besser für solche Überprüfungen geeignet, da diese Punktion vordefiniert ist.
    Vordefinierte Funktionen sind immer schneller.

    PHP
    <span class="syntaxdefault"></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">filter_var</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"email"</span><span class="syntaxkeyword">], </span><span class="syntaxdefault">FILTER_VALIDATE_EMAIL</span><span class="syntaxkeyword">) !== </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">){<br />    echo </span><span class="syntaxstring">'Valide E-Mail-Adresse'</span><span class="syntaxkeyword">;<br />} else {<br />    echo </span><span class="syntaxstring">'Ungültige E-Mail-Adresse'</span><span class="syntaxkeyword">;<br />} </span><span class="syntaxdefault"></span>

    Moin :)


    Könnte das vllt rein zufällig daran liegen das deine Funktion beitrag_schreiben() nie aufgerufen wird?^^


    Übrigens, direkt schon einmal bitte angewöhnen:

    • Ob man es glaubt oder nicht, es gibt theoretisch einen Standard für das aussehen des Codes. Nach zu lesen ist dieser hier. Gewöhne ihn dir am besten Früh an :)
    • Es sollte niemals eine Funktion geben, die etwas von sich aus ausgibt. Eine Funktion gibt immer nur etwas zurück (via return)
    • $_REQUEST ist veraltet und zu dem auch etwas unsicher. Benutze lieber direkt $_POST (oder ggf. $_GET)
    • PHP
      <span class="syntaxdefault">$neuertext </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">str_replace</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">""</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$_REQUEST</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"></span>

      Kann man mit nl2br()

    • Für den Anfang sind .txt-Dateien gut und schön^^ Zum üben und um zu wissen wie man mit Dateien umgeht, okey. Später aber bitte Datenbanken verwenden :) Geht n bisschen Fixer und ich kann mir den Inhalt nicht direkt ansehen (besonders falls später mal ein PN-System dazu kommt, oder Berechtigungen).


    Das war es dann auch fürs Erste :D Sollte erst mal von meiner Seite aus reichen :)


    Gruß
    Dustin

    Du kannst in deiner Konfiguration oder sonst in deiner Index (halt die Datei, auf die du immer Zugriff hast) einen Salt hinpacken, am besten in eine Konstante.
    Diesen Salt generierst du in dem du 1-3x mit dem Kopf über die Tastatur rollst. Er bleibt immer gleich, dass ist kein Problem, da du ihn ja nirgendwo offen zeigst.
    Die Länge ist eigentlich sogar egal :)