Archiv für die Kategorie ‘PHP’
Sonntag, 07. Februar 2016
Wer kennt es nicht. Überall ist UTF8 nun auf dem Vormarsch. Die Umstellung darauf ist jedoch meist mit komischen Ausgaben von Sonderzeichen und/oder Hieroglyphen begleitet.
Wenn ihr folgende Dinge beachtet, so wird man von diesen bösen Überraschungen verschont:
- In der .htaccess „AddDefaultCharset utf-8“ eingeben
- In php im Header „header(„Content-Type: text/html; charset=utf-8“);“ eingeben
- In php bei der Datenbankverbindung „mysql_query(„SET character_set_results = ‚utf8‘, character_set_client = ‚utf8‘, character_set_connection = ‚utf8‘, character_set_database = ‚utf8‘, character_set_server = ‚utf8′“, $DBVERBINDUNG);“ eingeben. Alternativ klappt es auch schon mit der einfacheren Variante „mysql_set_charset(‚utf8‘,$DBVERBINDUNG);„
- Im HTML-Header „<meta http-equiv=“Content-Type“ content=“text/html; charset=utf-8″>“ eingeben
- Die Zeichensätze in der MySQL Datenbank, als auch alle Tabellen und Spalten auf „utf8_general_ci “ ändern.
Und schon sollte es ohne Anzeigenprobleme laufen.
Tags:ändern, Anzeigeprobleme, Codierung, Darstellung, Datenbank, Fragezeichen, iso, iso-8859, Kästchen, Kodierung, MySQL, Raute, Sonderzeichen, Umlaute, utf8, Zeichensatz
Abgelegt in HTML, mySQL, PHP, Programmierung | Keine Kommentare »
Montag, 28. April 2014
Will man einen Ordner mittels .htaccess Datei schützen, so benötigt man initial den korrekten Pfad zur Datei. Dies Datei gehört direkt in den Ordner den man schützen will und muss den relativen Pfad angegeben haben! Das ist essentiell, da die Funktion sonst nicht gegeben ist.
Wenn man den Pfad nicht weiss, so kann man sich mit einem einfachen PHP-Skript helfen. Einfach eine leere Seite erstellen, folgenden Code eingeben und als test.php im selben Ordner wie die .htaccess Datei abspeichern:
<?php echo echo dirname(__FILE__).'/'; ?> |
<?php echo echo dirname(__FILE__).'/'; ?>
Diesen Pfad gibt man dann in der .htaccess ein.
Tags:einrichten, htaccess, korrekt, Passwort, Passwortschutz, pfad, programmieren, Programmierung, schutz
Abgelegt in HTML, PHP, Programmierung | Keine Kommentare »
Sonntag, 02. Februar 2014
Seit geraumer Zeit gibt es häufig Probleme wenn man WordPress updaten will oder auch ein Theme installieren und/oder updaten möchte.
Man erhält dann folgende Fehlermeldung:
Download fehlgeschlagen. SSL: certificate subject name ‚*.wordpress.org‘ does not match target host name ‚wordpress.org‘
Dies kann man umgehen indem man in der Datei „/wp-includes/class-http.php“ „sslverify“ von „true“ auf „false“ setzt. Das ganze sieht dann so aus:
$defaults = array(
'method' => 'GET',
'timeout' => apply_filters( 'http_request_timeout', 5),
'redirection' => apply_filters( 'http_request_redirection_count', 5),
'httpversion' => apply_filters( 'http_request_version', '1.0'),
'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ),
'reject_unsafe_urls' => apply_filters( 'http_request_reject_unsafe_urls', false ),
'blocking' => true,
'headers' => array(),
'cookies' => array(),
'body' => null,
'compress' => false,
'decompress' => true,
'sslverify' => false,
'sslcertificates' => ABSPATH . WPINC . '/certificates/ca-bundle.crt',
'stream' => false,
'filename' => null,
'limit_response_size' => null,
); |
$defaults = array(
'method' => 'GET',
'timeout' => apply_filters( 'http_request_timeout', 5),
'redirection' => apply_filters( 'http_request_redirection_count', 5),
'httpversion' => apply_filters( 'http_request_version', '1.0'),
'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ),
'reject_unsafe_urls' => apply_filters( 'http_request_reject_unsafe_urls', false ),
'blocking' => true,
'headers' => array(),
'cookies' => array(),
'body' => null,
'compress' => false,
'decompress' => true,
'sslverify' => false,
'sslcertificates' => ABSPATH . WPINC . '/certificates/ca-bundle.crt',
'stream' => false,
'filename' => null,
'limit_response_size' => null,
);
Tags:aktualisieren, Aktualisierung, Bugfix, Fehler, Fehlerbehebung, Fehlermeldung, SSL, Theme, update, wordpress, Workaround
Abgelegt in PHP, Programmierung, WordPress | Keine Kommentare »
Mittwoch, 10. Oktober 2012
Wer mit dem Mac programmiert wird oft vor das Problem gestellt dass Umlaute usw. falsch ausgegeben werden. Wie codiere ich also Dateien richtig um sie korrekt auszugeben?
Beim Editor (Empfehlung: TextWrangler) sollte man die Einstellung „Western (ISO Latin 1)“ (WICHTIG: nicht zu verwechseln mit „Western Windows Latin 1“!!!) wählen. Für korrekte Zeilenumbrüche sollte „Unix (LF)“ ausgewählt werden.
In der Datenbank und generell am Server muss man die Kollation auf „utf8_general_ci“ stellen.
Mit diesen Einstellungen sollte alles einwandfrei funktionieren.
Tags:apple, codieren, collation, Datenbank, editor, einstellen, einstellung, encode, kodieren, mac, programmieren, server, spalte, tabelle
Abgelegt in Apple, Computer, CSS, DOS, HTML, Javascript, Mac, mySQL, PHP, Programmierung | Keine Kommentare »
Samstag, 03. März 2012
Wer einen Mac hat und Xampp mit der Direktive Options Indexes laufen hat wird sich ärgern dass ständig die .DS_Store Dateien in der Auflistung erscheinen. Hierzu gibt es eine einfach Abhilfe.
Einfach in der httpd.conf Datei folgendes unterhalb von Options Indexes einfügen:
IndexIgnore *.DS_Store
Und schon werden die lästigen .DS_Store Dateien nicht mehr angezeigt. Das funktioniert natürlich auch mit allen anderen Dateiarten (beispielsweise *.txt usw.).
Tags:apache, apple, auflistung, ausblenden, bestimmte, conf, datei, dateien, direktive, DS_Store, httpd, listing, mac, ordner, xamp, xampp
Abgelegt in Apple, HTML, Mac, mySQL, PHP, Programmierung | Keine Kommentare »
Samstag, 03. März 2012
Um bei Xampp oder Apache Servern auch die Dateien anzuzeigen wenn KEINE index.html oder index.php Datei vorhanden ist, so muss man in der httpd.conf Datei einfach Options -Indexes wiefolgt ändern:
Options Indexes FollowSymLinks ExecCGI Includes
Tags:anzeigen, apache, auch, auflisten, datei, directory, htm, html, index, indexes, listing, ohne, options, ordner, PHP, trotzdem, xamp, xampp
Abgelegt in HTML, mySQL, PHP, Programmierung | Keine Kommentare »
Donnerstag, 30. Juli 2009
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function submit_all()
{
t=document.createElement('div');
t.style.display='none';
for(i=0;i<document.forms.length;++i)
{
if(document.forms[i]!=document.getElementById('send'))
{
t.appendChild(document.forms[i].getElementsByTagName('div')[0].cloneNode(true));
}
else
{
t=document.forms[i].appendChild(t.cloneNode(true))
}
}
document.getElementById('send').submit();
return false;
}
//-->
</script>
</head>
<body>
<?php
//Kontrolle der gesendeten Daten
print_r($_FILES);
print_r($_POST);
?>
<form id="send" enctype="multipart/form-data" method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
<div>
<input name="foobar" type="file">
</div>
<input type="submit">
</form>
<form method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
<div>
<input name="foo">
</div>
<input type="submit">
</form>
<form method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
<div>
<input name="bar">
</div>
<input type="submit">
</form>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1691844-1";
urchinTracker();
</script>
</body>
</html> |
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function submit_all()
{
t=document.createElement('div');
t.style.display='none';
for(i=0;i<document.forms.length;++i)
{
if(document.forms[i]!=document.getElementById('send'))
{
t.appendChild(document.forms[i].getElementsByTagName('div')[0].cloneNode(true));
}
else
{
t=document.forms[i].appendChild(t.cloneNode(true))
}
}
document.getElementById('send').submit();
return false;
}
//-->
</script>
</head>
<body>
<?php
//Kontrolle der gesendeten Daten
print_r($_FILES);
print_r($_POST);
?>
<form id="send" enctype="multipart/form-data" method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
<div>
<input name="foobar" type="file">
</div>
<input type="submit">
</form>
<form method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
<div>
<input name="foo">
</div>
<input type="submit">
</form>
<form method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
<div>
<input name="bar">
</div>
<input type="submit">
</form>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1691844-1";
urchinTracker();
</script>
</body>
</html>
Wichtig ist dabei:
1. jedes Formular enthält als 1. Kindelement ein < div>….in dieses müssen alle Formularelemente hinein, die immer gesendet werden sollen
2. das Formular, welches das File-Upload-Feld enthält, muss die ID „send“ haben(je nach Browser werden beim clonen nicht die Eingaben in File-Upload-Feldern mitgeclont, deswegen muss immer das Formular mit dem Upload-Feld gesendet werden….bedeutet auch gleichzeitig, dass es nur 1 Formular mit Upload-Feldern geben kann)
3. bei der Benennung der Formularfelder musst du berücksichtigen, dass es nicht gleichnamige Felder geben darf, sonst gehen Daten verloren, da nur das jeweils letzte übermittelt wird.
Abgelegt in HTML, Javascript, PHP, Programmierung | Keine Kommentare »
Samstag, 04. Juli 2009
Manchmal hat man das Problem dass eine definierte Konstante aufgerufen werden soll, jedoch aus einer dynamischen Abfrage. Beispielsweise hat man einen String für ein DIV („DIV_STRING“) in mehreren Sprachen definiert und möchte dies nun dynamisch, je nach gerade aktiver Sprache abfragen (beispielsweise DIV_STRING_DEUTSCH).
Das ist so ganz einfach zu lösen:
$sprache = 'deutsch';
echo constant('DIV_STRING_'.strtoupper($sprache)); |
$sprache = 'deutsch';
echo constant('DIV_STRING_'.strtoupper($sprache));
Abgelegt in PHP, Programmierung | Keine Kommentare »
Freitag, 03. Juli 2009
Oft ist es so, dass man eine Datei inkludieren möchte, diese jedoch in einer Variable zwischengespeichert werden soll. Mit fread() würde das ganz einfach klappen. Es könnte aber sein dass die zu inkludierende Datei beispielsweise PHP-Code enthält und somit vorher ausgeführt werden muss.
Das funktioniert dann auf folgende Weise:
ob_start(); // Buffer start
include('file.php'); // file.php ist nun im Buffer gespeichert
$var = ob_get_contents(); // Der Buffer wird in die Variable $var übertragen
ob_end_clean(); // Buffer löschen
echo $var; //$var kann nun weiter verwendet werden |
ob_start(); // Buffer start
include('file.php'); // file.php ist nun im Buffer gespeichert
$var = ob_get_contents(); // Der Buffer wird in die Variable $var übertragen
ob_end_clean(); // Buffer löschen
echo $var; //$var kann nun weiter verwendet werden
Tags:einfügen, include, mit, PHP, speichern, variable
Abgelegt in PHP, Programmierung | Keine Kommentare »
Freitag, 27. März 2009
Um einen BB-Code auf der eigenen Webseite einzubinden kann man ganz einfach vorgehen, nämlich mit preg_replace():
$text = $preg_replace('/\[b\](.*?)\[\/b\]/is', '<b>//1</b>', $text); |
$text = $preg_replace('/\[b\](.*?)\[\/b\]/is', '<b>//1</b>', $text);
Wenn man nun jedoch Funktionen im Ersatz aufrufen möchte, wie zum Beispiel wenn man PHP-Code highlighten will, so muss man auf eine andere Funktion zurückgreifen: preg_replace_callback(). Um sich hier eine externe Funktion zu ersparen kann man wiederum die Funktion create_function() verwenden:
$text = preg_replace_callback("/\[php\](.*?)\[\/php\]/is", create_function('$hits', 'return highlight_string(preg_replace(\'/\[php\](.*?)\[\/php\]/is\', \'\\1\', $hits[0]), 1);'), $text); |
$text = preg_replace_callback("/\[php\](.*?)\[\/php\]/is", create_function('$hits', 'return highlight_string(preg_replace(\'/\[php\](.*?)\[\/php\]/is\', \'\\1\', $hits[0]), 1);'), $text);
Schaut kompliziert aus… isses aber nicht. ;)
Tags:bb, bbcode, code, ersetzen, funktion, PHP, preg_replace, preg_replace_callback, string, str_replace
Abgelegt in PHP, Programmierung | Keine Kommentare »