Password vergessen?Jetzt registrieren!
SmartFAQ is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)
FAQ 
Welcome to the FAQ In this area of our site, you will find the answers to the frequently asked questions, as well as answers to How do I and Did you know questions. Please feel free to post a comment on any Q&A.
 Categories summary

 Last published Q&A
Here is a list of the last Q&As that were published.
(1) 2 »
MySQL ]
Requested and Answered by Stefan Freisler on 19-Sep-2007 02:42 (555 reads)
Oft kommt es vor das viele Einträge in einer Tabelle stehen man aber nur die sehen will die sich unterscheiden. Z.B. in einem Webshop welche Produkte diese Woche gekauft wurden.


DESTINCT heist da das Zauberwort:

 
SELECT DISTINCT `feld` FROM `tabelle`
 


Wenn man einfach nur sehen will wieviele Verschiedene es gibt dann geht das so:

 
SELECT COUNT(DISTINCT `feld`) FROM `tabelle`
 


Xoops ]
Requested and Answered by Stefan Freisler on 17-Sep-2007 23:56 (182 reads)
Als erstes muss man den XoopsMailer einbinden:
include XOOPS_ROOT_PATH."/class/xoopsmailer.php";
Anschließend binden wir das Emailtemplate ein. Man sollte es in einem Sprachordner haben damit man das ganze auch für mehrere Sprachen zur Verfügung stellen kann. In meinem Beispiel wird als erstes geschaut ob es die aktuelle Sprache gibt falls nicht wird das Template aus dem Englisch Ordner genommen.
 
		if( file_exists(XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname') . '/language/'. $xoopsConfig['language'] .'/')) $xoopsMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname') . '/language/'. $xoopsConfig['language'] .'');
		else $xoopsMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname') . '/language/english');
 
		$xoopsMailer->setTemplate('mail_confirm');
 
Jetzt muss man die Variablen festlegen. Wohin soll die Email gesendet werden:
$xoopsMailer->setToEmails("mail@example.com");
Von welcher Email aus gesendet werden soll:
$xoopsMailer->setFromEmail("mail@beispiel.de");
Von wem aus (Name) gesendet wird:
$xoopsMailer->setFromName("Max Musterman");
Der Betreff:
$xoopsMailer->setSubject("Vielen Dank für deine Anmeldung");
Variablen die man im Template wieder aufgreift:
$xoopsMailer->assign("NAME", "Richard Gastman");
$xoopsMailer->assign("DATE", "01.01.2007");
$xoopsMailer->assign("URL", XOOPS_URL."/");
Das Template könnte jetzt so aussehen:
Hallo {NAME},
Vielen Dank, dass du dich angemeldet hast
Du findest alle wichtigen Informationen auf {URL}. 
Fall das Fest nicht wie geplant am {DATE} stattfindet werden wir dich natürlich darüber informieren.


Xoops ]
Requested and Answered by Stefan Freisler on 17-Sep-2007 23:25 (250 reads)
Als erstes wird das Framework benötigt was z.B. bei Simple-Xoops schon fester Bestandteil ist. D.h. eine Abhängigkeit hat man mehr! Danach muss man die entsprechenden Funktionen einbinden:
include_once XOOPS_ROOT_PATH."/Frameworks/captcha/formcaptcha.php";
Anschließen kann man es wie ein normales Xoops Form elemente einbinden das geht so:
$xoopsform->addElement(new XoopsFormCaptcha() );
Überprüfen kann man es dann folgendermaßen. einbinden der Klasse:
include_once XOOPS_ROOT_PATH."/Frameworks/captcha/captcha.php";
Abfragen ob alles Richtig gelaufen ist.
 
        $xoopsCaptcha = XoopsCaptcha::instance();
        if (! $xoopsCaptcha->verify() ) {
            $stop .= $xoopsCaptcha->getMessage()."<br />";
        }
 
Falls man XoopsThemeForm verwendet und das ganze über ein Template ausgeben lässt kann man es folgendermaßen machen. cooming soon ;-(


Xoops ]
Requested and Answered by Stefan Freisler on 15-Sep-2007 03:44 (230 reads)
Nach dem Einbinden von der mainfile.php stehen folgende Variablen zur Verfügung

PHP Variablen

$xoopsModule - Alles Wissenswerte über das Gerade Verwendete Modul (Contentmodul)
$xoopsModuleConfig - Einstellungen vom aktuell verwendeten Modul
$xoopsUser - Informationen über den User der das Script aufruft
$xoopsConfig - Allgemeine Xoops einstellungen
$xoopsOption - Andere Informationen über die Seite und das verwendete Theame

PHP Konstanten
XOOPS_URL - Xoops URL
XOOPS_ROOT_PATH - Pfad zum Xoops Wurzelverzeichniss

Smarty Variablen

<{$xoops_isuser}> - 1 User ist eingelogged, 0 er ist nicht eingelogged
<{$user_method}> - Bevorzugte Benachrichtigungsmethode
<{$xoops_isadmin}> - 1 ist Admin, 0 er ist kein Admin (Page Admin!!)
<{$xoops_uname}> - Username
<{$xoops_userid}> - User ID
<{$xoops_charset}> - Verwendete Zeichenkodierung z.B. utf-8
<{$xoops_langcode}> - Sprachen kürzel (en für Englisch, de für deutsch)
<{$xoops_sitename}> - Sitenname
<{$xoops_slogan}> - Sitenslogan
<{$xoops_pagetitle}> - Seiten Titel
<{$xoops_version}> - Xoops Version
<{$xoops_theme}> - Name des verwendeten Theme
<{$xoops_themecss}> - URL zur Theme css Datei
<{$SCRIPT_NAME}> - Pfad bis XOOPS_URL (z.B. modules/news/index.php)
<{$xoops_imageurl}> - URL des Themeordners
<{$xoops_requesturi}> - URL die (angefordert wurde (z.B. /modules/news/article.php?storyid=1)
<{$xoops_rootpath}> - Xoops Wurzel Verzeichniss
<{$xoops_upload_url}> - Verzeichniss zum Xoops Uploadverzeichniss
<{$xoops_url}> - Xoops URL


Voiceserver ]
Requested and Answered by Stefan Freisler on 31-Aug-2007 17:25 (201 reads)
Ein sehr gutes Tutorial kann man hier finden: http://forum.goteamspeak.com/showthread.php?t=17687


Voiceserver ]
Requested and Answered by Stefan Freisler on 31-Aug-2007 17:24 (161 reads)
Linux Ventrilo Server: Anleitung zur Einrichtung eines Ventrilo Server. Hinweis: Bitte beachten sie die allgemeinen Hinweise zur Erstellung eines Voiceservers unter Linux. 1. In die shell einloggen. 2. In beliebiges Verzeichnis wechseln z.B. cd /home/voiceserver (falls ihr hier eure Voiceserver hierhin installiert) 3. Ordner fr den Battlefiel 2 Server erstellen. mkdir ventrilo 4. In diesen Ordner wechseln cd ./ventrilo 5. Upload des Linux Servers. 6. Entpacke das Archiev: tar zxf ventrilo_srv-2.3.1-Linux-i386.tar.gz 6. Anpassung der Serverconfig an euere Bedrfnisse: (ventrilo_srv.ini) 7. Server starten. ./ventrilo_srv besser allerdings mit Screen damit er im Hintergrund weiterläuft (Screen Tutorial) screen -dmS ventrilo ./ventrilo_srv 8. Viel Spass auf dem Server Um den Server wieder zu stoppen: killall ventrilo (kleiner Tipp wenn sich der Server nicht beenden will "killall -9")


Requested and Answered by Stefan Freisler on 01-May-2007 23:44 (238 reads)
Das geht folgendermaßen.
 
<?php
$str = 'willkommen auf a-bout.de';
$length = 13; // also 'willkommen au'
$substr1 = substr($str, 0 , $length); //So kann den String splitten
 
$reststr = substr($str, $length); //Rest string
 
//Jetzt wird nach dem ersten Leerzeichen gesucht
$pos = strpos ( $reststr, ' ');
 
//Das letzte Wort ergenzen.
$substr2 = substr($str, $length, $pos); //So kann den String splitten
 
echo $substr1 . $substr2;
?>
 
Ausgabe: willkommen auf


Requested and Answered by Stefan Freisler on 01-May-2007 23:43 (130 reads)
Das geht folgendermaßen:
 
<?php
 
$path_info = pathinfo('http://www.a-bout.de/modules/news/index.php?bla=test');
 
$parameter = strchr($path_info['extension'], '?');
echo $parameter;
 
?>
 


Mail ]
Requested and Answered by Stefan Freisler on 01-May-2007 23:43 (263 reads)
Vorraussetzung: Hierfür muss auf dem Rechner ein SMTP Server installiert sein ist allerdings Standard auf Unixsystemen. Das senden geht dann ganz leicht:
 
<?php
$eMail_from = 'name@domain.de';
$eMail_to = 'name@domain.de, name1@domain1.de';//Mit Komma kann man belibig viele Emails anhaengen
$subject = 'Betreff';
$message = 'Hallo, hier ist meine message';
 
//Header wichtig beim senden
$header = 'From: Betreff '. $eMail_from .'\r\n';
$header .= 'TO: Name <name@domain.de>, Name2 <name1@domain1.de>\r\n';
$header .= 'Cc: bla1@domain3.com\r\n';
$header .= 'Bcc: bla4@domain3.com\r\n';
//Fuer Normale Texte
$header .= 'Content-Type: text/plain; charset=\'iso-8859-1\'\r\n';
//Fuer HTML Mails den Contenttyp austauschen
//$header .= 'Content-type: text/html; charset=iso-8859-1\r\n';
 
mail($eMail_to, $subject, $message, $header);
?>
 


Formulare ]
Requested and Answered by Stefan Freisler on 01-May-2007 23:43 (238 reads)
Ein Dateiupload lässt sich mit Hilfe von PHP und HTML leicht realisieren. Hierzu stehen nach dem Upload in PHP folgende Variablen zur Verfügung: $_FILE['filename']['name'][$key] - Name der Hochgeladenen Datei $_FILE['filename']['size'][$key] - Größe der Hochgeladenen Datei $_FILE['filename']['type'][$key] - MIME-Type der Hochgeladenen Datei $_FILE['filename']['error'][$key] - Error der Hochgeladenen Datei (0 Wenn kein Fehler vorliegt) $_FILE['filename']['tmp_name'][$key] - Zwischenspeicher Ort der Hochgeladenen Datei Beispiel:
 
<?php /*Als erstes kommt eine HTML Form um die Datei Hoczuladen*/?>
<h1>Einzell Dateiupload</h1>
<form action='./m_upload.php' method='post' enctype='multipart/form-data'>
<?php /*der enctype ist sehr wichtig da es sich um ein Uploadfeld handelt*/?>
<input type='file' name='filename[]' /><br>
<input type='file' name='filename[]' /><br>
<input type='file' name='filename[]' /><br>
<input type='submit' value='Upload' />
</form>
<?php
//Als erste muss ueberprueft werden ob eine Datei erfolgreich hochgeladen wurde
if (isset($_FILES['filename']) && count($_FILES['filename']['tmp_name']) > 0) {
	foreach($_FILES['filename']['tmp_name'] as $key => $file){
		//ueberpruefen ob diese Datei richtig Hochgeladen wurde
		if (isset($_FILES['filename']['tmp_name'][$key]) && ! $_FILES['filename']['error'][$key]) {
			
			//Festlegen an welchem Ort und mit welchem Namen die Datei gespeichert werden soll
			$newfile = './neue_datei'. $key .'.txt'; 
			//Verschiebe die Datei vom Tempuraeren Verzeichniss nach '$newfile'
    		move_uploaded_file($_FILES['filename']['tmp_name'][$key], $newfile);
    
			echo 'Datei erfolgreich hochgeladen<br>';
			//Interessante Ausgaben die z.B in eine Datenbank gespeicher werden sollen
			echo 'Die Datei '. $_FILES['filename']['name'][$key] .' wurde nach '. $newfile .' gespeichert<br>';
	
			echo 'Dateigroesse: '. $_FILES['filename']['size'][$key] .' Bytes<br>';
			echo 'Dateitype: '. $_FILES['filename']['type'][$key] .'<br>';
		}
	}
}
?>
 
Einzellne Datei lassen sich wie folgt Hochladen: Link


(1) 2 »
Go Top | Copyright Stefan Freisler - c6c.de