Kategorie-Archiv: WebDesign / WebEntwicklung

Zu allem was, HTML, JavaScript, CSS, PHP …

HTML mailto: Zeilenumbrüche, Prozentzeichen und Umlaute verwenden

Hi,

öfter mal brauch ich das altbewährte mailto, um mal eben einen “Email-verfassen”-Link in HTML reinzubauen. Meistens hab ich da aber nicht nur Buchstaben und Zahlen drin sondern will auch Sonderzeichen, Zeilenumbrüche und Umlaute verwenden.
In der nachfolgenden Tabelle hab ich dir mal die wichtigsten zusammengeschrieben:

Zeilenumbruch (\n, line-feed) %0A
Wagenrücklauf (\r, carriage-return) %0D
(Leerzeichen) %20
% %25
< %3C
> %3E
/ %2F
! %21
# %23
* %2A
? %3F
Ä %C4
ä %E4
Ö %D6
ö %F6
Ü %DC
ü %FC
ß %DF

Und den ganzen Kram kannst du nun so verwenden:
<a href="mailto:mail@example.com?subject=Newsletter&body=Sehr%20geehrter%20Herr%20Mustermann%0A%0aim%20Anhang%20finden%20Sie%20…”>E-Mail schreiben</a>

Zum testen: E-Mail schreiben

Gruß
Marius

[Lösung - die zweite] XAMPP – Apache startet nicht (Port 80 in Benutzung von “system”)

Hi,

vor kurzem war ja das Problem, dass mein XAMPP nicht gestartet ist. Die Lösung habe ich hier bereits beschrieben.
Heute Windows 8 Pro installiert und XAMPP gestartet und es funktionierte wieder nicht. Das heißt, Apache ging nicht, der MySQL Dienst startete ohne Probleme. Diesmal offensichtlich aus einem anderen Grund als zuvor, denn Skype war gar nicht offen. Folgende Meldung bekam ich zu sehen als ich XAMPP startete:

20:56:28 [Apache] Problem festgestellt!
20:56:28 [Apache] Port 80 in Benutzung von “system”!
20:56:28 [Apache] Apache wird NICHT starten, wenn die konfigurierten Ports belegt sind!
20:56:28 [Apache] Die blockende Applikation muss deinstalliert/deaktiviert/rekonfiguriert werden
20:56:28 [Apache] oder konfiguriere Apache auf einen anderen Port zu lauschen

Nach etwas Recherche und Suche nach dem Dienst der mir diesen Mist einbrockt fand ich heraus, dass der “WWW-Publishingdienst” Port 80 verwendete. Diesen also kurzerhand abgeschaltet und sofort ging es :-)
Kleiner Hinweis am Rande: Wenn ihr das Dienste-Fenster offen habt kann es sein dass ihr, wenn ihr zum Suchen des Dienstes die Anfangsbuchstaben “www” eintippt diesen nicht findet. Der Dienst ist vermutlich trotzdem da, also musst du eben Alphabetisch sortieren und dann ganz unten schaun’ wo er steckt.

So far..
Marius

[PHP] Datei herunterladen anstatt anzusehen

Hi,

jeder kennt’s. Da will man Files zum Download anbieten – und dann scheitert’s an Textdateien, die sich bloß im Browser anzeigen lassen. Aber es funktioniert trotzdem … wenn man weiß wie’s funktioniert ;-) Unf funktionieren tut es eigentlich ganz einfach:

	$file = "./testdatei.txt";
	$fsize = filesize($file);
	header("Content-Type: application/force-download");
	header("Content-Disposition: attachment; filename=Datei.txt");
	@readfile($file);

Ich hab hier mal ein Testprojekt hochgestellt, probier’s aus.
Vielleicht könnte dir das nützlich sein :-)

Bis dahin
Marius

[Lösung] MySQL Autoincrement Wert anpassen / verändern

Hi,

ist es euch schonmal passiert dass ihr in eurer MySQL-Datenbank ausversehen Mist eingetragen habt? Und dass dann die ID nicht mehr gestimmt hat die über die Autoincrement-Spalte generiert wurde? Vielleicht, vielleicht auch nicht. Mir ist es passiert. Was tut man in einem solchen Fall? Dass der AutoIncrement bei einem anderen geänderten Wert weiterlaufen soll lässt sich so nämlich nicht einstellen (was ja, wenn man bedenkt wofür der Autoincrement überhaupt da ist auch gut ist).
Jetzt hab ich also in der Datenbank einen Datensatz, der da so gar nicht rein sollte (wie und warum das auch immer passiert). Klar, ich könnte diesen manuell löschen, das ginge. Was aber dann nicht mehr gegeben ist, ist die fortlaufende Nummer. Manchmal ist es wichtig dass die Einträge lückenlos sind oder gar sein müssen. Mit einem Trick geht es aber trotzdem.

Stellen wir uns folgende Werte vor:

ID Produkt
0 Apfel
1 Feuerzeug
2 Chips
3 Cola
4 Brötchen
5 Zeitschrift

und nehmen wir an, Zeitschrift wäre der Datensatz der da nicht hingehört. Lösche diesen nun:
Jetzt könntest du den Datensatz von neuem eintragen. Allerdings wird dieser dann ID #6 haben, an die #5 kommen wir nicht mehr. Was nun zu tun ist:

Schritt 1
Datenbankoberfläche öffnen (phpMyAdmin o.ä.)

Schritt 2
Betreffende Tabelle exportieren, danach löschen (nicht leeren).

Schritt 3
Export in Datei öffnen. Dort wo der CREATE TABLE-Befehl ist findest du unten sowas ähnliches wie

ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

Den Wert änderst du in “5″. Speichere die Datei

Schritt 4
Importiere die Datei nun, oder kopiere den Inhalt des Exportes und führe ihn über die SQL-Funktion aus.

Und das war’s. Im Endeffekt haben wir jetzt die Tabelle und deren enthaltene Datensätze gelöscht und wieder neu importiert. Und zuvor noch die ID geändert.
Was du noch machen könntest: den Export direkt ohne den AutoIncrement erstellen (Haken rausnehmen). Ich weiß zwar nicht ob der dann bei Null anfängt oder nach der höchsten ID weitermacht, aber ich würd’s nicht darauf ankommen lassen und die zuerst beschriebene Methode anwenden.

Vielleicht hilft dir dieser Tipp ja :-)

Viele Grüße
Marius