Suche auf lima-city
-
in: MySQL Tabelle kopieren (inkl. Keys)
geschrieben von osuche
Hallo
wie kann ich eine Tabelle aus der DB komlett kopieren
also nicht nur die Daten (Inhalte / Einträge) sondern auch mit KEYs, etc.
gefunden habe ich sowas:
$sql = "CREATE TABLE neue_tabelle AS SELECT * FROM alte_tabelle";
damit werden zwar die Inhalte in die neue Tabelle kopiert,
aber nicht die KEYs, etc. aus der alten Tabelle
wie bekomme ich eine wirklich identische Kopie ?
(ohne dass ich vorher Struktur und KEYs, etc. kenne)
Danke -
in: Funktion zur sicheren Variable Übergabe
geschrieben von osuche
Hallo
ich suche eine Funktion, um Variablen die per _GET oder _POST übergeben werden
vor der weiter-Verarbeitung zu filtern, um Fehler auszuschließen und Angriffe abzuwehren
ich stelle mir das so vor:
if (!empty($_REQUEST['variable'])) { $ok_variable = filter_request($_REQUEST['variable'], true, '0-9'); }
um dann mit $ok_variable weiter im Script zu arbeiten
als Funktion filter_request() etwa so:
function filter_request ($var, $tags=true, $erlaubt='A-Za-z0-9_-') { // ---- immer anwenden --- $var = trim(chop($var)); $var = stripslashes($var); $var = html_entity_decode($var); // ---- Optional anwenden --- if ($tags === false) { $var = strip_tags($var); } // ---- nur erlaubte Zeichen --- $var = preg_replace("/[^".$erlaubt."]/","",$word); return $var; }
Das ist nur ein erster Versuch, quasi nur die Idee ....
Welche Filter sollte ich in die Funktion rein packen ?
a) die immer angewendet werden
b) die optional angewendet werden (mit Schalter true / false)
c) sonstige Filter (wie z.B. erlaubte Zeichen, etc.)
Oder gibt es für sowas schon die eine oder andere frei Verfügbare
und brauchbare Funktion, die Ihr mir empfehlen könnt ?!?
-
in: Alle Bilder eines Ordners auslesen
geschrieben von osuche
Hallo
na wen Du die Dateinamen hast, dann kannst Du doch das Bild auch
ganz einfach in einem <img> TAG anzeigen ....
einfach untereinander:
<?php $bilderordner = '../images/'; // ---- Pfad zum Ordner mit Slash / am Ende $bilderarray = glob($bilderordner."{*.gif,*.png,*.jpg}", GLOB_BRACE); foreach( $bilderarray as $filename) { echo "<br /> <img src=\"".$filename."\" border=\"0\" alt=\"Bild Nr: ".$i."\" />\r\n"; echo "<br /> \r\n"; } ?>
oder immer 3 Bilder nebeneinander
<?php $bilderordner = '../images/'; // ---- Pfad zum Ordner mit Slash / am Ende $bilderarray = glob($bilderordner."{*.gif,*.png,*.jpg}", GLOB_BRACE); echo "<div style=\"text-align:center; margin:0px; padding:0px;\">\r\n"; echo "<div style=\"width:660px; margin:0 auto; padding;10px; background:#CCCCCC;\">\r\n"; $n=3; // --- Umbruch nach $n Bildern $i=0; foreach( $bilderarray as $filename) { $xi = ($i % $n); if ( $i != 0 && $xi == 0 ) { // --- Umbruch / neue Zeile echo "<div style=\"clear:both; margin:0px; padding;0px;\">\r\n"; } $bnr = ($i+1); echo "<div style=\"float:left; text-align:center; margin:10px; padding:10px; background:#CCFFAA;\">\r\n"; echo "<p>\r\n"; echo "Bild Nr: ".$bnr." \r\n"; echo "<br /> <img src=\"".$filename."\" border=\"0\" width=\"180\" alt=\"Bild Nr: ".$bnr."\" />\r\n"; echo "</p>\r\n"; echo "</div>\r\n"; $i++; } echo "</div>\r\n"; echo "</div>\r\n"; ?>
nur so als Beispiel
-
in: Forum Aktivität für Webspace ?
geschrieben von osuche
Hallo
da ich es so von anderen Free-Webspace Anbietern kenne
hier mal die Frage:
muss man im Forum innerhalb eines bestimmten Zeitraums aktiv sein
(Beitrag schreiben oder sich nur einloggen)
damit der Webspace weiterhin besteht ?
-
in: Seiten Blättern in MySQL Ergebnis
geschrieben von osuche
ganeuer noch:
wenn( größer und gleich 10 und kleiner 100 ) ...
sonst ist bei genau 10 keine 0 (NULL) vorne dran !!!
if (10 <= $np AND $np < 100) { $npi = "0".$np; }
und noch .... für Seiten Blättern in einem Array
Funktion:
<?php // ---------------------------------------------------- function SeitenNavi ($anzahl, $proseite, $gopage, $xlimit_li, $xlimit_re) { $maxseite = ceil(($anzahl/$proseite)); $xlimit = ($xlimit_li + $xlimit_re + 1); if ($maxseite < $gopage) { $gopage = 1; } if ($gopage < 1) { $gopage = 1; } $pstart = ( ($gopage * $proseite) - $proseite ); $pender = ( $pstart + $proseite ); $yps = ($gopage-($xlimit_li+1)); if ($yps < 1) { $yps = 1; } $ype = ($yps + $xlimit); for ($zp=0; $zp<$xlimit; $zp++) { if ($gopage == ($maxseite-$zp)) { $yps = ($yps-($xlimit-$zp-1)); } } $zpe = ($maxseite - $xlimit_re - 1); if ($zpe <= $gopage) { $yps = ($yps+1); } $pagenavi = ''; ## $pagenavi .= ' '; $pagenavi .= 'Seiten: '; if ($gopage == 1) { $pagenavi .= " <u>001</u> "; } else { $pagenavi .= " <a href=\"index.php?p=1\">001</a> "; } if ( $maxseite > 1 ) { $pagenavi .= " ... "; for($xp=$yps; $xp<$ype; $xp++) { $np = ($xp + 1); if (10 <= $np AND $np < 100) { $npi = "0".$np; } elseif ($np < 10) { $npi = "00".$np; } else { $npi = "".$np; } if ($np < $maxseite) { if ($np == $gopage) { $pagenavi .= " <u>".$npi."</u> -"; } else { $pagenavi .= " <a href=\"index.php?p=".$np."\">".$npi."</a> -"; } } } $pagenavi = rtrim($pagenavi,'-'); if (10 <= $maxseite AND $maxseite < 100) { $pmaxi = "0".$maxseite; } elseif ($maxseite < 10) { $pmaxi = "00".$maxseite; } else { $pmaxi = "".$maxseite; } $pagenavi .= " ... "; if ($gopage == $maxseite) { $pagenavi .= " <u>".$pmaxi."</u> "; } else { $pagenavi .= " <a href=\"index.php?p=".$maxseite."\">".$pmaxi."</a> "; } } return $pagenavi; } // ---------------------------------------------------- ?>
Aunwendung:
<?php // ---------------------------------------------------- $anzahl = count($data); // --- Anzahl der Elemente im Array $proseite = 10; // --- Ausgabe max. Elemente pro Seite $pnli = 3; // --- Linkanzahl links von der aktuellen Seite $pnre = 3; // --- Linkanzahl rechts von der aktuellen Seite // --- aktuelle Seite if (!empty($_REQUEST['p'];)) { $gopage = $_REQUEST['p']; } else { $gopage = 1; } // ---------------------------------------------------- $pnavi = SeitenNavi ($anzahl, $proseite, $gopage, $pnli, $pnre); echo "<br />".$pnavi."\r\n"; // ---- Ausgabe zum Seiten-Blaettern $teildata = array_chunk($data,$proseite); $xpage = ($gopage-1); $showdata = $teildata[$xpage]; echo "<pre>\r\n"; print_r($showdata); // ---- Ausgabe Teil-Array zur aktuellen Seite echo "<pre>\r\n"; // ---------------------------------------------------- ?>
Beispiel Ausgabe auf Seite 7 mit Linkanzahl (links und rechts der Seite) je 2 Links
Seiten: 001 ... 005 - 006 - 007 - 008 - 009 ... 020
.... alle Zahlen ausser hier die 007 sind Link zur jeweiligen Seite ... ?p=
:)
-
in: Euro-Zeichen aus UTF8-String
geschrieben von osuche
Hallo
ich habe einen String in UTF-8 und darin enthalten sind Euro-Zeichen
aber bei Ausgabe sieht man nicht das € Zeichen
sondern so als das Zeichen
ich habe versucht
$text = str_replace(chr(128),'€',$text);
oder auch
$text = str_replace(chr(0x80),'€',$text);
beide ergebnisse gleich, damit bekomme ich zwar das Euro-Zeichen angezeigt,
aber vor dem € Zeichen steht noch eine schwarze Raute mit Fragezeichen �€
also irgendwas ist da noch .... aber was ?!
wie bekomme ich "Nur" das € Zeichen angezeigt ?!
EDIT: .... habs gefunden .... vin UTF-8 steht vor dem Euro-Zeichen noch ein Â
und orf('Â') = 194
also
$text = str_replace(chr(194).chr(128),'€',$text);
oder einfach
$text = str_replace('€','€',$text);
:)
-
in: vor strip_tags() Leerzeichen zwischen alle TAGs hinzufügen
geschrieben von osuche
Hallo
nagut, beser unendlich als 99
jetzt wundert mich aber, warum die Ersetzung NICHT mit einem Minus-Zeichen funktioniert ?!
$str = preg_replace('/-{2,}/', '-', $str);
damit bleiben mehrfache Minus-Zeichen ---- im String ?!
hä?
EDIT ach ich habs .. das Minus-Zeichen escapen,
weil es ja eine "Funktion" von-bis im Ausdruck hat
$str = preg_replace('/\-{2,}/', '-', $str);
alles kalr :) ... ich schick Antwort trotzdem ab,
vielleicht hilft es ja auch noch Anderen
die mehrfache "Minus" Zeichen zu einem machen wollen
-
in: vor strip_tags() Leerzeichen zwischen alle TAGs hinzufügen
geschrieben von osuche
Hallo
wenn ich einen HTML-Code mit strip-tags() zu reinem text machen will,
dann bekomme ich oft einen String, in dem (wichtige) Leerzeichen zwischen den TAG Elementen fehlen
BSP
<p>Artikel Titel</p>
<ul>
<li>Farbe ist blau</lI>
<li>die Größe ist riesig</li>
<li>Material ist Aluminium</li>
</ul>
ergibt mit strip_tags()
$str = "Artikel TitelFarbe ist blaudie Größe ist riesigMaterial ist Aluminium";
gewünscht iat aber ein Ergebnis wie
$str = "Artikel Titel Farbe ist blau die Größe ist riesig Material ist Aluminium";
jetzt bräuchte ich wohl einen preg_replace()
um bei jedem TAG ein Leerzeichen einzufügen
wenn dabei auch mal mehrere Leerzeichen entstehen, kein Problem
denn mehrfache Leerzeichen kann man leicht zu einem ersetzen
aber fehlende kann man eben nicht (nachträglich) rein-zaubern
auch nicht mit Suche nach Gross-Buchstaben, da manche Elemente mit Klein-Buchstaben beginnen
wie müsste ein preg_replace() aussehen
um bei jedem HTML Tag innerhalb des TAGs ein Leerzeichen einzufügen
damit bei strip_tags() die Worte aus verschiedenen Elementen nicht zu einem Wort verschmelzen ??
EDIT: hab was gefunden !!!
... http://www.php.net/manual/de/function.strip-tags.php#100995
und ein bichen erweitert ...
besser als strip_tags ist wohl mit preg_replace
<?php // ---- Quellcode mit Umbruch ---- $htmlcode = ' <p>First line</p> <a href="foo">bar</a> <p>Second line</p> <a href="foo">bar</a> <p>Third line</p> '; $striped1 = strip_tags ($htmlcode); $striped2 = preg_replace ('/<[^>]*>/', ' ', $htmlcode); $rspaced = $striped2; // ---- Umbruch entfernen --- evtl nur \n ---- $rspaced = str_replace("\r\n", "", $rspaced); // ---- Mehrfache Leerzeichen entfernen ---- $rspaced = trim(preg_replace('/ {2,99}/', ' ', $rspaced)); echo "<pre>\r\n"; echo "strip_tags(): \r\n" . $striped1. "\r\n"; echo "Mit Regexp: \r\n" .$striped2. "\r\n"; echo "Spaced: \r\n" .$rspaced. "\r\n"; echo "</pre>\r\n"; ?>
Ausgabe:
strip_tags(): First line bar Second line bar Third line Mit Regexp: First line bar Second line bar Third line Spaced: First line bar Second line bar Third line
man beachte die Leerzeichen bei Mit Regexp
besser :) ... oder ? ... andere Ideen ?
-
in: spannende ungelöste mathematische Probleme
geschrieben von osuche
wpl schrieb:
Ergänzung: Die Quadratur des Kreises ist im übrigen ebenfalls ein unlösbares Problem.
Die Quadratur des Kreises hat 2 Lösungen:
= Radius mal PI hoch 2
und
= Radius hoch 2 mal PI
das gilt aber nur an 2 Tagen im Jahr: am 11.11. (heute) und am 1. April
(Achtung! Scherz !!!) -
in: Leerzeichen nach / vor bestimmten Zeichen erzwingen ?
geschrieben von osuche
Hallo
ich möchte in einem String vor / nach bestimmten Zeichen ein Leerzeichen erzwingen
1) für bekannte Zeichen:
bisher habe ich folgendes
<?php $string = 'Jeder der kann/will wird es schaffen(machen)oder:auch nicht,mir egal;oder auch nicht!'; $xzeichen = array( '(', '/' ); // ----- Leerzeichen davor $yzeichen = array( ':', ';', '.', ',', '!', '?', ')', '/' ); // ---- Leerzeichen danach // ------ Leerzeichen davor ----- foreach ($xzeichen as $xz) { $string = str_replace( $xz, ' '.$xz, $string); } // ------ Leerzeichen danach ----- foreach ($yzeichen as $yz) { $string = str_replace( $yz, $yz.' ', $string); } // ------ mehrfache Leerzeichen ----- $string = preg_replace('/ {2,}/', ' ', $string); ?>
das funktioniert soweit,
aber ich kenne mich mit preg_replace nicht so gut aus
und denke, evtl gibt es damit eine bessere Lösung,
Problem ist auch der Punkt ... wenn ich (float) Zahlen im String habe
dann wird aus "33.33%" dann "33. 33%" ... oder aus 1.52 MB ... 1. 52 MB
also Regel: nur wenn Wort keine Zahl ist ? .... is_numeric() .... ?
und jetzt das zweite Problem:
2) unbekannte Zeichen
Im String sind Aufzählungen die wahrscheinlich aus Listen erstellt wurden
und im String kommen dann Sachen an wie:
$string = 'Ich fahre BMWDas Auto ist immer SauberIch wasche es jeden Tag';
auf die Erstellung der Strings habe ich keinen Einfluss, daher kann dabei nix ändern
Eine Lösung für Leerzeichen vor Grossbuchstabe habe ich auf Lima-City gefunden
Hier: https://www.lima-city.de/thread/profen-ob-innerhalb-wort-grosser-buchstabe
Aber bei bestimmten Fällen klappt das leider nicht, z.B. .... BMWDas Auto .....
also bräuchte ich noch eine Regel um dann ein Leerzeichen einzufügen
wenn der folgende Buchstabe nach mehreren Grossbuchstaben wieder ein Kleinbuchstabe ist
also so, das aus dem Teil ... BMWDas Auto .... das wird: ... BMW Das Auto ....
wenn Wort mehrere Grossbuchstaben in folge enthält aber auch noch Kleinbuchstaben
dann Wort mit Leerzeichen trennen an der Stelle ab 1. Kleinbuchstabe minus 1
ich hoffe das Problem ist verstanden und jemand kann mir helfen.
Danke schonmal !
-
in: Passwort Verschlüsselung (nicht md5) ?
geschrieben von osuche
ok, verstehe,
aber macht das Sinn für ein einfaches User-Passwort
die Verschlüsselung 100te oder 1000de male zu machen ?!
ich denke doch, dase es alleine schon durch $salt relativ sicher ist
und kann kaum ent-schlüsselt werden, ausser vielleicht mit nem "SuperComputer",
aber wer hat schon sowas ...
ich denke für meine Zwecke wird ein einfaches Verschlüsseln genügen
entwerder
$pwcheck = sha1($pwinput . $salt);
oder halt
$pwcheck = md5($pwinput . $salt);
man könnte ja auch zwei $salt machen, eins vor und eins nach dem Klartext-Passwort
sha1($salt1 . $pwinput . $salt2);
ist doch bestimmt Ressourcen-Schonender als x-mal wieder und wieder verschlüsseln
oder ?
EDIT:
die Nutzung von SESSION ist ne gute Idee,
um nicht bei jedem Aufruf das Passwort neu prüfen zu müssen
Danke
-
in: Passwort Verschlüsselung (nicht md5) ?
geschrieben von osuche
naja, wirklich viel Aufwand will ich garnicht betreiben um einfache User-Zugangs-Daten zu verschlüsseln
es soll nur einfach funktionieren, und bei der Wahrscheinlichkeit kann ich wohl getrost bei md5() bleiben
aber sha1 werde ich auch mal ausprobieren,
sooooo viel Aufwand ist das ja auch nicht, wenn ich es so mache
$pwstored ist das genau wie $pwcheck verschlüsselt gespeicherte Passwort
$pwinput = $_REQUEST['password']; $salt = 'xY61FuMt7gizR5'; $pwcheck = sha1($pwinput . $salt); if ($pwcheck == $pwstored) { // ---- OK ---- }
sonst hatte ich halt einfach md5($pwinput . $salt); anstatt sha1($pwinput . $salt);
was ja auch OK zu sein scheint, ... oder wie würdet Ihr es (anders) machen ?
Danke!
EDIT:
Danke @hemiolos für das Beispiel, aber warum machst Du eine Schleife mit 100k Schritten
ohne dann innerhalb der Schleife das $i zu verwenden ... ??? #
kapier' ich grad garnicht
warum nicht einfach so
$res1 = sha1($pwd); $res2 = sha1($res1 . sha1($salt . sha1(res1))); ...
und OK ok ... ein Passwort NICHT zu speichern ist kein guter Plan ... eher Sinnfrei ^^
-
in: Passwort Verschlüsselung (nicht md5) ?
geschrieben von osuche
Hallo
ich habe gelesen, dass mei md5() die Möglichkeit besteht,
dass aus zwei unterschiedlichen Strings der exact gleiche Hash bei raus kommt
wie kann ich ein Passwort zum Speichern am besten verschlüsseln?
... also was sind Alternativen um ein Passwort verschlüsselt zu speichern ?
Danke!
-
in: XML Daten in Array ?
geschrieben von osuche
Danke,
aber damit erhalte ich nur die erste Ebene als Array, was mich auch nicht wirklich weiter bringt
die XML Daten sind mehrdimensional ... alle tiefer leigenden Elemente bleiben damit Objekte
habe ein bischen gegoogelt und folgende 3 Varianten gefunden (Strichwort : "Objekt to Array")
Variante 1 ... mit foreach() Schleife
function object2array($obj) { $_arr = is_object($obj) ? get_object_vars($obj) : $obj; foreach ($_arr as $key => $val) { $val = (is_array($val) || is_object($val)) ? object2array($val) : $val; $arr[$key] = $val; } return $arr; }
Variante 2 ... ohne foreach() Schleife
ohne die Zeile: if (empty($object)) { $object = ''; }
bekomme ich bei leeren Objekten ein leeres Array,,
aber mit bekomme ich einen leeren Wert, gefällt mir besser
function object2array($object) { if (is_object($object)) { $object = get_object_vars($object); if (empty($object)) { $object = ''; } } return is_array($object) ? array_map(__FUNCTION__, $object) : $object; }
Variante 3 ...json_decode von json_encode
vielleicht ein bischen komisch ....
und hier bekomme ich bei leeren Objekten als Ergebnis wieder ein leeres Array
was isch aber nicht haben will ...
function object2array($object) { return @json_decode(@json_encode($object),1); }
am besten gefällt (bisher) mir Variante 2
stellt sich die Frage, welche die "beste" ist (schnellste / performateste)
und ob es noch andere (bessere) Möglichkeiten gibt
-
in: XML Daten in Array ?
geschrieben von osuche
Hallo
wie bekomme ich XML Daten in ein Array ?
mit SimpleXML bekomme ich zwar Objekte, aber wie diese in Array übersetzen ?
oder wie kann ich XML gleich direkt in ein Array laden ?
Alternative(n) zu SimpleXML ?