Angepinnt Nützliche PHP-Codeschnipsel

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Es gibt Neuigkeiten! Ab sofort könnt ihr dem Donators Club auf Lebenszeit beitreten.
Weitere Infos im Thema Donator's Club ab heute wieder verfügbar!

  • Hab das ganze jetzt mal ausm Kopf geschrieben und net getestet. Hab auch mal PDO genommen.

    PHP-Quellcode

    1. <?php
    2. $_CONFIG = [
    3. "DB.HOST" => "roce.one", # Datenbank Host
    4. "DB.NN" => "", # Datenbank Benutzer Name
    5. "DB.P" => "", # Datenbank Benuter Passwort
    6. "DB.N" => "" # Datenbank Name
    7. ];
    8. $_DATES = [
    9. "USERTB" => "tbl_users",
    10. "USER-NAME" => "name",
    11. "USER-PW" => "pw",
    12. "SESSION" => "log"
    13. ];
    14. function login_new($user, $password, $loggedin = false,$db = new PDO('mysql:host='.$_CONFIG['DB.HOST'].';dbname='.$_CONFIG['DB.N'].'',$_CONFIG['DB.NN'],$_CONFIG['DB.P'])){
    15. $v = 0;
    16. if(!isset($user) && !isset($password)){
    17. $v = 1;
    18. return $v;
    19. exit;
    20. }
    21. $stmt = $db->prepare("SELECT * FROM ".$_DATES['USERTB']." WHERE `".$_DATES['USER-NAME']."` = :userName AND `".$_DATES['USER-PW']."` = :userPW");
    22. $stmt->execute(array(':userName' => $user, ':userPW' => $password));
    23. if($stmt->rowCount()== 1){
    24. $row = $stmt->fetch(PDO::FETCH_ASSOC);
    25. $name = $row[$_DATES['USER-NAME']];
    26. $_SESSION[$_DATES['SESSION']] = $name;
    27. $v = 3;
    28. if($loggedin == true){
    29. setcookie($_DATES['SESSION'],$name,time()+(3600*48));
    30. }
    31. return $v;
    32. }else{
    33. $v = 2;
    34. return $v;
    35. }
    36. }
    37. // usage:
    38. // login_new("Hans","Passwort");
    39. // login_new("Hans","Passwort",true,$db);
    40. // login_new("Hans","Passwort",false,$db);
    41. // login_new("Hans","Passwort",true);
    42. // login_new("Hans","Passwort",false);
    Alles anzeigen
    Mit freundlichen Grüßen
    Developer
    Senior Webdeveloper | Fachinformatiker Anwendungsentwicklung
  • @Slash™: So leid es mir tut, aber das gibt es bereits.

    Quellcode

    1. composer global require "laravel/installer=~1.1"


    Dann einfach per laravel new NAME ein neues Projekt starten.
    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.

    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.

    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.

    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."

    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.
  • Hier kurz was kleines, um zu checken ob ein SA:MP Server online oder offline ist.

    Dieser Schnipsel wurde zwar mal (so ähnlich) gepostet, aber falsch, da keine UDP Verbindung geöffnet wurde und es deshalb nicht bei allen Server funktioniert ^^

    PHP-Quellcode

    1. function server($ip, $port)
    2. {
    3. return (!@fsockopen("udp://".$ip, $port, $errno, $errstr)) ? "<font color='red'>offline</font>" : "<font color='green'>online</font>";
    4. }
    5. echo "Der Server ist: ".server("89.33.242.224", 7777);


    PS: Die Ip habe ich als zufällig gewählt...den Server kann man eh nicht betreten.

    mfg. :thumbup:


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/
  • Von mir auch noch etwas minimales:

    PHP-Quellcode

    1. /**
    2. * Description of ArrayObjectIterator
    3. *
    4. * @author Lukas
    5. */
    6. class ArrayObjectIterator extends ArrayIterator{
    7. /**
    8. *
    9. * @param string $name
    10. * @return type
    11. */
    12. public function __get($name) {
    13. return $this->offsetGet($name);
    14. }
    15. /**
    16. *
    17. * @param string $name
    18. * @param mixed $value
    19. */
    20. public function __set($name, $value) {
    21. $this->offsetSet($name, $value);
    22. }
    23. }
    Alles anzeigen


    Ermöglicht Zugriff auf ein Array als Array und als Objekt.

    PHP-Quellcode

    1. $test_array = array("test" => "1","foo" => "bar");
    2. $test_obj = new ArrayObjectIterator($test_array);
    3. echo $test_obj['test'];// Gibt 1 aus
    4. echo $test_obj->foo; // gibt bar aus
    Mit freundlichen Grüßen
    Developer
    Senior Webdeveloper | Fachinformatiker Anwendungsentwicklung
  • Ein einfaches Login System

    PHP-Quellcode

    1. <?php
    2. /*
    3. * @author Caglar
    4. * @twitter Caglar2306
    5. */
    6. $_CFG = [
    7. 'MySQL:HOST' => '127.0.0.1',
    8. 'MySQL:USER' => 'root',
    9. 'MySQL:PASS' => '',
    10. 'MySQL:DATA' => 'login',
    11. 'SYS:DEBUG' => true,
    12. 'SITE:TITLE' => 'Meine Seite'
    13. ];
    14. set_time_limit(0);
    15. ini_set('display_errors', $_CFG['SYS:DEBUG']);
    16. ini_set('memory_limit', -1);
    17. date_default_timezone_set('Europe/Berlin');
    18. error_reporting(E_ALL);
    19. if(session_status() == PHP_SESSION_NONE) {
    20. session_start();
    21. }
    22. $Connection;
    23. try {
    24. $Connection = new PDO("mysql:host={$_CFG['MySQL:HOST']};dbname={$_CFG['MySQL:DATA']};charset=utf8", $_CFG['MySQL:USER'], $_CFG['MySQL:PASS']);
    25. $Connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    26. $Connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    27. $Connection->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'");
    28. $Connection->exec('set names utf8');
    29. mb_internal_encoding('UTF-8');
    30. } catch(PDOException $ex) {
    31. die($ex->getMessage());
    32. exit();
    33. }
    34. if(isset($_GET['logout'])) {
    35. session_destroy();
    36. header('Location: index.php');
    37. }
    38. if(isset($_POST['login'])) {
    39. if(isset($_POST['username']) && isset($_POST['password'])) {
    40. $sth = $Connection->prepare('SELECT `id` FROM `users` WHERE `username` = :username AND `password` = :password LIMIT 1');
    41. $sth->execute(array(':username' => $_POST['username'], ':password' => sha1($_POST['password'])));
    42. if($sth->rowCount()) {
    43. $obj = $sth->fetch(PDO::FETCH_OBJ);
    44. $_SESSION['USER:ID'] = $obj->id;
    45. $_SESSION['USER:NAME'] = $_POST['username'];
    46. $_SESSION['USER:PASS'] = sha1($_POST['password']);
    47. header('Location: index.php');
    48. } else {
    49. $message = 'Falsche Zugangsdaten.';
    50. }
    51. }
    52. }
    53. function addUser($username, $password) {
    54. global $Connection;
    55. $sth = $Connection->prepare("INSERT INTO `users` (username, password) VALUES (:username, :password);");
    56. $sth->execute(array(':username' => $username, ':password' => sha1($password)));
    57. }
    58. function get($field, $userid = null) {
    59. global $Connection;
    60. if(!$userid) {
    61. $userid = 0;
    62. if(isLoggedIn()) {
    63. $userid = $_SESSION['USER:ID'];
    64. }
    65. }
    66. $sth = $Connection->prepare("SELECT `{$field}` FROM `users` WHERE `id` = :userid LIMIT 1");
    67. $sth->execute(array(':userid' => $userid));
    68. if($sth->rowCount()) {
    69. $obj = $sth->fetch(PDO::FETCH_ASSOC);
    70. return $obj[$field];
    71. }
    72. return null;
    73. }
    74. function isLoggedIn() {
    75. global $Connection;
    76. if(isset($_SESSION['USER:NAME']) && isset($_SESSION['USER:PASS']) && isset($_SESSION['USER:ID'])) {
    77. $sth = $Connection->prepare('SELECT NULL FROM `users` WHERE `username` = :username AND `password` = :password LIMIT 1');
    78. $sth->execute(array(':username' => $_SESSION['USER:NAME'], ':password' => $_SESSION['USER:PASS']));
    79. if($sth->rowCount()) {
    80. return true;
    81. }
    82. }
    83. return false;
    84. }
    85. function ifisset(&$var, $default = null) {
    86. return isset($var) ? $var : $default;
    87. }
    88. ?>
    89. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    90. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    91. <head>
    92. <title><?= $_CFG['SITE:TITLE'] ?></title>
    93. <meta name="description" content="" />
    94. <meta name="keywords" content="" />
    95. <meta name="robots" content="index, follow" />
    96. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
    97. <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    98. <link rel="shortcut icon" href="favicon.png" />
    99. <link rel="stylesheet" type="text/css" href="css/style.css" />
    100. <!--[if lt IE 9]>
    101. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    102. <![endif]-->
    103. </head>
    104. <body>
    105. <?php if(!isLoggedIn()) { ?>
    106. <?= ifisset($message); ?>
    107. <form method="post">
    108. <input type="text" name="username" placeholder="Benutzername" />
    109. <input type="password" name="password" placeholder="Passwort" />
    110. <input type="submit" name="login" value="Anmelden" />
    111. </form>
    112. <?php } else { ?>
    113. Willkommen <b><?= get('username'); ?></b>.
    114. @@2619ec6bd9c95bbe897fb263e089c598d1173029@@
    115. <?php } ?>
    116. </body>
    117. </html>
    Alles anzeigen


    SQL-Abfrage

    1. DROP TABLE IF EXISTS `users`;
    2. CREATE TABLE `users` (
    3. `id` int(11) NOT NULL AUTO_INCREMENT,
    4. `username` varchar(255) DEFAULT NULL,
    5. `password` varchar(255) DEFAULT NULL,
    6. PRIMARY KEY (`id`)
    7. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;


    Quellcode

    1. /*
    2. Main Style
    3. */
    4. @import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600,400italic,300,300italic,600italic,700,700italic,800,800italic);
    5. * {
    6. font-size: 99%;
    7. font-family: 'Open Sans', 'Arial';
    8. outline: none !important;
    9. -webkit-box-sizing: border-box;
    10. -moz-box-sizing: border-box;
    11. box-sizing: border-box;
    12. }
    13. body {
    14. cursor: default;
    15. margin: 25px;
    16. padding: 0;
    17. color: #222222;
    18. font-weight: 400;
    19. position: relative;
    20. height: 100%;
    21. min-height: 100%;
    22. }
    23. a {
    24. color: #1A4857;
    25. text-decoration: none;
    26. outline: none !important;
    27. }
    28. a:hover {
    29. text-decoration: underline;
    30. }
    31. ul,
    32. ul li {
    33. list-style: none;
    34. margin: 0;
    35. padding: 0;
    36. }
    37. ul li {
    38. padding: 5px 0;
    39. }
    40. ul li:first-child {
    41. padding: 0;
    42. }
    43. time {
    44. font-size: 9pt;
    45. }
    46. .mb10 {
    47. display: block;
    48. margin-bottom: 10px;
    49. }
    50. .mt10 {
    51. display: block;
    52. margin-top: 10px;
    53. }
    Alles anzeigen
    PayPal: herprince@outlook.de
    Twitter
    DeviantArt

    Programmierung Service
    JAVA (bspw. Android Applikationen, Modifikationen bzw. Plugins für Minecraft),
    C# (Konsolen- oder Windows Form Anwendungen),
    PHP (Objektorientiert, Routing, MVC Pattern etc.),
    HTML5 (dazu gehören auch Spiele ectera)

    [ BIETE ] • Webdesigning • WBB4 • WordPress • Anpassungen für vorhandene Designs •
  • [CAKEPHP] Alle Variablen auslesen

    mit diesem Quellcode könnt ihr alle Variablen auslesen.

    PHP-Quellcode

    1. debug(array_keys(get_defined_vars())); //Auslesen der Variablen Namen
    2. foreach(array_keys(get_defined_vars()) as $variable) //Auslesen der einzelnden Variablen
    3. {
    4. if(isset($dataForView[$variable]))
    5. {
    6. echo $variable;
    7. debug($dataForView[$variable]);
    8. }
    9. }


    P.s. bei CakePHP funktioniert $GLOBALS nicht.

    Images:

    Auslesen der Variablen Namen


    Auslesen der einzelnden Variablen


    #EDIT
    Man kann es auch per Tab einfügen.

    PHP-Quellcode

    1. <div class="tabbable">
    2. <ul class="nav nav-tabs">
    3. <?php
    4. $tempfirst = true;
    5. foreach(array_keys(get_defined_vars()) as $variable)
    6. {
    7. if(isset($dataForView[$variable])) echo '<li'.($tempfirst == true ? " class="active"" : "").'>@@8c5c8d944d124408ef553ed1b0e7eb8cbbe7d073@@</li>';
    8. $tempfirst = false;
    9. }
    10. ?>
    11. </ul>
    12. <div class="tab-content">
    13. <?php
    14. $tempfirst = true;
    15. foreach(array_keys(get_defined_vars()) as $variable)
    16. {
    17. if(isset($dataForView[$variable])) echo '
    18. <div class="tab-pane'.($tempfirst == true ? " active" : "").'" id="tab'.$variable.'">
    19. ', debug($dataForView[$variable]) ,'
    20. </div>';
    21. $tempfirst = false;
    22. }
    23. ?>
    24. </div>
    25. </div>
    Alles anzeigen

    Images:
    2. Möglichkeit:
    Mit Freundlichen Grüßen
    Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.


    An die Wand mit allen Abwerbern

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Kaito-sensei () aus folgendem Grund: 2. Möglichkeit eingefügt

  • Hab heut auf arbeit mal n kleines t-sql skript geschrieben was bekannte werte aus unbekannten spalten filtert.
    Vielleicht kann es ja noch jemanden weiterhelfen.

    Spoiler anzeigen

    SQL-Abfrage

    1. /*
    2. =====================================================
    3. Florian Gerhardt
    4. BI Developer
    5. 02.09.2015
    6. Das Skript gibt eine Auflistung von allen Feldern
    7. mit dem dazugehörigen Inhalt, wo das gesuchte Wort,
    8. bzw. Zeichenkette vorhanden ist.
    9. =====================================================
    10. */
    11. DECLARE @SelectDatabase varchar(80) = 'DWHC_STG_AX1',
    12. @SelectSchema varchar(60) = 'STG',
    13. @SelectTable varchar(80) = 'HRMCertificateType',
    14. @Find varchar(60) = 'microsoft',
    15. @Query varchar(MAX);
    16. DROP TABLE #tempResults
    17. DROP TABLE #Results
    18. CREATE TABLE #tempResults (
    19. ID int NOT NULL IDENTITY,
    20. Datenbank varchar(80) NOT NULL,
    21. db_Schema varchar(60) NOT NULL,
    22. db_Tabelle varchar(80) NOT NULL,
    23. db_Spalte varchar(80) NOT NULL
    24. )
    25. CREATE TABLE #Results (
    26. ID int NOT NULL IDENTITY,
    27. Datenbank varchar(80) NOT NULL,
    28. db_Schema varchar(60) NOT NULL,
    29. db_Tabelle varchar(80) NOT NULL,
    30. db_Spalte varchar(80) NOT NULL,
    31. db_Wert varchar(MAX)NOT NULL
    32. )
    33. SET @Query = '
    34. USE '+@SelectDatabase+';
    35. INSERT INTO #tempResults
    36. SELECT
    37. '''+@SelectDatabase+''' AS Datenbank,
    38. OBJECT_SCHEMA_NAME(tab.object_id) AS db_Schema,
    39. tab.name as db_Tabelle,
    40. col.name
    41. FROM
    42. sys.tables tab
    43. INNER JOIN sys.columns col
    44. ON tab.object_id = col.object_id
    45. AND tab.name = '''+@SelectTable+'''
    46. ';
    47. exec(@Query);
    48. DECLARE @ColumnName varchar(80);
    49. DECLARE find_cursor CURSOR FOR
    50. SELECT
    51. res.db_Spalte
    52. FROM
    53. #tempResults res
    54. OPEN find_cursor;
    55. FETCH NEXT FROM find_cursor
    56. INTO @ColumnName;
    57. WHILE @@FETCH_STATUS = 0 BEGIN
    58. SET @Query = '
    59. INSERT INTO #Results
    60. SELECT
    61. DISTINCT
    62. '''+@SelectDatabase+''' AS Datenbank,
    63. '''+@SelectSchema+''' AS db_Schema,
    64. '''+@SelectTable+''' AS db_Tabelle,
    65. '''+@ColumnName+''' AS db_Spalte,
    66. cols.Value AS db_Wert
    67. FROM
    68. '+@SelectDatabase+'.'+@SelectSchema+'.'+@SelectTable+'
    69. CROSS APPLY (SELECT '''' AS ColumnName, '''' AS Value WHERE 1=0
    70. UNION ALL SELECT '''+ @ColumnName +''' AS ColumnName,'+ @ColumnName +' AS Value
    71. ) cols
    72. WHERE cols.Value like ''%'+@Find+'%''
    73. ';
    74. PRINT @Query;
    75. EXEC(@Query);
    76. FETCH NEXT FROM find_cursor
    77. INTO @ColumnName;
    78. END
    79. CLOSE find_cursor;
    80. DEALLOCATE find_cursor;
    81. select * from #Results
    Alles anzeigen
    [Bedrohung für WestCoast... ]

    Meine Werke hier im Forum:
    Zu sehen in meinem Profil.

  • Kleiner Codeschnipsel für AngularJS, der Controller muss noch gesetzt werden via ng_controller= "TwitchController"

    Quellcode

    1. .controller('TwitchController', function($scope, $http){
    2. $http({
    3. url: 'https://api.twitch.tv/kraken/streams/DreamhackSC2',
    4. method: "GET",
    5. }).then(function(newsResponse) {
    6. $scope.twitch = newsResponse.data;
    7. });
    8. })



    Quellcode

    1. <p>Livestream <span ng-if= "twitch['stream'] != null" id = "online">online</span> <span ng-if= "twitch['stream'] == null" id = "offline">offline</span> </p>

    Beitrag von SAMRA ()

    Dieser Beitrag wurde von shoxinat0r aus folgendem Grund gelöscht: Erstell ein eigenes Thema ().

    Beitrag von hundi ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: /fail ().