kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Fataler Ausnahmefehler des Typs „MWException“

    geschrieben von kgreen

    Moin,

    bitte in der LocalSettings.php folgende Einträge hinzufügen:

    $wgShowExceptionDetails = true;
    $wgShowSQLErrors = true;

    Anhand des Links kann man nichts erkennen.
    Ein Backtrace zur Fehleranalyse ist hierher und allgemein immer wichtig und aussagekräftiger alles ein Wort “MWException“.
  • in: Internetseite automatisch parsen

    geschrieben von kgreen

    Mir geht es hier nur um die Sichtweise.
    Und die hast du mir gerade bestätigt.
    Genau das war auch meine Annahme, dass es sich um Data-Mining handeln könnte.
    Mir kam der Fachbegriff nicht mehr in den Sinn, danke dafür.
  • in: SOAP einrichten (apache2, php5, debian)

    geschrieben von kgreen

    Kommt wirklich eine "leere Seite" oder wird der Inhalt unterdrückt?
    Was sagen die Log-Dateien beim Aufruf der Seite?

    Mit PHP habe ich es zwar noch nicht versucht, aber mit JAVA und da war meine WSDL fehlerhaft.
    Und dies hat ewig gedauert, da mir der Fehler auch nicht angezeigt wurde.

    Eventuell findest du hier einen Hinweis: http://www.torsten-horn.de/techdocs/java-soap.htm

  • in: Internetseite automatisch parsen

    geschrieben von kgreen

    Kann jemand mit diesen Anforderungen etwas anfangen:

    Erstellung einer automatisierten Internetseitenabfrage (parsen) mit anschließender Speicherung der Daten in einer Datenbank

    Ich stehe damit gründlich auf dem Schlauch.
    Kann das etwas mit CURL sein?
    Ich finde diese Anforderung etwas zu allgemein gehalten, da mir im Moment nur dazu einfällt, dass jemand andere Internetseiten nach Stichworten durchsuchen möchte und bei Treffern werden die Seiten/Inhalte gespeichert.

    Hat von euch schon mal einer eine Internetseite geparst? Ein Parser ist doch nichts anderes als das Umwandeln von Code für die weitere Bearbeitung.
  • in: Erfahrung mit Phonegap / Cordova

    geschrieben von kgreen

    Guten Morgen ggamee,
    vielen Dank für deine ausführliche Beschreibung.
    Kurz vorweg es wird definitiv kein Spiel. Das würde auch den Zeitrahmen sprengen. Und eventuell auch meinen Verstand. :biggrin:

    Ehrlich gesagt bin ich gerade überwältigt von AngularJs.
    Deiner Empfehlung nach habe ich mir doch mal einen Ruck gegeben und mit AngularJs angeschaut.
    Ich bin darüber schon einmal letztes Jahr gestolpert und dachte nur, nicht schon ein wieder ein JavaScript-Framework-Versuch und habe mir scheinbar gleich ein zu großes kompliziertes Script damit angeschaut. Das hat gleich abgeschreckt.
    Aber jetzt ... das 12-minütige Video auf deren Hauptseite ist einfach nur Klasse.
    Seit ich Laravel 4 dieses Jahr entdeckt habe, bin ich von der Vereinfachung der geschweiften Klammern total begeistert.
    Und wie ich jetzt sehe, scheint AngularJs genauso einfach aufgebaut zu sein.

    Wenn ich mir jetzt mein letztes Projekt vorstelle, wie ich mühselig mit jQuery und purem JavaScript mich abgequält habe ... oh weia.
    Naja so etwas muss einfach schmerzen.

    Danke für deine Erklärung.

    Ich konnte jetzt zwar nicht entnehmen, ob Phonegap und AngularJs sich vertragen, aber das finde ich schon heraus.
    Auch weiß ich jetzt noch nicht, wie groß AngularJs ist im Vergleich zu jQuery, sprich Dateigröße, aber auch das werde ich rausfinden können. :smile:

    Klasse Hilfestellung. :thumb:

    BTW:
    Offtopic:
    Mit LoL, gerade auf deiner Seite gelesen, hast du vollkommen recht.
    Treu seit 3 Jahren.
  • in: Erfahrung mit Phonegap / Cordova

    geschrieben von kgreen

    Habt ihr schon Erfahrung mit Phonegap / Cordova sammeln können?
    Mich würde interessieren, ob der Einstieg, sofern man aus der Webentwicklung kommt, steil oder doch eher einfach ist.

    Ich schwanke zwar noch ein wenig mit jQuery Mobile, aber ich habe bisher noch keinen Vergleich zu Phonegap gefunden.
    Kurz gesagt es geht bei mir um die Abschlussarbeit meines Studiums und ein Konzept für die App steht auch schon.
    Und da Phonegap sich scheinbar prächtig entwickelt habe soll, würde ich gerne von einer nativen App absehen und gleich eine plattfomunabhängige Version erstellen.

    Sollte jemand noch Alternativen für eine plattformunabhängige Erstellung von Apps haben, immer her damit.
    Interessante Links sind natürlich auch gerne gesehen, falls ihr für eure Apps Lieblingsseiten habt.
  • in: Weiterbildung / Mit 28 nochmal Schulbank drücken

    geschrieben von kgreen

    Sofern die Möglichkeit und das passende Eigenkapital vorhanden sind, würde ich das auch jedem empfehlen.
    Es geht hier nicht um Ruhm und Ehre, was so nebenbei gesagt eine völlig unpassende Aussage ist.
    Vielmehr geht es um die eigene Verwirklichung aber auch um mehr Sicherheit für Zukunft.
    Eine Garantie auf einen besseren Job gibt es nicht, aber die Möglichkeiten steigen dadurch.

    Ich selbst habe vor einigen Jahren auch nocheinmal angefangen ein Fernstudium zu beginnen.
    In meinem Fall aber auch deshalb, da ich mein damaliges Hauptstudium aus finanziellen und familiären Gründen abbrechen musste.
    Mittlerweile bin ich fast Mitte 30 und ja es ist nicht einfach sich jeden Tag dafür zu motivieren. Zum Glück habe ich eine liebevolle Frau, die mich dabei unterstützt.
    Denn meine Perspektiven sind in einer Kleinstadt, wie bei uns, äußerst eingeschränkt.
    Von daher hat es sich einfach angeboten neben der Arbeit nochmal zu studieren, um hier entfliehen zu können.
    Durch genügend Eigenkapital konnten wir es auch seit einem Jahr aushalten, dass ich nur noch studiere, um den Abschluss Ende diesen Jahres schneller erreichen zu können.

    Also lass dich nicht entmutigen. Du bist damit nicht alleine und ich kann aus eigener Erfahrung sagen, Hut ab wer das durchzieht.
  • in: Array Element löschen und andere nachschieben.

    geschrieben von kgreen

    @czibere
    Davon mal abgesehen, dass mir deine Lösung besser gefällt,
    habe ich keinen Fehler bei nemoinho's Skript.
    Weder lokal noch bei jsfiddle.net oder codepen.io
  • in: HTML zu Plain-Text umwandeln

    geschrieben von kgreen

    Jupp, eine Idee hätte ich.
    Wie wäre es die HTML-Mails gleich als Plain-Text zu schreiben? :wink:

    Verstehe ich das so, dass du die E-Mails schon bei dir rumliegen hast und sie jetzt für Geräte, die kein HTML verstehen, umschreiben willst?
    Alles andere begreife ich sonst nicht, denn einfacher wäre es die E-Mails als reine Textmails zu schreiben.
    Du merkst nämlich schon selber, dass es da nicht nur einen sondern etliche Probleme gibt, die du beim Filtern der Tags erst einmal umschreiben musst.

    A HREF sind gekapselte Tags, da wird es umso komplizierter diese zu zerlegen, wenn du an die wichtigen Infos heran willst.
    Deine Aktion "HTML-TAGs zu Plain-Text" killt diese Links natürlich.
    Also musst du vor dieser Aktion sämtliche A HREFs finden und befreien.
    Du könntest, sofern der Aufbau immer gleich ist, nach "<a href=" suchen und löschen bzw. mit " " ersetzen.
    Oder du schreibst dir eine separate Funktion für die A HREFs.
    Allerdings liest diese Funktion dann den HTML-Code zeilenweise ein.
    Bei einem Treffer, wenn du ein "<a href" gefunden hast, verwendest du folgende Funktionen
    - substr
    - strrpos
    um die Bereich nach z.B. Anführungszeichen und ">" zu suchen und dann alles außer der URL und der Beschreibung zu löschen.
  • in: Herausfinden des abstand zwischen zwei Positionen mit PHP

    geschrieben von kgreen

    Innerhalb eines "echo" kannst du kein IF-ELSE setzen.
    Wenn dann nur einen "ternären Operator".

    Aber wie suge schon gesagt hast, breche das mal lieber in lesbare Zeilen um.
    Und mache dir erst einmal selbst den Gefallen und lerne die Basics.
    Du schreibst, wie Kraut und Rüben wachsen.
    Das ist schon ein wenig gruselig.
    Jeder fängt mal mit dem Laufen an, aber du versuchst schon zu rennen und das Ergebnis zeigt sich hier.

    Wirklich zu empfehlen wäre Codecademy.
    Die bieten mittlerweile auch PHP an, somit lernst du zumindest den Aufbau.
    Codecademy PHP

    $image = '';
    
    if (file_exists('images/' . $row['name'] . '.png') == true)
    {
        $image = $row['name'];
    } else {
        $image = 'Playerself';
    }
    
    echo '<img src="images/' . $image . '.png" style="position:absolute; left:' . $row["posx"] . '; top:' . $row["posy"] . '; width:32px;" />';

  • in: Herausfinden des abstand zwischen zwei Positionen mit PHP

    geschrieben von kgreen

    Und wir sollen jetzt raten was dort passiert?
    Genau wie die IF-Funktion kann ich jetzt auch nur sagen: true / false


    Was heißt denn bitte "Aber das geht nicht richtig"?

    Wenn ich mal fiktive Werte einsetze:
    Player (1,1)
    Zombie(3,2)
    Dann ergibt deine Bedingung:
    (1 - 3) + (1 - 2) < 5 = true
    Und nu? Für mich funktioniert die Abfrage.
    Das Problem ist eher, dass wir nicht wissen was du uns fragen willst.

    Sollte das eine Ermittlung der Entfernung sein, komme ich im Moment noch nicht hinter diese Logik.
    Denn ausgerechnet kommt dort oben -3 heraus.
    Das Einzige was ich daraus ableiten könnte, wäre, dass der Zombie noch 3 Felder entfernt ist, bevor er auf dem Feld des Spielers steht.
    Vorausgesetzt er kann nur horizontal oder vertikal laufen.
    Aber das ist jetzt mal reine Spekulation.
  • in: Javascript Canvas Kreisdiagramm

    geschrieben von kgreen

    Bei mir kommt da leider gar nichts.
    Eventuell habe ich auch etwas vergessen zu kopieren.

    Aber vielleicht kommst du damit besser zurecht:
    http://www.selfhtml5.org/canvas/tortendiagramm
  • in: while() rückwärts

    geschrieben von kgreen

    Ein einfaches
    $query = mysql_query("SELECT * FROM raspberry_data ORDER BY id LIMIT 30");

    hätte auch gereicht.
    ASC ist Standard also kann es weggelassen werden.
    Und eine Begrenzung, wenn man die letzten oder die ersten 30 Treffer braucht, ist auch unnötig.
    Von daher reicht die Anzahl der Treffer.
    Aber man es natürlich auch komplizierter basteln. :wink:
  • in: Text Durch Zeilenumbruch AUSSERHALB container

    geschrieben von kgreen

    Na denn. Manchen ist halt leider nicht zu helfen.
    Wir möchten dir ja helfen, aber ohne Einblick in dein Konstrukt geht das einfach nicht.

    Das nowrap ist keine Abhilfe für dein Problem, sondern nur ein kleiner Workaround. Kurz gesagt schmuh.
  • in: Text Durch Zeilenumbruch AUSSERHALB container

    geschrieben von kgreen

    Da ja alles flexibel laufen soll, ist ein nowrap oder nobr ja eine künstliche Hilfe.
    So wie ich das verstande habe, soll sich der Container soweit ausbreiten können wie es das Layout zulässt.
  • in: Text Durch Zeilenumbruch AUSSERHALB container

    geschrieben von kgreen

    Ok, dann können wir Vererbung ausschließen.

    Wie gesagt, für sich alleine macht der Container genau das was er soll. Da gibt es bei mir keinerlei Probleme.

    Da du aber Verschachtelungen hast, sind diese auch dafür verantwortlich wie sich eingeschlossene Elemente zu verhalten haben bzw. wie sie begrenzt werden.

    Ohne weiteren Quelltext wird dir hier keiner eine Hilfestellung geben können.
    So gut sind unsere Glaskugeln noch nicht.
  • in: Text Durch Zeilenumbruch AUSSERHALB container

    geschrieben von kgreen

    Das Problem lässt sich so aber nicht nachbauen. Es fehlen Infos über andere Formatierungen, die wahrscheinlich dieses DIV überschreiben oder beeinflussen.

    Wenn ich mit diesen Angaben einen DIV Container mit Text fülle und die CSS Eigenschaften hinzufüge, kann ich haufenweise Zeichen eintippen sogar mit Leerzeichen.

    Ohne mehr von dem Code zu sehen, wird es unmöglich das nachzubauen. Meine Vermutung ein anderer Container oder eine andere CSS Eigenschaft verursacht das Problem.
  • in: For loop event listener

    geschrieben von kgreen

    Freut mich. :thumb:
    Hat Spaß gemacht.
  • in: For loop event listener

    geschrieben von kgreen

    Ok, das sieht schon nach mehr aus.
    Das Problem liegt an der einmaligen Aktion mit "window.onLoad".

    Du legst zwar einen EventListener an, aber er wird nur einmalig beim Seitenaufruf gestartet.
    Fügt man nun weitere Elemente hinzu interessiert das den EventListener nicht.

    Jetzt macht die id = 0 auch Sinn.

    Folgendes passiert hier:
    - Die Seite wird aufgerufen und HTML stellt zwei DIV-Container bereit.
    - JavaScript führt die add-Funktion aus und füllt den ersten Container mit Leben.
    - Anschließend führt JavaScript die addListeners-Funktion aus.
    - addListeners läuft genau einmal durch, da ja nicht mehr Elemente angelegt wurden.
    - Fügt man mit der grünen Schältfläche ein neues Element hinzu, wird erneut die add-Funktion gestartet und erstellt einen neuen Container.
    - Das war's.

    addListeners wird hier "nie" wieder aufgerufen. Von daher weiß dein Listener nichts von weiteren Elementen.

    Du kannst dir die zusätzliche Funktion addListeners sparen und den Code einfach an das Ende deiner add-Funktion anhängen.
    Auf jeden Fall muss bei jedem add() auch der Listener erneut aufgeführt werden.
    Von daher lass die for-Schleife weg und hänge einfach nur die Zeile mit dem addEventListener an das Ende der add-Funktion.

    So nebenbei sieht das ganz nett aus. Gefällt mir.
  • in: For loop event listener

    geschrieben von kgreen

    Dann möchte ich einfach mal vermuten, dass bei dir noch etwas anderes, was du uns hier nicht gezeigt hast, deinen Code beeinflusst.
    Mein Beispiel funktioniert und kannst du hier online testen:
    http://codepen.io/Tipo/pen/IoKFz

    Weitere Hilfe ist dann nur möglich, wenn du dein drum herum zeigst oder zum Beispiel auch bei CodePen hochlädst, damit wir uns das anschauen können.
    jsfiddle ist auch eine Alternative. Oder irgendeine andere Seite.
  • in: eintrag aus json feed per PHP ausgeben

    geschrieben von kgreen

    stargate schrieb:
    Deshalb weiß ich nicht wie ich die wichtigen Daten aus diesem dynamischen array holen soll.

    Mit einer Schleife!
    for, foreach, while, do while
    Such dir eine aus. :biggrin:
    Dafür sind diese Funktionen da, um Arrays auszugeben und/oder zu durchsuchen.

    Und wenn du beim Durchlaufen der Schleife deine Lieblingsfeuerwehr nicht findest, dann gibt es auch keinen Einsatz.

    Edit
    Ein Beispiel, dass man natürlich noch etwas eleganter und schneller umsetzen könnte:
    $json = '{"webext2":true,"version":"1.1","title":"laufende Eins\u00e4tze","pubDate":"Fri, 11 Oct 2013 09:32:01 +0200","cnt_einsaetze":2,"cnt_feuerwehren":2,"einsaetze":{"0":{"einsatzkopf":{"num1":"E131000416","einsatzort":"RI - LAMBRECHTEN","startzeit":"Fri, 11 Oct 2013 09:31:04 +0200","inzeit":"","status":"offen","alarmstufe":1,"einsatzart":"TEE","einsatztyp":{"id":"DISP","text":"DISPOSITION"},"einsatzsubtyp":{"id":"SONSTIGE","text":"TECHNISCHER EINSATZ"},"bezirk":{"id":8,"text":"Ried"},"wgs84":{"lng":13.515152320124,"lat":48.318263212805},"cntfeuerwehren":1,"feuerwehren":{"0":{"feuerwehr":"FF Lambrechten"}}}},"1":{"einsatzkopf":{"num1":"E131000415","einsatzort":"WL - GUNSKIRCHEN","startzeit":"Fri, 11 Oct 2013 08:38:28 +0200","inzeit":"","status":"offen","alarmstufe":1,"einsatzart":"TEE","einsatztyp":{"id":"TK","text":"TECHNISCHER EINSATZ KLEIN"},"einsatzsubtyp":{"id":"OELSPUR","text":"\u00d6LSPUR, \u00d6LAUSTRITT"},"bezirk":{"id":14,"text":"Wels-Land"},"wgs84":{"lng":13.942880427597,"lat":48.131886854817},"cntfeuerwehren":1,"feuerwehren":{"0":{"feuerwehr":"FF Gunskirchen"}}}}}}';
    
    $jsonArray = json_decode($json, true);
    if (array_key_exists('einsaetze', $jsonArray))
    {
      echo 'Folgende Eins&auml;tze sind vorhanden:<br />';
      
      foreach($jsonArray['einsaetze'] as $einsatzkopf)
      {
      	foreach($einsatzkopf as $einsatz)
    	{
    		foreach($einsatz as $key => $value)
    		{
    			echo $key . ' : ' . $value . '<br />';
    		}
    	}
      }
      
    }


    Teste es hier nochmal, um zu sehen, was es ausgibt:
    http://writecodeonline.com/php/
  • in: eintrag aus json feed per PHP ausgeben

    geschrieben von kgreen

    Und wo ist jetzt genau das Problem?
    Du hast doch schon eine Lösung mit dem Array vorgestellt.
    $json = '{"webext2":true,"version":"1.1","title":"laufende Eins\u00e4tze","pubDate":"Fri, 11 Oct 2013 09:32:01 +0200","cnt_einsaetze":2,"cnt_feuerwehren":2,"einsaetze":{"0":{"einsatzkopf":{"num1":"E131000416","einsatzort":"RI - LAMBRECHTEN","startzeit":"Fri, 11 Oct 2013 09:31:04 +0200","inzeit":"","status":"offen","alarmstufe":1,"einsatzart":"TEE","einsatztyp":{"id":"DISP","text":"DISPOSITION"},"einsatzsubtyp":{"id":"SONSTIGE","text":"TECHNISCHER EINSATZ"},"bezirk":{"id":8,"text":"Ried"},"wgs84":{"lng":13.515152320124,"lat":48.318263212805},"cntfeuerwehren":1,"feuerwehren":{"0":{"feuerwehr":"FF Lambrechten"}}}},"1":{"einsatzkopf":{"num1":"E131000415","einsatzort":"WL - GUNSKIRCHEN","startzeit":"Fri, 11 Oct 2013 08:38:28 +0200","inzeit":"","status":"offen","alarmstufe":1,"einsatzart":"TEE","einsatztyp":{"id":"TK","text":"TECHNISCHER EINSATZ KLEIN"},"einsatzsubtyp":{"id":"OELSPUR","text":"\u00d6LSPUR, \u00d6LAUSTRITT"},"bezirk":{"id":14,"text":"Wels-Land"},"wgs84":{"lng":13.942880427597,"lat":48.131886854817},"cntfeuerwehren":1,"feuerwehren":{"0":{"feuerwehr":"FF Gunskirchen"}}}}}}';
    
    echo '<pre>';
    var_dump(json_decode($json, true));

    Kopiere den oberen Bereich mal hier hinein
    http://writecodeonline.com/php/
    Du siehst im Array den Bereich "einsaetze" und genau dort springst du dann rein zum Auslesen.
    Bau dir eine Schleife und lese alle Werte von "einsaetze" aus und schreibe nur die wichtigen Infos in dein Template.
  • in: Ich hab ein problem ich möchte prüfen Username vergeben ist.

    geschrieben von kgreen

    Netter Versuch, aber wo bleibt denn dann der Spaß und der Lerneffekt? :wink:
    Das schaffst du schon selber.
    Zudem habe ich dir doch alle Schritte dargestellt.
    Und wenn ich jetzt nicht vermuten sollte, dass du alles zusammengeklaut hast, und den Code bisher selber geschrieben und verstanden hast, dann sind diese Änderungen kein Problem.
    Außerdem hilft es dir nicht die Basics von anderen machen zu lassen.

    Und noch ein Tipp, suche dir lieber mal ein aktuelleres Video wenn du zum Lesen keine Lust hast.
    Ich habe mir zwei Videos zu deinem Login Skript im Schnelldurchlauf angeschaut und war nicht so sehr davon begeistert, da es zum Einen noch auf HTML 4 basiert und zum Anderen sehr rudimentär ohne Erklärung behandelt wird.

    Viel Erfolg!
  • in: For loop event listener

    geschrieben von kgreen

    Es liegt hierbei an dem Scope von ID, denn beim Durchlauf der Schleife steht am Ende
    diese Abfrage bei dir:
    document.getElementById('minus3).addEventListener("click", c, false);
    document.getElementById('minus3).addEventListener("click", c, false);
    document.getElementById('minus3).addEventListener("click", c, false);
    document.getElementById('minus3).addEventListener("click", c, false);

    In deinem Fall ist ID nämlich die letzte Zahl, da sie global ist.
    Das Problem ist der Gültigkeitsbereich von ID.

    Wenn du das genauer nachlesen möchtest, es nennt sich function expressions:
    http://kangax.github.io/nfe/

    Du musst den Gültigkeitsbereich verändern, in dem du deine Funktion kapselst.
    So funktioniert es:

    // HTML
    <a href="" id="minus0">Minus0</a>
    <a href="" id="minus1">Minus1</a>
    <a href="" id="minus2">Minus2</a>
    <a href="" id="minus3">Minus3</a>
    
    //JavaScript
    var Arr = ['eins','zwei','drei','vier'];
    for(var id=0; id < Arr.length; id++){
      (function(id) {
        document.getElementById('minus'+id).addEventListener("click", function() { handler(id); }, false);
      }(id));
    }
    function handler(id){
        //console.log(id);
        alert(id);
    }



  • in: For loop event listener

    geschrieben von kgreen

    Wie groß is "id" bei dir?
    Beziehungsweise wie groß ist "Arr"?
    Wenn es nur bei 0 funktioniert, sieht es so aus, als deine Schleife nur einmal durchläuft.
    Existieren sollte das Element, denn sonst würde ein Fehler aufkommen. Nur wenn Arr existiert und nicht gefüllt wurde, ist es "0" und somit läuft die Schleife auch nur genau ein mal.
  • in: twitter oauth ohne curl

    geschrieben von kgreen

    Ohne dir den Spaß daran nehmen zu wollen, aber das ist schon sehr sehr speziell.
    Hast du schon in den Discussions bei Twitter Developers einen Beitrag eröffnet?

    Wenn du bei Google nach "Twitter without curl" suchst, kommt dieser Beitrag:
    http://foren.activevb.de/forum/webentwicklung/thread-265/beitrag-266/Twitter-OAuth-using-PHP-without/
    Derjenige scheint dein Problem glücklicherweise gelöst und geteilt.
  • in: AJAX Chat - Zugansdaten MySQL verschlüsseln?

    geschrieben von kgreen

    Das hört sich noch nicht so überzeugend an. :slant:

    Du hast es ja auch schon selber geschrieben, dass du "die Daten auf den Webspace hochlädst".
    Wie lädst du diese Daten hoch?
    Mit einem FTP-Programm, das mit "deinen" Zugangsdaten eingestellt wurde.
    Ergo kannst auch nur du auf diesen Webspace zugreifen.

    Das Chat-Programm "blueimp" liest diese Zugangsdaten aus, um sich mit deiner Datenbank verbinden zu können.
    Und nicht um diese Daten in die Welt zu posaunen. In diesem Fall hättest du dich bestimmt nicht für diese Chat-Software entschieden.

    Dein Vorhaben, das Passwort zu verschlüsseln, hätte auch gar keinen Erfolg, da das Passwort zur Gegenprobe in der Datenbank ebenfalls verschlüsselt ist.
    Angenommen dein Passwort lautet:
    Blumenbeet
    Der MD5 Hashwert dafür lautet:
    9cc42687a13db231daaf2d22a5623486
    Und dieser Wert steht in der Datenbank, damit ihn auch keiner lesen kann, der mal zufällig darin rumstöbert.
    Vom Ablauf ist es so:
    - Blueimp möchte sich mit der Datenbank verbinden, dafür liest es dein Passwort in der config-Datei im Klartext aus.
    - Jetzt baut Blueimp mit deinen Zugangsdaten eine Verbindung zur Datenbank auf, aber nicht mit dem Passwort im Klartext,
    sondern als MD5-Hashwert. Das heißt bei der Übertragung wird dein Passwort so übergeben "md5('Blumenbeet')".
    - Die Datenbank vergleicht jetzt, ob die beiden Hashwerte übereinstimmen und gibt bei Übereinstimmung grünes Licht und stellt die Verbindung her.
    Verschlüsselst du dein Passwort, versucht Blueimp das verschlüsselte Passwort nochmals verschlüsselt zu übertragen, um eine Verbindung herstellen zu können. Das wird natürlich nicht funktionieren.

    Also es ist schon alles so sicher, wie es sein soll.
  • in: Titel zur Rewrite URL umwandeln?

    geschrieben von kgreen

    Hast du eine andere Möglichkeit als eine CSV-Datei?
    Das ist schon sehr unkonventionell.
    Wie hackyourlife schon geschrieben hat, wäre eine .htaccess da schon sinnvoller.
    Als Beispiel:
    RewriteEngine on 
    RewriteRule ^viele-buecher-lesen-macht-schlau.html seite.php?id=1234
    RewriteRule ^reflektieren-macht-schlau.html seite.php?id=5678

    So kannst du deine Liste erweitern und die aufgerufene URL wird an die hinten stehende Adresse weitergeleitet ohne das der Besucher davon etwas mitbekommt, da die URL im Browser stehen bleibt.

    Alternativen:
    - Alle Links in einer Datenbank abspeichern und diese abfragen.
    - Alle Links in ein Array speichern und abfragen:
    $urlRewrite = array(
      'viele-buecher-lesen-macht-schlau.html' => 1234,
      'reflektieren-macht-schlau.html' => 5678,
    );

    Dieses Array kann dann auch für die Erstellung der Navigation hinhalten, indem man es vielleicht noch erweitert mit Linkname, CSS usw.
  • in: Ich hab ein problem ich möchte prüfen Username vergeben ist.

    geschrieben von kgreen

    Dein Code ist noch etwas konfus, aber es scheint ja zumindest ein wenig zu funktionieren.
    Irgendwie fehlt mir ein Formular bei dir.
    In deiner Version bist du schon im "zweiten" Schritt, d.h. du hast scheinbar schon ein Formular abgeschickt, in dem du nach dem Vor- und Nachnamen gefragt hast.
    Warum so umständlich? Lass doch alles in einem Schritt durchlaufen, in dem du gleich alle Daten abfragst und dann validierst.

    1. Alle Daten in einem Formular eingeben und mit POST abschicken.
    2. Abfragen, ob leere Felder bzw. Pflichtfelder vergessen wurden.
    Wenn ja, Formular erneut anzeigen und die eingetragenen Felder wieder befüllen:
    <input type="text" name="vorname" value="<? echo $_POST['vorname'] ?>" placeholder="Bitte den Vornamen eingeben.">

    3. Wenn alle Pflichtfelder ausgefüllt wurden, dann prüfe mit MySQL SELECT, ob der "Username" schon existiert.
    Username existiert, dann gebe das Formular erneut aus mit dem Hinweis z. B. "Username ist schon vergeben".
    4. Username existiert noch nicht, dann speichere alle Eingaben in der Datenbank.

    Sollte nicht so schwer sein.
    Eventuell die Fallunterscheidungen, aber die kannst du dir einfacher mit "else if" lösen, in dem du Flags benutzt.
    Als Beispiel:
    Du legst dir ein paar Variablen an, die entweder true oder false anzeigen.
    Und zwar bei der ersten Prüfung, ob alle Formularfelder ausgefüllt worden sind, setzt du eine Variable "$emptyFields = true"
    und in der IF-Abfrage, brauchst du dann nur nach
    if ($emptyFields)
    fragen, anstatt
    if ($_POST['vorname'] == "" || $_POST['nachname'] == ""])


    Beim Username machst du dann dasselbe z. B. "$userNameExists = true", so dass es dann so aussieht:
    if ($userNameExists)


    Edit
    Ok, jetzt habe ich es erst verstanden.
    Du übergibst im Formular eine ID, in diesem Fall "id=2", um den zweiten Schritt mit dem nächsten Formular zu machen.
    Würde ich weglassen und alles in einem Formular abfragen.
    Du fragst ja keine 30 Felder ab, sondern nur ca. 4-5 Felder.
    Damit verkomplizierst du das für deinen Anfang viel zu sehr.
    Denn wenn du schon einen Anmeldvorgang in 5 Schritten oder wie weit auch immer durchführen möchtest, solltest du lieber eine SESSION mit PHP starten, um deinen Vorgang zu speichern. Somit kannst du später auch mal schnell wieder ein paar Schritte zurückspringen und die Daten stehen noch alle in der Session.
  • in: Template System mit Platzhalter oder direkt PHP

    geschrieben von kgreen

    Wenn du damit etwas lernen willst, dann versuche beides.
    Wenn du aber keine Zeit hast etwas umzusetzen, dann nimm doch lieber erprobtes:
    http://www.smarty.net/
  • in: Include ist dumm?

    geschrieben von kgreen

    Wenn ich das so lese, dann frage ich mich:
    Warum fährt mein Auto ständig links herum?
    a) Mir fehlt links ein Rad.
    b) Ich befinde mich gerade in einem Kreisel.
    c) ...

    Eventuell mag dir jetzt auffallen, dass unser "Glaskugelmodus" nur an besonders nebeligen Feiertagen funktioniert.

    Wie wäre es wenn du deine (vermeintlich) identischen Dateien hier einstellst, damit wir dein Phänomen direkt betrachten können?

    Aber um der Glaskugel doch eine Chance zu geben, du wirst in deinen inkludierten Dateien etwas anderes stehen haben, dass diesen Versatz auslöst. Und sei es, dass es eine falsch geschriebene oder andere CSS-Klasse ist.

    Im Übrigen solltest du bei einmal inkludierten Dateien besser das "require_once" verwenden, das verhindert zumindest mehrfaches ungewolltes einfügen.
    Und ich stimme menschle auch zu, du solltest sinnvolle Dateinamen verwenden und nicht zweimal "header". Wenn in der ersten Header.php nur "charset und co." stecken, dann wäre evtl. meta.php sinnvoller oder zumindest das, was es wiedergibt.
  • in: Sprunganker fest in Bildschirmecke platzieren

    geschrieben von kgreen

    Zu dem position fehlt noch ein bottom:
    position: fixed;
    bottom: 0;
  • in: Ungewollter Zeilenumbruch

    geschrieben von kgreen

    Jupp, Blindflüge sind immer uncool. :biggrin:
    Bei Hilfe bitte auch immer etwas mehr Code liefern, da es ja offensichtlich ist, dass der Fehler aus dem Formular kommt.

    Ich hoffe mal nicht im Code etwas zu finden, dass mutwillig new lines erzeugt.
    Von daher, sollte deine Eingabe im Formular ja auch Zeilenumbrüche enthalten, so wie in der Ausgabe hier.

    Aber da du ja scheinbar keine Zeilenumbrüche möchtest, dein Formular aber welche liefert, kannst du mit folgender Funktion diese ungewollten "\n" wieder entfernen oder ersetzen:
    $ul = "\\nDavid\\nKevin\\n";
    echo str_replace('\\n','<br />',$ul);

    Anstatt dem "<br />" kannst du einen leeren Bereich mit "" übergeben bzw. ersetzen.

    Edit:
    Und genau da ist schon der Fehler:
    wrap="virtual"

    Du solltest eigentlich schon wissen wofür die einzelnen Attribute einsetzt.
    Schau dir das mal dazu an, was dein Attribut verursacht:
    http://de.selfhtml.org/html/formulare/eingabe.htm#bereiche_umbruch

    Entferne das Attribut und du brauchst keine zusätzliche Bereinigung durchführen.

    Edit 2:
    Mir lässt das ja keine Ruhe.
    Woher hast du dein Formular?
    Oder anders gefragt von welcher Quelle lernst du HTML?
    Dieses 'wrap="virtual"' ist beinahe so alt wie das Internet selbst und ist schon seit Ewigkeiten nicht mehr konform und auch kein Standard und war es zum Glück auch nie. Eine Textarea bricht von alleine den Text bzw. die Zeilen um, dass muss nicht noch künstlich angedroht werden.
  • in: Alternative zu PHP mail() ?

    geschrieben von kgreen

    bginfo schrieb:
    Hallo

    kann man als Alternative vielleicht eine neue Email-Nachricht (per POP3)
    an den SEND Ordner (wie heisst der genau?) in seiem -Mail Postfach senden ?

    also micht mit mail(), sondern die Email als "zum Versenden" an Postfach übermitteln
    per PHP Funktion imap bei einer POP3 Verbindung ... ist das Möglich? .. wenn ja, wie ?

    Möglich ist vieles, vor allem aber ein verständlicher Satzbau wäre nicht nur möglich, sondern auch wünschenswert.
    Meine Güte, warum schreiben hier einige Beiträge, für die man studieren muss, um sie zu verstehen?

    Also mit zwei mal klicken hättest du es auch rausgefunden, wenn du nach "PHP IMAP" suchst/googelst.
    http://php.net/manual/de/book.imap.php
    Hier findest du sämtliche Funktionen von PHP für IMAP.

    Aber die helfen dir nicht weiter, da du das Prinzip noch nicht verstanden hast.
    Um eine E-Mail versenden zu können, reicht es nicht aus den Text einfach in dein Postfach zu legen, diese E-Mail dann in den Postausgang verschieben und dein Postfach formatiert mal ebenso deine E-Mail, da es ja genau was du vorhast.
    Das wäre toll wenn das irgendwann mal so einfach sein sollte.

    Also auch mit IMAP musst du deine zu versendene E-Mail mit den richtigen Parametern ausstatten, damit sie anstandslos verschickt und empfangen werden kann.
    Ein hin- und herschieben in deinen Postfächern hilft dir dabei nicht weiter.
    Falsche und/oder fehlerhafte Header landen beim Empfänger ganz einfach im SPAM-Ordner.

    Es sieht vielleicht auf den ersten Blick kompliziert aus, wenn man den Header selber setzen muss. Ist es aber nicht, sofern ihr euch ein Tutorial dazu anseht und es nachbaut. Erweitern kann man immer, aber erstmal den Grundaufbau verstehen und übernehmen, dann klappt es auch mit dem Versenden.
    https://www.google.de/#q=php+mail+header+tutorial
  • in: Weiterleitung Script

    geschrieben von kgreen

    Wie groß ist dein Projekt?
    Ist es "noch" ein Hobby oder wird das mal etwas, was länger Bestand haben sollte?

    Such bei Google einfach mal nach "PHP Routing". Du kannst auch noch "Tutorial" hinten dran hängen.
    Ziemlich am Anfang findest du ein kleines Tutorial, ca. 19 Minuten, wie man sich ein kleines Routing in PHP selber bastelt, wenn man kein Framework verwendet.

    Sollen da evtl. noch mehrere Routen hinzukommen?
    Egal wie, ich würde lieber jetzt damit anfangen, dass ganze auf stabile Beine zu bekommen, bevor du dich nachher tagelang mit dem Umbau beschäftigen musst.
  • in: Weiterleitung Script

    geschrieben von kgreen

    hackyourlife schrieb:
    Das ist vollkommen unnötig und mit einer einfachen
    .htaccess
    -Datei mit geeigneten Regeln sehr viel einfacher möglich.

    Das ist aber eher die Ausnahme als die Regel. In keinem unserer Projekte der letzten Jahre haben wir jemals eine .htaccess mehr zu tun gegeben, als nötig.
    Selbst kleinste Projekte mit nur zwei oder drei Controllern haben ein Routing über PHP erfahren.

    Ich will damit nicht sagen, dass es falsch ist, deine Lösung funktioniert übrigens so wie du sie angeschrieben hast. Die erste Regel fällt selbstverständlich durch, aber die Zweite leitet auf das definierte Verzeichnis um. Aber auch wenn es einem nicht zusteht hier jemanden zu belehren, es hilft ihm für die Zukunft nicht viel weiter solch einen Workaround anzuwenden.

    Wenn es nur ein Hobby ist ... dann bin ich jetzt ruhig, aber sollte es mal etwas ernsteres werden, dann bitte lieber Routing mit PHP anschauen.
    Ich will ja nur nicht, dass der Junge auf die schiefe Bahn gerät. :biggrin:
  • in: Alternative zu PHP mail() ?

    geschrieben von kgreen

    PHPMailer ist auf jeden Fall eine gute Möglichkeit aber keine Alternative.
    PHP kennt nur mail() für den Versand von E-Mails. PHPMailer hat nur alle Optionen korrekt eingestellt, um den Versand reibungslos zu gestalten, aber es benutzt ebenso von PHP die mail() Funktion. ;-)
    Anhand der Frage würde ich eher vermuten, dass das Einbinden und verstehen von PHPMailer evtl. zu kompliziert ist.
    Von daher würde ich empfehlen, schau dir mal deinen Header an, den du mit mail() gebastelt hast.
    Und alternativ schau dir mal einen Header von einem seriösen Anbieter an, der dich in letzter Zeit angeschrieben hat.

    Das E-Mails im Spam landen liegt zu 90% an einem fehlerhaften Header nicht an mail() selbst.

    Verschicke mal mit der E-Mailadresse eine Nachricht, z. B. aus deinem Webmailer oder einem Client heraus, an denjenigen, der dich im Spam-Ordner gefunden hat. Sie wird definitiv ankommen, es sei denn deine Mailadresse selber ist als Spam in einer Blacklist eingetragen.
  • in: Wenn ich mich einloggen möchte kommt die Fehlermeldung.:-(

    geschrieben von kgreen

    1. Es wäre ganz nett wenn du Hilfe haben möchtest, dann lass uns bitte nicht "Zeile 25" erst suchen, sondern mache wenigstens einen Hinweis wo sie trotz Zeilenumbrüche zu finden sei.

    2. EOT weglassen.
    Dann sieht der SQL-String so aus:
    $sql = '
    SELECT 
      id, nutzername, vorname, Account
    FROM 
      nutzer
    WHERE 
      nutzername = ' . $nutzername . ' AND 
      passwort = SHA(' . $passwort . ');'


    Alternativ um SQL-Injection vorzubeugen:
    $sql = sprintf("
    SELECT 
      id, nutzername, vorname, Account
    FROM 
      nutzer
    WHERE 
      nutzername = '%s' AND 
      passwort = SHA('%s'),
    mysql_real_escape_string($nutzername ),
    mysql_real_escape_string($passwort )
    ");


    3. Du erwartest ein TRUE nach deinem SELECT in der folgenden Zeile:
    if (mysqli_num_rows($daten) == 1) {

    Was aber wenn es dann plötzlich ein FALSE wird? Dein IF-ELSE fängt das FALSE nicht ab.
    Das passiert nämlich hier. Deine Fehlermeldung sagt dir, dass ein Boolean zurückgegeben wurde.
    MYSQLI_QUERY() gibt bei einem erfolgreichen SELECT eine RESOURCE zurück, bei einem Fehler ein FALSE.
    Versuche es stattdessen mit MYSQL_AFFECTED_ROWS() oder MYSQL_RESULT().
  • in: Weiterleitung Script

    geschrieben von kgreen

    Da will ich dir mal keine Hoffnung machen.
    Erstens geht das nicht ohne einen Frame zu benutzen.
    Und selbst wenn, was soll das bringen?
    Warum soll der Besucher nicht die URL sehen?
    Entschuldige, aber das macht alles keinen Sinn mit dieser Geheimniskrämerei.

    Wie gesagt, wenn du das mit vernünftigen Routen löst z. B. über die oben genannten Frameworks oder indem du dir selber einen Controller schreibst, der dieses Routing übernimmt, kannst du deine Inhalte entsprechend in deine "gewünschte" URL laden.
    Sprich http://www.abc.de/33 wird aufgerufen und das Skript lädt sämtliche Daten aus dem Unterverzeichnis in diese Datei und gibt sie dann aus.

    Eventuell wird dein Vorhaben deutlicher wenn du Klartext reden könntest und den Sinn dahinter erklären kannst.
  • in: php & sql problem

    geschrieben von kgreen

    Puuh, das ist jetzt mal ein Schuss ins Blaue, aber ich tippe mal auf ein Server-Update.
    Was hat sich denn seit dem letzten Mal geändert oder was wurde geändert an deinem Quellcode?
    Das etwas "plötzlich" nicht mehr funktioniert, ist immer eine beliebte Ausrede, die aber selten die Wahrheit war. :-)

    Aufgrund des Quelltextes und der, wie schon vom Vorredner festgestellt, veralteten Programmierart, wäre ein Server-Update möglich. Dadurch bedingt, mal angenommen du hast dort wirklich nichts vermurkst, kann es zu Fehlern kommen, da veraltete Befehle nicht mehr funktionieren.

    Alles andere wäre nur mit Zugriff auf den Quelltext oder einer Glaskugel möglich, um dir eine bessere Hilfestellung zu bieten.
    Was du noch machen könntest, wäre Zeile für Zeile ein "echo $NameDeinerVariable" einzugeben, um zu prüfen an welcher Stelle bei dir der Fehler auftritt.

    Jeder fängt mal bei Null an, daher würde ich dir lieber empfehlen, dich ein wenig mehr in PHP einzuarbeiten. Es gibt eine Menge nette Anfängertutorials auf bekannten Seiten. Und bitte nicht irgendwelche Hobby-Seiten mit PHP-Tutorials verwenden.
    Mittlerweile bietet http://www.codecademy.com auch PHP an. Dort kannst du sogar auch noch HTML lernen.
  • in: PHP Script im Hintergrund starten

    geschrieben von kgreen

    Schon beim Eröffnungsthread kam mir die Frage:
    "Wo liegt dieser Download FTP-Account?"
    Das wird hier in keinem Beitrag deutlich.

    Meine Vermutung:
    Du bietest Downloads (welcher Art auch immer) auf deiner Lima-City Seite an, die der Besucher als Linkliste zu sehen bekommt.

    Meine Hoffnung:
    Der Download-Ordner befindet sich auf dem Lima-City Server.
    Und du oder wer auch immer lädt die Dateien per Webinterface auf den Server und nicht per FTP-Client.

    Dann wäre es doch am Leichtesten nach dem Upload ein weiteres Skript oder ein paar Zeilen auszuführen, die "mal eben" die Datenbank auf den neuesten Stand bringen.
    Ich sehe hier bisher gar kein Problem, dass diese Komplexität ausmachen soll, die du uns verkaufst.

    Für den Fall, dass der Download-Ordner auf einem anderen Server liegt, was ich aber nicht glaube, da du zugegeben hast, keinen eigenen Server zu besitzen, gebe es noch eine andere einfache Lösung:
    Wie bereits erwähnt wurde, kannst du freie Cron-Jobs nutzen, die von außerhalb dein Skript zeitgesteuert anstossen.
    Dieses Skript nutzt Transaktionen, um deine zu aktualisieren. Somit kannst du mit "LOCK TABLE" deine Datenbank bzw. Tabelle sperren.
    Kommt innerhalb dieser Zeit Besucher auf deine Seite, kannst du abfragen, ob die Datenbank/Tabelle gesperrt ist bzw. bekommst eh diese Meldung zurück. Diese Info gibst du deinem Besucher und lässt die Seite dann z. B. per JavaScript nach 10 Sekunden selbständig aktualisieren. Dem Besucher kannst du dafür einen Counter anbieten. 10 Sekunden sollte jeder warten können, wenn er weiß warum.
    Für all das brauchst du dann keine Kommandobefehle auf geschützten Systemen ausführen.
  • in: Weiterleitung Script

    geschrieben von kgreen

    Ich kann dir nicht so ganz folgen.
    Kommt der Besucher von einer externen Seite oder soll deine Angabe mit abc.de bedeuten, dass es dieselbe Seite ist?

    Was bezweckst du damit?

    Dein versuch jemanden umzuleiten nennt man Routing.
    Und ich würde dir das lieber mit z. B. PHP empfehlen umzusetzen, anstatt mod_rewrite dafür zu verwenden.
    Bei den PHP-Frameworks bieten Zend Framework und Laravel als Beispiel Routing an und ist auch recht einfach anzuwenden.
    Ob jetzt Drupal, CodeIgniter usw. das auch bieten, kann ich nicht sagen, aber mich würde es wundern wenn nicht.

    Hast du dir ansonsten schon einmal reguläre Ausdrücke dafür angeschaut? Es gibt auch Online-Editoren, um deinen Versuch zu testen.
    Speziell in deinem Fall für die HTACCESS.
  • in: html tooltip

    geschrieben von kgreen

    unlikus schrieb:
    Wie gesagt, ich verwende schon javascript um den code der den Tooltipp darstellen soll, also muss ich den tooltipp auch mit javascript realieseren


    Das ist mal eine originelle Antwort. :thumb:
    Und leider sinnfrei.
    Du brauchst so oder so CSS dafür. Warum also noch zusätzlich kompliziertes JavaScript einarbeiten?

    Warum einfach wenn es auch kompliziert geht.
    Die erste Lösung von webaffe http://blog.kuschku.de/webdesign/css/bessere-tooltips/ ist eine saubere und einfache Lösung.
    Und sie funktioniert definitiv überall, auch dort wo kein Javascript erlaubt ist.

    Gib dir einen Ruck und mach es dir einfacher.:wink:
  • in: Sichtbarkeit von $__GET $__POST etc. ändern

    geschrieben von kgreen

    Warum alles neu erfinden?

    http://framework.zend.com/manual/2.0/en/modules/zend.http.request.html
  • in: abraham twitteroauth curl_getinfo liefert kein Werte?

    geschrieben von kgreen

    Davon ausgegangen, dass CURL aktiviert ist, sprich
    in der PHP.INI sollte folgendes ohne "#" vorweg stehen:
    extension=php_curl.dll

    bleibt noch die Frage, was steht in deiner Log-Datei?

    ....

    Ähm ... ich bin mal deinem Link zur twitteroauth gefolgt.
    Du hast unglücklicherweise ja nur einen Auszug deiner Funktion hier gepostet.
    Wie rufst du die Funktion auf?
    Denn die Funktion von der du eine URL erwartest, erwartet selber als ersten Parameter eine URL und diese sollte auch wieder ausgegeben werden.

    Und wenn ich mir das weiter anschaue, sollte einer der vier API als URL weitergereicht werden.
    Diese einzelnen URL sind in den Zeilen 45 - 48 hinterlegt.

    Ich denke mal eher, dass das Skript in Ordnung ist. Es wird eher am Aufruf liegen bzw. daran wie du es eingebunden hast.
    Aber das lässt sich anhand deiner drei Zeilen schlecht beurteilen.
  • in: Aufklappbare Liste per JS oder CSS

    geschrieben von kgreen

    Also CSS und JavaScript laufen auf allen Browsern.

    Und sofern Du schon mit CSS angefangen hast, würde ich es auch damit zu Ende bringen.
    Natürlich ist JavaScript / jQuery eine Möglichkeit, aber wenn Dir damit noch die Erfahrung fehlt, empfehle ich lieber CSS zu nehmen.

    Es gibt hierzu auch unzählige Lösungen im Internet und das Deine Vorstellung nicht dabei sein sollte, kann ich mir nur schwer vorstellen.

    Zeige Deine Lösung bzw. Deinen bisherigen Ansatz mit CSS hier einmal auf.
    Hast Du die Idee schon einmal irgendwo in Aktion gesehen und kennst noch die Adresse?

    Alleine auf dieser Seite - http://www.dynamicdrive.com/style/csslibrary/category/C2/ - solltest Du schon eine Möglichkeit finden.
  • in: Bilder einfügen

    geschrieben von kgreen

    Der Befehl/Tag lautet "IMG".
    http://www.w3schools.com/tags/tag_img.asp
  • in: Mysqli - multi_query

    geschrieben von kgreen

    midwar schrieb:
    ...was kann man machen?

    Vorschlag!
    Lies dir nochmal die Verwendung von mysqli.multi-query durch.
    Mir scheint das so, als ob du den Aufbau etwas verdreht hast.

    BTW, warum eigentlich multi_query?
    Hast du so viele Abfragen?
    Wie sieht es mit Transaktionen aus? Dort kannst du auch alles eingeben und dann mit einem COMMIT alles in die Datenbank schreiben, mit dem Vorteil, dass bei einem Fehler alles wieder zurück gerollt wird.
  • in: Mysql auto_increment

    geschrieben von kgreen

    Hui, da ist ja ja abenteuerlich was du da vor hast! :confused:
    Und du merkst auch, dass hier keiner den Sinn in dieser Aktion versteht, mich eingeschlossen.

    Eine ID als Autoincrement gesetzt, hat einzig den Sinn, dass eine eindeutige Zuordnung zu den Daten gewährleistet ist.
    Durch das Entfernen des Autoincrement kommst du in Teufelsküche, wenn du in deiner Programmierung nicht alles überprüfst.

    Lass die ID auf Autoincrement stehen. Dein Problem lässt sich ganz anders lösen, wenn du nochmal in Ruhe daran gehst. Mir scheint es so, als du dich daran festgebissen hast.

    Vorschlag:
    Den ersten Datensatz zeigst du wie folgt an:
    SELECT * FROM add_mail ORDER BY id ASC

    Den letzten Datensatz zeigst du wie folgt an:
    SELECT * FROM add_mail ORDER BY id DESC

    Und je nach dem löscht du in deiner Ausgabe immer den obersten Datensatz mit der Übergabe der ID an eine PHP-Funktion, die den Eintrag aus der DB löscht.
    Zum Beispiel:
    ... hier steht deine Abfrage von weiter unten ...
    while ($row = mysql_fetch_object ($ergebnis)){
    echo '<p>$row->mail - <a href="' . $_SERVER['PHP_SELF'] . '?delete=' . $row->id . '">löschen?</a></p>';
    }

    Und in demselben PHP-Skript, schreibst du oberhalb des Aufrufs der Liste eine Bedingung, die prüft ob "delete" abgeschickt wurde.
    Prüfen mit z.B.
    if ($_POST['delete']) {
    // lösche den Eintrag mit der ID, die in $_POST['delete'] übergeben wurde
    }
  • in: MySQL tinyint AutoIncrement Kuriosität

    geschrieben von kgreen

    Klaro kommt da ein Fehler von der DB zurück.
    Du sagst der DB, dass das Feld maximal 255 als Wert bekommen darf, wir reden hier von TinyInt(1) und wenn du diesen Wert plus 1 einfügst, dann wäre es folglich nur fair wenn die DB deinen Anweisungen folgt und dir einen Fehler zurück gibt.

    Dein Ansatz ist ja nicht verkehrt, allerdings zu zeitaufwendig.
    Wenn du den maximal erlaubten Wert kennst, warum gibst du in dann nicht manuell ein und testest dann einen neuen Wert Plus 1?
    Da ersparst du dir eine Menge Zeit.:wink:
  • in: MySQL tinyint AutoIncrement Kuriosität

    geschrieben von kgreen

    Also macht das tinyint(1) bei boolean auch gar keinen Sinn.

    Warum nicht?
    Boolean ist bei MySQL nur ein Synonym und wird automatisch in TinyInt(1) umgewandelt, sobald du versuchst Boolean als Typ anzulegen.
    Wenn du wirklich nur boolesche Werte speichern willst, dann kannst du auch
    - BIT(1)
    - ENUM(0,1) NOT NULL
    verwenden. Um TinyInt bei booleschen Werten sauber zu halten, kannst du lieber
    UNSIGNED TinyInt(1) verwenden. Dann rutschen deine Werte auch nicht versehentlich ins negative ab, falls dies nicht kontrolliert wird.

    TinyInt als autoinkrementelle ID zu verwenden ist natürlich nur zu Anschauungszwecken, wie bei dir, gedacht.
    Es sei denn du hast eine Mini-Datenbank.:biggrin:
    Und bei autoincrement werden die Werte stets erhöht und nicht am Ende nach leeren Bereichen gesucht. Das widerspricht der Bezeichnung "autoincrement". :wink:

    Aber an sich ist die Idee nicht schlecht, das einfach mal auszuprobieren, man soll ja nicht immer alles glauben was in der Doku steht. :biggrin:
  • in: PHP Junk-Email Problem

    geschrieben von kgreen

    Ok bin gespannt.
    Zugegeben, mein letztes Mail-Skript ist über 2 Jahre her. Aber damals wurden die Mails nur als Erinnerung innerhalb einer Firma verschickt und dafür habe ich einfach ISO-8859-1 verwendet. Es lief nur innerhalb Deutschlands und war dadurch kein Problem.
  • in: PHP Junk-Email Problem

    geschrieben von kgreen

    Warum nutzt du nochmal base64?
    Der Spamfilter wird alarmiert, da er den Reply-To nicht entziffern kann.

    Teste es mal ohne den base64 enkodierten Reply-To.
    Im Moment steh ich auch auf dem Schlauch, wo der Sinn liegt den From oder Reply-To mit base64 zu kodieren.
    Wenn du ein Bild z.B. über SMTP versenden willst, dann macht base64 Sinn, aber warum bei der Adresse???

    Oha, noch was.
    Das wird wohl nicht der Grund sein, aber es trägt dazu bei.
    Wie du gelesen hast, wurde kein SPF mitgeschickt. Das liegt aber am Server von Lima-City, da kannst du nichts ändern.
    Der SPF trägt zum Erschweren von gefälschten Emails bei und da ausdrücklich SPF = none geschrieben wird, kann das auch als Warnsignal gelten.
  • in: PHP Junk-Email Problem

    geschrieben von kgreen

    Will den From-Header aber nicht manipulieren..

    Ohne da jetzt weiter drauf einzugehen, ich dachte Du willst das es klappt? :biggrin:

    Wie ich den Header bei Outlook auslese hab ich kein Plan.

    Hm, eigentlich willst du doch die Hilfe. :confused:
    Dann nehme ich dir mal die kurze Tipparbeit ab:
    https://www.google.de/search?q=outlook+header+anzeigen

    Mehr kann ich vorerst nicht machen, da du auch keine Angaben zur Version von Outlook preisgegeben hast.
    Dann schau dir mal die Ergebnisse bei Google an,
    finde deine Version von Outlook
    und poste deinen Header hier.
  • in: PHP Junk-Email Problem

    geschrieben von kgreen

    Hi Simon,

    nicht immer liegt in der Kürze die Würze. :biggrin:
    Ein paar mehr Angaben wären schon nett, um dir helfen zu können.

    Hast du evtl. zuvor 200 Mails an dich geschickt und irgendwann (als Outlook die Nase voll hatte) wurden die Mails erst in den Junk-Ordner verteilt?
    Von wo aus verschickst du die Mails? Über einen Server? Von lokal?
    Realistischer ist es, dass der Mailserver die Mails als SPAM deklariert und Outlook nur noch sortiert.
    Existiert der FROM? Oder versucht du "weihnachtsmann@nordpol.iglu" E-Mails zu versenden?

    Das kann leider etliche Gründe haben.

    Poste doch mal deinen Header, der bei Outlook ankommt.
    Dort stehen ja schon einige Informationen drin.

    Dein Post ist ein Standardmailskript.
    Man müsste jetzt bei Outlook schauen, ob es noch bestimmte Header-Werte erwartet.
    Aber ich bin mir ziemlich sicher, dass dein Outlook nur reagiert und nicht selbständig Mails als Junk deklariert, sprich der Mailserver mag deine Mails nicht.
  • in: Datenbank Tabelle in besonderer Form ausgeben

    geschrieben von kgreen

    Ich hoffe mal, es ist noch nicht zu spät.
    Mir haben sich die Haare gekräuselt bei den Meinungen hier. :biggrin:

    Selbstverständlich gibt es sogenannte "Coding Standards".
    Und für PHP weichen sie wenn nur geringfügig bei den Leerzeichen ab.
    Aber es wäre schon wünschenswert für andere Beteiligte, wenn sie der Ersteller von Skripten an diese hält.
    Es erhöht ungemein die Lesbarkeit von Codes, damit sich auch Fremde in das Projekt einarbeiten können.

    Zu der Verwendung von "heredoc" kann ich nicht viel sagen.
    Was daran liegen mag, dass man es so gut wie kaum in Projekten antrifft.
    Daher würde ich dir als Anfänger raten, lass es lieber weg, da, wie schon zuvor erwähnt, eine sehr genaue schreibweise eingehalten werden muss, um nicht unnötig lange nach der Fehlerquelle zu suchen.
    Ok, "genaues" arbeiten ist Grundvoraussetzung, aber die Verwendung von "echo" oder "print" bei der Ausgabe ist bei weiten einfacher.

    Zum Design möchte ich dir dringendst davon abraten Tabellen, sprich "table", zu verwenden.
    Ich kann nur hoffen, dass das "table" Tag irgendwann einmal aus der HTML-Spezifikation raus fliegt.
    Alles was du mit Table erstellst, lässt sich besser mit CSS erreichen.
    Für den Anfang ist es ja noch verständlich Tables zu verwenden, aber die Verwendung wird nicht ohne Grund kritisiert.
    Aber bevor ich das noch weiter ausführe, suche einfach mal selber nach dem Unsinn, dass man Tables noch in HTML verwendet.
    Eine einfache und interessante Erklärung findest du z. B. hier:
    http://seybold.jan-andresen.de/

    So jetzt zum wichtigsten hier, warum du überhaupt deine Frage gestellt hast.
    Meine Lösung soll hier nicht als Maßstab gelten, aber ich hoffe mal, dass dir hier die Verwendung von CSS ohne Table evtl. leichter fällt.

    <?php 
    // configuration database
    $host = 'localhost';
    $user = 'testUser';
    $password = 'testPassword';
    $dbname = 'datenbankname';
    
    // configuration view
    $maxColumns = 2; // set the number of columns per row
    
    // connect with database
    $connection = mysql_connect($host, $user, $password)
        or die('Keine Verbindung möglich: ' . mysql_error());
    mysql_select_db('datenbankname') or die('Auswahl der DAtenbank fehlgeschlagen!');
    
    // create query
    $query = 'SELECT * FROM tabellenname';
    $result = mysql_query($query) or die('Anfrage fehlgeschlagen: ' . mysql_error());
    
    // create view
    $i = 0; // counter
    $content = '';
    $newRow = '';
    $tableWithCss = '';
    
    // check the result object for content
    if (mysql_num_rows($result) == 0) {
        echo "Keine Zeilen gefunden!";
        exit;
    }
    
    while ($row = mysql_fetch_assoc($result)) {
      // if the counter "i" has a rest of "0" then create a new row
      // solved with the modulo operator
      if ($i % $maxColumns === 0) {
        $newRow .= '<div class="row">' . $content . '</div>';
        $content = ''; // reset the content variable
      }
      
      $content .= '
        <div class="image">
          <p>' . $row['name'] . '</p>
          <img src="' . $row['image'] . '" />
          <p>' . $row['description'] . '</p>
        </div>
      ';
      $i++;
    }
    
    // the last rows wont' assign to "newRow", so we have to assign it manually
    $newRow .= '<div class="row">' . $content . '</div>';
    
    // create CSS and print the table
    ?>
    <style>
    .table { 
      display: table; 
      border-spacing: 4px; 
    } 
    .row { 
      display: table-row; 
    } 
    .image { 
      display: table-cell; 
      width: 240px; 
      background-color: #000; 
      border: 8px solid #000; 
      vertical-align: top; 
      text-align: center; 
    } 
    .image p { 
      color: #fff; 
      font-size: 85%; 
      text-align: left;
      padding-top: 8px;
    }
    </style>
    
    <?php
    // assign the fetched data
    $tableWithCss = '<div class="table">' . $newRow . '</div>';
    echo $tableWithCss;
    ?>
  • in: Downloadserver in Wordpress integrieren

    geschrieben von kgreen

    TADA !!! :king:

    http://wordpress.org/extend/plugins/download-manager/

    Die Frage ist, ob das Plugin auf den externen Downloadserver zugreifen kann.
    Einfach mal testen, ob die Dateien in Wordpress auftauchen.

    Andernfalls müsste hier ein Admin wohl deine Frage beantworten, ob man einen Zugriff auf die Log-Dateien vom Downloadserver bekommt, speziell für den jeweiligen Benutzer natürlich.
    Irgendwoher muss sich der Downloadserver ja auch die Daten für die jeweiligen Besitzer ziehen.
  • in: Markiersperre

    geschrieben von kgreen

    Wie meine Vorredner schon gesagt haben.
    Es macht keinen Sinn.
    Der einzige Vorteil ist, das dein Webspace nicht mehr so stark frequentiert wird, da sich kein Besucher mehr auf deine Seite verirrt. :biggrin:

    Das Interessante an deiner Frage ist aber, dass du den Unterschied zwischen client- und serverseitig noch nicht verstanden hast.
    Javascript läuft nur auf dem PC beim Benutzer, während PHP auf einem Server ausgeführt wird.
    Damit sollte es verständlich sein, dass PHP dir bei diesem Problem überhaupt nicht helfen kann.
    Javascript oder Flash wären auf dem jeweiligen PC dazu in der Lage.

    Aber wie du schon erfahren hast, kann man Javascript ausschalten um an die geschützten Inhalte zu gelangen.
    Selbst wenn Javascript aktiv ist, kann man immer noch den Quelltext öffnen und sich die Daten besorgen.

    bladehunter und nicoa haben dir ansonsten die Möglichkeiten genannt.

    Es ist zwar auch nicht unbedingt als Standard vorauszusetzen, aber ein geschütztes PDF könnte dir auch noch helfen.
    Der Google Docs Viewer kann dir dabei helfen das Dokument in deine Seite einzubauen:
    https://docs.google.com/viewer?pli=1

    Falls du ansonsten noch Langeweile hast, kannst du dich auch mal bei den MIME-Typen umschauen.
    Eventuell gibt es da noch LaTex zum Einbinden, obwohl ich da nicht genau weiß, ob es einen Kopierschutz bietet.
  • in: Javascript - String Trim Funktion?

    geschrieben von kgreen

    Hab nichts richtiges gefunden.. :(

    Schwer zu glauben.
    Google sagt da was anderes:
    http://www.google.de/search?q=php+trim+equivalent+javascript

    Ich finde die ersten 3 Treffer schon recht gut. :wink:
  • in: NVIDIA Optimus Technologie

    geschrieben von kgreen

    kgreen schrieb:
    ... Das umschalten der Karten wirst du nur über das BIOS erreichen können. ...


    Danke schwarztee, dass du meinen Beitrag nicht gelesen hast.:eek:
  • in: NVIDIA Optimus Technologie

    geschrieben von kgreen

    Hm, hab ich mich verlesen? :confused:

    webdesignerin schrieb:
    Zudem habe ich gesehen, dass, wenn ich in der NVIDIA Systemsteuerung im Menüpunkt Anzeige, den weiteren Menüpunkt Mehrere Anzeigen ausrichten auswähle, dann bei der genutzten Anzeige für das Laptop-Display Intel(R) HD Graphics Familiy (und nicht die NVIDIA) vermerkt ist. ...

    Des Weiteren habe ich bei einer Routineüberprüfung gesehen, dass im DirectX-Diagnoseprogramm im Tab Anzeige ebenfalls Intel(R) HD Graphics Family in den Feldern Name und Chiptyp vermerkt ist. Müsste es nicht eigentlich auch hier die NVIDIA NVS 4200M sein?
    ...

    Hab' ich dich hier falsch verstanden?
    Für mich klingt das so, als ob du die Einstellungen/Anzeigen schon gefunden hast.
  • in: NVIDIA Optimus Technologie

    geschrieben von kgreen

    Hi webdesignerin,

    ich kenne zwar dein Modell nicht, dass fehlt in deiner Angabe,
    aber der Sinn der beiden Karten ist Strom zu sparen.
    Bei Bürotätigkeiten wird der einfache Grafikchip verwendet.
    Erst wenn du ansprechendere Programme oder Spiele startest, springt die NVIDIA Karte an und gibt deinem Gerät ordentlich Leistung und zieht natürlich auch mehr Strom.
    Aber von diesem Wechsel merkst du normalerweise nichts.

    Das umschalten der Karten wirst du nur über das BIOS erreichen können.
    Standardmäßig macht es halt mehr Sinn den integrierten Chipsatz die einfachen Aufgaben erledigen zu lassen, einfach aus diesem Grund damit dein Akku länger hält.

    Edit:
    Du kannst mal nur zum Spaß ein Grafikprogramm oder ein Spiel starten, welches sich im Fenstermodus betreiben lässt.
    Und dann gehst du nochmal in die Einstellungen und schaust, welche Grafikkarte aktiv ist.
  • in: Navigation mit Div-Containern

    geschrieben von kgreen

    php-test1 schrieb:
    Weis von euch jemand wie man eine Navigation mit Div-Containern macht?


    Ja, aber das macht man nicht.
    daswing hat schon die korrekte Antwort gegeben.
    Alle anderen Versuche enden nur mit Ärger, Aufwand und der Erkenntnis, dass man es hätte lieber mit Listen machen sollen. :biggrin:

    daswing schrieb:
    Für Navigationen ist es sinnvoler Listen zu verwenden. Sie haben den Vorteil das sie besser zu erweitern sind, eine bessere Menüstrucktur bieten, mit Mutter und Tochter-Elementen:
    <ul>
    <li>
    </li>
    <li>
    </li>
    </ul>


    Es ist einfacher zu handhaben, deshalb rate ich von Menüs mit DIV-Containern ab.

    mfg Stephan
  • in: Bräuchte Vorschlag für korrekte SQLite-Select-Abfrage

    geschrieben von kgreen

    Hui,
    ich habe mir deine Aufgabe jetzt zum 10. mal durchgelesen und werde jedes mal verwirrter.:confused:

    Um nicht gleich den Verstand zu verlieren, hier findest du deine Lösung:
    DATE_SUB

    Alternativ geht auch diese Funktion, vorausgesetzt du speicherst gleich beim Eintragen der Dauer das Enddatum mit Zeit ab. Anstatt nur die Tage.
    Damit ersparst du dir weiteres rechnen. :wink:
    DATE_DIFF
  • in: Problem bei Darstellung

    geschrieben von kgreen

    imho schrieb:
    ...
    Mediaqueries verwenden

    P.S Ich sehe das ähnlich wie kgreen, ich empfehle jedoch gleich den einsatz eines responsiven Grids wie Skeleton... Yaml mag ich nicht so


    Nix Mediaqueries! Wenn Browserweichen. Was auch völliger quatsch wäre.
    Davon war bisher nicht die Rede, dass es auch für Mobiles gedacht war.
    Ihn stören bisher ja nur die zwei, drei Browser.

    Und, auch wenn es sinnvoll wäre, aber responsive Webdesign würde für den Anfang wohl zu einer Überforderung führen.
    Nichts für ungut, aber gehe lieber kleine Schritte schaue dir auch mal den Quellcode von anderen für dich interessante Seiten an.

    Skeleton kannte ich bisher noch nicht und werde ich auch lieber sein lassen. Das scheint mir ein Soloprojekt zu sein bzw. ist es noch zu jung.
    YAML hat wenigstens eine Community und ist schon seit über 10 Jahren am Markt.
    Und bei YAML kann man sich auch 100%-ig sicher sein, dass alles passt.
  • in: Problem bei Darstellung

    geschrieben von kgreen

    Naja, um ganz ehrlich zu sein,
    fange lieber nochmal von vorne an. :wink:

    Du hast keine Struktur in deiner Seite.
    Da ist es nicht verwunderlich, dass es auf jedem Browser anders aussieht.
    Schau dir erstmal den Aufbau einer Internetseite an.
    Die Grundstruktur einer HTML Seite hast du ja schon, aber da sind einige unschöne Verschachtelungen, die sich nicht gehören und ebenfalls Fehler in der Darstellung erzeugen können.
    Zum Beispiel gehört kein DIV in ein A-Tag.

    Es gibt für die Grundstrukturen auch allerlei Vorlagen.
    Als Beispiel YAML.

    Und wenn du ansonsten deine Unstimmigkeiten auf der Seite mal genauer betrachten willst, dann gehe mal auf
    eine der folgenden Seiten und trage deine URL dort ein:
    http://validator.w3.org
    http://www.validome.org
  • in: 3D logo erstellen

    geschrieben von kgreen

    cmstestarea schrieb:
    ... soll es animiert werden oder will man evtl. mal eine andere Ansicht, wäre PS oder Illu sicher eine schlechte Wahl


    Seit wann ist es dafür eine schlechte Wahl? :confused:
    Schon seit der Version CS4 ist es möglich 3D-Objekte zu animieren.

    Photoshop ist leider nur eine teure Angelegenheit in der Anschaffung.
    Wenn man nur einmal damit rumspielen will und sonst keine Verwendung dafür hat, macht es herzlich wenig Sinn.
    Aber wie fujin schon sagte, die Trialversion kannst du ja eine Zeit lang testen.

    Alternativ kannst du mittlerweile schon sehr schöne Dinge mit GIMP erstellen.
    Es hängt zwar vom Umfang ein paar Jahre hinter Photoshop hinterher, aber dafür ist es kostenlos und wird auch ständig weiter entwickelt.
  • in: Homepage im Internet Explorer falsch angezeigt

    geschrieben von kgreen

    Hui ... das ist ja gruselig. :-D

    Auch im Webdesign helfen Grundkenntnisse am Anfang.
    Deinstalliere ImageReady bitte bloß wieder.
    Wir sind mittlerweile schon im Jahr 2012 angekommen und nicht mehr 1999. :wink:

    Wenn es unbedingt sein muss, nimm bitte FireWorks.
    Oder erstelle es lieber gleich von Grund auf per Hand ohne diese Programme.
    Du tust dir damit keinen Gefallen und lernst dabei rein gar nichts mit diesen veralteten Programmen.

    HTML ist kein Zauberwerk und kannst du recht schnell erlernen.
    Und mit CSS kannst du es sogar noch verfeinern.


    @hm4-blog
    Da helfen auch keine richtig gesetzten DocTypes.
    Das ist von Grund auf veraltet und falsch.
    Aber das liegt am Programm und nicht an Stefan.
    Wie du im Quelltext sehen konntest, besteht auch alles aus TABLES.:disapprove:
  • in: Jede neue Zeile Umbruch

    geschrieben von kgreen

    Sind deine Daten in der Datenbank denn auch mit '\n' abgespeichert?
    Oder geht es um einzelne Wörter?
  • in: CSV als Object-Daten ?

    geschrieben von kgreen

    Ich verstehe nicht was gegen das Array spricht?

    Aber wenn du dich so quälen willst, dann schau dir mal get_object_vars an.
    Du musst dir nur eine eigene Funktion dafür schreiben.
  • in: Lima-City for Android

    geschrieben von kgreen

    Eine Menge Last auf deinen Schultern. :thumb:
    Ich steige erst in das Thema ein und kann schon verstehen warum das etwas länger dauert.

    Wie sieht es mit den anderen Systemen aus?
    Arbeitest du mit Phonegap?
    Ich bin zwar eingefleischter Android-Fan, aber dummerweise gibt es ja noch so etwas wie iOS, Blackberry, Symbian, WebOS.

    Verrätst du noch mit was du das App erstellst?
    Welche IDE?

    Ich arbeite mich gerade bei Application Craft ein und bin schwer begeistert.
  • in: Multiselect Werte an 2. Multiselect übergeben

    geschrieben von kgreen

    Hi fabo,

    geht es bei deinem Problem um mobile Entwicklung?
    Ich kann den Sinn bei deinem Vorhaben nicht erkennen.
    Kannst du das mit einem Beispiel erklären?
    Nimm Bananen und Äpfel, wenn Du Angst hast, dass dir dein Projekt geklaut wird. :wink:

    Ein paar Fragen:
    - Was passiert mit der Optiongroup in dem zweiten Select?
    - Wird diese mitgeschickt und das Element dort wieder eingeordnet?
    - Und was ist das Problem mit deinem beigefügten Link?

    Dein Problem wirst du komplett mit Javascript lösen können.
    Bei jedem Klick wirst du eine extra Funktion laufen lassen müssen, die sich durch dein erstes SELECT hangelt und nach leeren Optiongroups sucht, sprich wenn es keine ChildNodes mehr hat. Und dann löscht du das Element.

    Zudem kannst du die "begrenzte Übertragung" mit einem Counter lösen und bei 10 wird das erste SELECT auf "disable" oder "read-only" gesetzt.
    Alternativ lässt du eine weitere Funktion nach jedem Klick laufen, die die Elemente im zweiten SELECT zählt und dann bei 10 den ersten SELECT wieder abschaltet.

Login zum Webhosting ohne Werbung!