Du bist nicht angemeldet. [Anmelden]
alle Beiträge 1 2 3 > alle
Optionen
Thema bewerten
Tutorials - #2044566 - 22.07.2010, 00:00:14
Data
Nicht registriert


In näherer Zukunft werde ich einen Thread aufbauen und Pflegen in denen allerlei Tuturials gesammelt werden.
Der Thread hier ist erstmal dazu da zu sammeln:


  • Wofür werden Tutorials benötigt?
  • Wer hat Ahnung und würde auch Tutorials schreiben?
  • Wer hat eventuell schonmal sowas in der Art gemacht und möchte hier seine Beiträge posten?



Bitte nicht von anderen Seiten kopieren. Dazu brauchen wir nicht zu sammeln, dazu brauch man nur google.
Ich werde hier dann auch aktualisieren was so alles dabei rauskommt:

Angebote:
  • Linux konfigurieren, eventuell Kernel"hacking" (Data)
  • Fluxbox
  • PHP (IP-Addresse auslesen/geben) (DoUgHbOyS)
  • PHP (Zeit, Datum ausgeben) (DoUgHbOyS)


Benötigt:
  • PHP
  • Compiler & Interpreterbau


Bearbeitet von Data (05.09.2010, 15:38:33)

[zum Seitenanfang]  
Re: Tuturials [Re: ] - #2044587 - 22.07.2010, 00:33:39
Scnappi
Nicht registriert


Würde mich über PHP-Tutoriale freuen. Könnte auch ein paar Grundlagen-Tutoriale selbst verfassen, wenn mir mal irgendwo eine Idee kommt.

[zum Seitenanfang]  
Re: Tuturials [Re: ] - #2044611 - 22.07.2010, 01:09:41
DoUgHbOyS
Nicht registriert


Hm, wie soll ich nun anfangen. Perfekt bin ich im Berreich PHP nicht, die Grundlagen sind mir jedoch auch bewusst.

Angebote:

  • 1. PHP (IP-Addresse auslesen/geben)
  • 2. PHP (Zeit, Datum ausgeben)

Benötigt:

  • Webspace, welches mindst. PHP supported.


1.
Warnung! Spoiler!
Php Code:

<?
$ipadresse ="$REMOTE_ADDR";
echo "Ihre IP ist: $ipadresse";
?>


Hiermit kannst du auf deiner Website jedem deiner Website-Besucher deren IP-Addresse anzeigen lassen. Funktioniert nur wenn der Webserver auch PHP supported. Datei als NAME.php abspeichern, und auf den Webspace hochladen.

$ipadresse ist in unserem Fall das Variabel, welches auch die IP auf der Website ausgibt.
$REMOTE_ADDR ist generell die IP-Adresse des Besucher/n, welche deine Website öffnen/besuchen. Am Ende wird das ganze mit einem simplen' echo, (welches dazu da ist, Texte, Variablen, etc. auszugeben), ausgegeben.


2.
Warnung! Spoiler!
Php Code:

 <?
$datum = date("d.m.Y");
$uhrzeit = date("H:i");
echo $datum," - ",$uhrzeit," Uhr";
?>


Dies gibt grundsätzlich das Datum, und die aktuelle Uhrzeit der lokalen Machine aus. Sagen wir "Machine" ist dein PC.

date("d.m.Y"); wenn man in Englisch aufgepasst hat, date steht für "Datum", und hier wird es als date.month.Year gekennzeichnet.
date("H:i"); ist nicht schwieriger als das erste, - hier wird die aktuelle Stunde, und die aktuellen Minuten ausgegeben. Gekennzeichnet als H, welches für "Hour" steht, und Stunde heißt.


Gruß,

Alex.


Bearbeitet von DoUgHbOyS (22.07.2010, 01:11:54)

[zum Seitenanfang]  
PHP - Error_Reporting per E-Mail [Re: ] - #2045496 - 23.07.2010, 11:55:52
Palood
Famil​ymitg​lied​

Registriert: 24.04.2006
Beiträge: 627
Ort: Rodgau, Deutschland
Titel: PHP - Error_Reporting per E-Mail
Hinweis: Dieses kleine Tutorial benötigt wahrscheinlich schon ein paar mehr Kenntnisse in PHP

Warnung! Spoiler!

<?php
error_reporting(E_ALL); // Fehlermeldungen alle anzeigen um alle Fehler per Mail zu erhalten

// Funktion zum Versenden von Fehlernachrichten
function getErrorHandler($errno, $errmsg, $filename, $linenum)
{
$error = "Time: " .date("Y-m-d H:i:s"). "\n";
$error .= "Message: " .$errmsg. "\n";
$error .= "File: " .$filename. "\n";
$error .= "Line: " .$linenum;
mail("E-MAILADRESSE AN DIE GESENDET WERDEN SOLL", "ERROR @ JPTurnier", $error, "From: E-MAILADRESSE ALS ABSENDER"); // Versenden der E-Mail
}

set_error_handler("getErrorHandler"); // Funktion definieren, die bei Fehlern aufgerufen werden soll
?>


Diese kleine Funktion sollte ganz am Anfang des Scripts eingebaut werden. Es dient dazu, dass die PHP-Fehlermeldungen nicht angezeigt werden, sondern per E-Mail gesendet werden. Dies ist in den Situationen sehr sinnvoll, wenn man eine Seite betreibt und möchte, dass es möglichst perfekt läuft, ohne, dass hässliche Fehlermeldungen angezeigt werden, aber man trotzdem Bescheid wissen möchte, wenn etwas nicht 100%ig rund läuft.

Der Code müsste klar sein, da hier immer Kommentare eingefügt wurden.
Viel Spaß :-)

[zum Seitenanfang]  
Re: PHP - Error_Reporting per E-Mail [Re: Palood] - #2045891 - 23.07.2010, 22:27:24
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Entschuldigt mal bitte aber das hat nichts mit einem TUTORIAL zu tun, sondern sind lediglich Codesnippets mit ein bisschen Erklaerung dazu. Ich hatte zwar Data gefragt gehabt, ob in diesem Forum die Tutorial-Sektion von der Mod-Seite jetzt eingefuehrt werden wird aber so hatte ich mir das nicht vorgestellt.

Wenn ich als 0-8-15 User, nach Snippets suche, dann werde ich mich wohl kaum extra in dieses Forum bemuehen - das wirklich als aller letztes. Gebt euch doch bitte Muehe und erstellt zumindest sowas aehnliches wie ein Tutorial.

Themen, bei denen ich als Leser einsehen kann, dass ihr euch Muehe bei der Erstellung gegeben habt und bei denen es sich letztendlich auch lohnt, hier im Forum zu lesen - so ist das nichts wert. Macht euch die Muehe und versetzt euch in die Lage von Hilfesuchenden und gestaltet sie entsprechend.

Warnung! Spoiler!
Bieten koennte ich:
  • Lokalen Server einrichten unter Windows und Mac
  • File Manager via PHP, jQuery & SQL
  • mp3-Hoerbuecher in m4b umwandeln [iPhone/iPod Hoerbuecher in iTunes importieren]
  • Videodateien von TV-Karte zu *.mkv/*.avi/*.mp4 umwandeln via VirtualDub


Diese und aehnliche Tutoriale koennte ich sowohl in Schrift als auch in Videoform erbringen.
Die ein oder andere Erfahrung hab ich wohl auch im Schreiben von Tuts

[zum Seitenanfang]  
Re: PHP - Error_Reporting per E-Mail [Re: huendchen] - #2045894 - 23.07.2010, 22:30:28
Data
Nicht registriert


huendchen, ich habs dir gesagt und ich hab auch oben geschrieben, dass das bei weitem nicht alles ist und sein wird. Das soll nur erstmal ein Überblick sein, was alles kommt, damit man sich jetzt nichts doppelt und dreifach schreibt.

[zum Seitenanfang]  
Re: PHP - Error_Reporting per E-Mail [Re: ] - #2045895 - 23.07.2010, 22:33:44
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Data, darum geht es auch gar nicht.
Ich hab schon gemerkt und weiss, was in etwas geplant sein wird.
Nur moechte ich nicht, dass das hier gleich falsch anfaengt, indem Supporter - so moechte ich mal die Leute, die Tuts hier anbieten nennen - das auf die leichte Schulter nehmen und nur Snippets bzw. halbfertige Tutoriale anbringen.

[zum Seitenanfang]  
Re: PHP - Error_Reporting per E-Mail [Re: huendchen] - #2045919 - 23.07.2010, 22:59:35
Data
Nicht registriert


Da muss ich dir uneingeschränkt zustimmen ;)
Tutorials sind länger und Arbeit.

[zum Seitenanfang]  
Log-System in PHP(ohne mysql) [Re: ] - #2046985 - 25.07.2010, 19:34:19
master Bratack
Nicht registriert


Konfigurierbares Log-System
In diesem Tutorial werden wir uns ein Log-System erarbeiten.
Ein Log-System zeichnet Datein auf, zum Beispiel wan eine Seite aufgerufen wurde oder welche IP die Seite aufgerufen hat.
Warnung! Spoiler!

Benötigt wird:
=> ein Editor z.b. Notepad++
=> Webspace mit PHP
=> Spaß am programmieren (Nicht wichtig, aber gut)
=> Ein wenig erfahrung in Sachen Programmieren (Ist immer gut!)


Vorbereitung
Bevor es los geht legst du ersteinmal einen Ordner auf dem Server an in dem die Log's gespeichert werden sollen.
Ich nenne ihn einfach "log". Wenn du einen Linux Server hast must du jetzt noch die Rechte entsprechend ändern. Die Linux-Rechte, chmod gennant, must du jetzt ändern: Setzte die Rechte auf 777 oder rwxrwxrwx. Jetz ist der Ordner beschreibbar.

Benötigte Variablen für das Script:

$_SERVER['SCRIPT_NAME'] <= Die aufgerufene Seite
$_SERVER['HTTP_USER_AGENT'] <= Verwendeter Browser
$_SERVER['REMOTE_ADDR'] <= Die IP des Betrachters
$_SERVER['REQUEST_METHOD'] <= Aufruf Methode (Get oder Post)
$time <= Keine SystemVariable, Wert von date();


log.php
Php Code:


<?php
$logfile = "log";			 /* $logfile ist der Pfad zu dem Ordner für die Logs */ 
$logname = "zugriff.log";	/* Name der LogDatei im Ordner $logfile				*/
$time = date("j-M-Y, l");	 /* Setzten der Variable $time						 */ 
/* Erzeugen des Arrays $all (In Arrays kann man Werte Zussammenfassen und dabei Namen oder Nummern geben). Es dient der 
   Übersichtlichkeit. */
$all = array(																										  
				"name"		 => $_SERVER['SCRIPT_NAME'],																
				"browser"	 => $_SERVER['HTTP_USER_AGENT'],		
				"ip"		 => $_SERVER['REMOTE_ADDR'],		 
				"zeit"		 => $time,						   
				"ordner"	 => $logfile,						
				"datei"	 => $logname,						
				"request"	 => $_SERVER['REQUEST_METHOD'],
				"t"		 => ' | ', 
/* Statt ' | ' kannst du ein anderes Trennzeichen einfügen das zwischen den Variablen stehen soll.
 * Ein Beispiel wie es jetzt aussieht:
 *  
 *  /log.php | 127.0.0.1 | Opera/9.80 (Windows NT 5.1; U; de) Presto/2.5.24 Version/10.53 | GET | 25-Jul-2010, Sunday
 *  Wenn du bei ' | ' '///' einsetzten würdest würde es so aussehen:
 *  /log.php///127.0.0.1///Opera/9.80 (Windows NT 5.1; U; de) Presto/2.5.24 Version/10.53///GET///25-Jul-2010, Sunday
 *  
 *  Mach's einfach wies dir gefällt
 *
 */
				"n"		 => "\n", /* nicht ändern !!! */
				"s"			=> '/'
			);
				
$daten= $all['name'].$all['t'].$all['ip'].$all['t'].$all['browser'].$all['t'].$all['request'].$all['t'].$all['zeit'].$all['n'];
$datei = fopen($all['ordner'].$all['s'].$all['datei'],"a");
fwrite($datei, $daten);

/*
 * Jetz kannst du die Variable $daten noch anpassen. 
 * Du kannst die $all Variablen dort anders anordnen, wichtig ist:
 * 2 Variablen müssen durch .$all['t']. getrennt werden.
 * Als letztes muss .$all['n'] stehen.
 *  
 * <Variablen> 
 * $all['name']	 <= Der Pfad + Name der aufgerufenen Datei
 * $all['t']		 <= Trennzeichen
 * $all['ip']		<= IP des Besuchers
 * $all['browser']	<= Browser des Besuchers
 * $all['request']	<= Aufrufmethode (Post oder Get)
 * $all['zeit']		<= Datum im amerikanischen Format
 * $all['n']		 <= EscapeSequenz (WICHTIG!!!)
 *  
 */
?>





Gut, jetzt habt ihr das Script, es muss nur noch in die entsprechenden Seiten eingebunden werden von denen Log erstellt werden sollen.
1. Lade die log.php auf den Server
2. Trage bei allen Seiten oben den folgenden Code ein:
Php Code:


<?php
include 'PFAD ZUR log.php/log.php";
?>



Statt Pfad zu log.php einfach den Pfad angeben z.b. software/free/bratack/unfaelle_beim_programmieren/
Also:
[php]
<?php
include 'software/free/bratack/unfaelle_beim_programmieren/log.php";
?>
[/ühp]
3. Lade die anderen Dateien auch hoch. (Dateiendung muss .php sein!)
Soooo das wars dann auch schon wieder. Ich hoffe ihr konntet mir folgen usw. Wenn Fragen vorhanden perl mail an bratack@live.de oder
besser als /m in Knuddels an master bratack. Ich wrde probieren euch zu helfen.

PS: Wenn's euch geholfen hat probiert doch ein Script zu schreiben was aus der Log Datei eine Statistik macht, viel spaß
PSS: Sorry, ich wusste nich ob ich du oder sie oderihr sagen sollte also ist das etwas verwirrent. Hoffe ihr konntet es trozdem verstehen


Bearbeitet von master Bratack (25.07.2010, 19:36:44)

[zum Seitenanfang]  
Re: Log-System in PHP(ohne mysql) [Re: ] - #2047111 - 25.07.2010, 22:32:49
eisbaer4711
Nicht registriert


Moin

Ich hab ja von php soviel Ahnung wie die Kuh vom Sonntag, aber testet man da die Rueckgabewerte von Funktionen nicht? Was passiert den, wenn fopen in die Hose geht, dann schreibste munter auf nen undefiniertes Handle.

Sorry wenn dir das nen bischen penibel erscheint, aber fuer nen Tutorial find ich sowas angebracht.

Axo, wie gesagt, php ist nicht meine Welt, ich kenn da ehr perl, und da gibts nen lustiges Framework, log4perl, soweit ich weiss gibts da auch die php-Variante.

Ciao

[zum Seitenanfang]  
Re: Log-System in PHP(ohne mysql) [Re: ] - #2047575 - 26.07.2010, 17:16:01
master Bratack
Nicht registriert


Zur kenntniss genommen, wird so schnell wie möglich eingearbeitet. danke für den Tipp.

[zum Seitenanfang]  
Tutorials [Re: ] - #2050781 - 30.07.2010, 03:21:14
DoUgHbOyS
Nicht registriert


Image Theft/Bilderklau:

Fuer die, die es noch nicht wissen, nie was von gehoert haben, es nie konnten, wollten, oder einfach frustriert nicht wussten wie es nun weitergeht, wie man es macht, was man dazu braucht -- hier ist die Loesung wie ihr eure eigenen Bilder schuetzen koennt, bzw. so schuetzen, das keiner diese einfach verlinken, oder nutzen kann. Man sollte dennoch immer das "Alle Rechte vorbehalten", bzw. "All right reserved" auf seiner eigenen Website posten, so das man rechtlich gesehen, der Eigentuemer dieser Grafik, und jegliche andere Websitekomponenten ist.

Es gibt anscheinend mehrere Methoden, Image Theft, bzw. Bilderklau zu verhindern. Eine einfache Methode waere .htaccess:

Code:
RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www\.)?meinedomain\.de [NC]

RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]

Falls man das verlinken, nutzen der Grafiken mancher Webseiten erlauben moechte, fuegt die folgende Zeile ueber das "RewriteRule" ein.

Code:
RewriteCond %{HTTP_REFERER} !^http://(www\.)?erlaubteseite.de [NC]


Ihr koennt auch ein eigenes "Bilderklau"-Logo erstellen, so das es dem "klauer" angezeigt wird, falls man es auf einer fremdem Seite verlinkt hat. Und so geht's:

Code:
RewriteRule \.(jpe?g|gif|bmp|png)$ http://www.yourdomain.com/dontlinktomyimage.jpg [NC,R,L]


Um Suchfunktionen bsp. Google, Yahoo, MSN, Bing zu blocken, bzw. verhindern eure Bilder anzuzeigen, fuegt dies oben auf eure Seite als HTML-Code ein:

Html:
<meta name="robots" content="noimageindex"></meta>


Das Fertigprodukt:

Code:
RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www\.)?meinedomain\.de [NC]

RewriteCond %{HTTP_REFERER} !^http://(www\.)?erlaubtedomain.de [NC]

RewriteRule \.(jpe?g|gif|bmp|png)$ - http://www.meinedomain.de/error.jpg [NC,R,L]


Bei Fragen, einfach melden.


Bearbeitet von DoUgHbOyS (30.07.2010, 03:21:36)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2064400 - 16.08.2010, 12:28:32
master Bratack
Nicht registriert


Können wir den Thread löschen & neu aufmachen? Erstents sollten nur Tuts rein und
keine Bemerkungen dazu, außerdem sind manche Tut's nicht mehr auf dem neusten Stand

@DoUgHbOyS Tutorial 1
Tut nicht mehr aktuell, noch auf PHP3 Standart. (Momentan gibt es PHP5). Ausgeführen unter
PHP 5.3.0 kommt die Fehlermeldung:
Warnung! Spoiler!
Code:
Notice: Undefined variable: REMOTE_ADDR in *PFAD_ZUM_SCRIPT*\ip.php on line 2


Auf deutsch: Undefinierte Variable $REMOTE_ADDR. Nach neuem Standart müsste es lauten:

Code:
<?
$ipadresse = $_SERVER['REMOTE_ADDR'];
echo "Ihre IP ist: $ipadresse";
?>


@Palood
Das Tutorial (ist ja nicht wirklich eins) ist unzureichend.Du hast vergessen eine Anleitung zu geben wie man die php.ini anpassen muss damit es geht, oder du hast vergessen zu sagen das die Webspace die Mail funktion unterstützen muss, das ist sehr selten wegen der Spam gefahr. Wenn man das Script local ohne Web ausführt kommt die Fehlermeldung:

Code:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\tut-test\mail.php on line 11


Außerdem ist das Script nicht leicht anpassungsfähig, besser wäre:
Code:
<?php
error_reporting(E_ALL); /* Fehlermeldungen alle anzeigen um alle Fehler per Mail zu erhalten */
$mail = ""; /* Empfänger email */
$absender = ""; /* Absender email, kann auch wie der empfänger sein */
$domain = $_SERVER["SERVER_NAME"];
/* Funktion zum Versenden von Fehlernachrichten */
function getErrorHandler($errno, $errmsg, $filename, $linenum)
{
$error = "Time: " .date("Y-m-d H:i:s"). "\n"; 
$error .= "Message: " .$errmsg. "\n"; 
$error .= "File: " .$filename. "\n"; 
$error .= "Line: " .$linenum; 
mail($mail, "ERROR @ $domain", $error, "From: $absender"); /* Versenden der E-Mail */
}

set_error_handler("getErrorHandler"); /* Funktion definieren, die bei Fehlern aufgerufen werden soll */
?>


Zu meinem Tut: verbessert siehts so aus:
Code:
<?php
$logfile = "log";			 /* $logfile ist der Pfad zu dem Ordner für die Logs */ 
$logname = "zugriff.log";	/* Name der LogDatei im Ordner $logfile				*/
$time = date("j-M-Y, l");	 /* Setzten der Variable $time						 */ 
/* Erzeugen des Arrays $all (In Arrays kann man Werte Zussammenfassen und dabei Namen oder Nummern geben). Es dient der 
   Übersichtlichkeit. */
$all = array( 
 					  
				"name"		 	=> 		$_SERVER['SCRIPT_NAME'], 

				"browser"	 	=> 		$_SERVER['HTTP_USER_AGENT'],		
				"ip"		 	=> 		$_SERVER['REMOTE_ADDR'],		 
				"zeit"		 	=> 		$time,						   
				"ordner"	 	=> 		$logfile,						
				"datei"	 		=> 		$logname,						
				"request"	 	=> 		$_SERVER['REQUEST_METHOD'],
				"t"		 		=> 		' | ', 
/* Statt ' | ' kannst du ein anderes Trennzeichen einfügen das zwischen den Variablen stehen soll.
 * Ein Beispiel wie es jetzt aussieht:
 *  
 *  /log.php | 127.0.0.1 | Opera/9.80 (Windows NT 5.1; U; de) Presto/2.5.24 Version/10.53 | GET | 25-Jul-2010, Sunday
 *  Wenn du bei ' | ' '///' einsetzten würdest würde es so aussehen:
 *  /log.php///127.0.0.1///Opera/9.80 (Windows NT 5.1; U; de) Presto/2.5.24 Version/10.53///GET///25-Jul-2010, Sunday
 *  
 *  Mach's einfach wies dir gefällt
 *
 */
				"n"		 => "\n", /* nicht ändern !!! */
				"s"			=> '/'
			);
				
$daten= $all['name'].$all['t'].$all['ip'].$all['t'].$all['browser'].$all['t'].$all['request'].$all['t'].$all['zeit'].$all['n'];
$datei = fopen($all['ordner'].$all['s'].$all['datei'],"a") or die("Fehler beim öffnen von $all['ordner'].$all['s'].$all['datei'] im Modus a");
fwrite($datei, $daten) or die("Fehler beim Beschreiben");

/*
 * Jetz kannst du die Variable $daten noch anpassen. 
 * Du kannst die $all Variablen dort anders anordnen, wichtig ist:
 * 2 Variablen müssen durch .$all['t']. getrennt werden.
 * Als letztes muss .$all['n'] stehen.
 *  
 * <Variablen> 
 * $all['name']		 	<= Der Pfad + Name der aufgerufenen Datei
 * $all['t']		 	<= Trennzeichen
 * $all['ip']			<= IP des Besuchers
 * $all['browser']		<= Browser des Besuchers
 * $all['request']		<= Aufrufmethode (Post oder Get)
 * $all['zeit']			<= Datum im amerikanischen Format
 * $all['n']			<= EscapeSequenz (WICHTIG!!!)
 *  
 */
?>


Der Code ist nur minimal verändert, fehler beim öffnen von Dateien in PHP ist nicht wirklich gefährlich, da Perl nicht so Systemnah wie C ist.


MFG Bratack







Bearbeitet von lutz39 (16.08.2010, 13:08:40)
Bearbeitungsgrund: gespoilert, da Thread sonst zu sehr in die Breite gezogen wird

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2064527 - 16.08.2010, 15:06:27
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Lern bitte lesen, denn laut Eroeffnungspost, ist das nur um Information einzuholen, ob die User an so einem Vorhaben teilnehmen und ihren Beitrag zusteuern wuerden. Eine Neueroeffnung wird es noch geben aber dann mit dem eigentlich angedachten Inhalten.

[zum Seitenanfang]  
Re: Tutorials [Re: huendchen] - #2064730 - 16.08.2010, 18:22:32
master Bratack
Nicht registriert


Tut mir Sorry, aber warum stellen die alle schon ihre Tut's ein?

Also ich würde mitmachen, ich könnte wohl nen bisschen zu css machen (nicht viel und nicht so gut), PHP, Perl, C. Wampserver konfiguration, Apache unter Wamp, Sichere Programmierung. Sagt einfach was ihr als Tut gerne haben würdet und ich kuk mal was ich so kann.

PS: Nen Tut zu Compiler & Interpreterbau wäre toll.


Bearbeitet von master Bratack (16.08.2010, 18:23:48)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2065373 - 17.08.2010, 13:55:08
Data
Nicht registriert


Ich wage mal die Prognose, dass niemand was zu Compilern und Interpretern schreiben kann oder will. Das ist einfach zu speziell-
Setz dich schonmal dran und mach was du willst.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2065515 - 17.08.2010, 16:36:37
master Bratack
Nicht registriert


Hab ne Ideenflaute... Also wenn jemand wünsche hat würde ich die malso machen wenns Perl, PHP vllt c ist

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2065787 - 17.08.2010, 19:56:08
Mein Nick
Nicht registriert


Also als ich den Eingangspost gelesen habe, dachte ich mir: Oh, endlich mal was tolles!

Als ich dann anfing die ersten 'Tuts' zu lesen, verflog der Gedanke gleich wieder.
Als ich dann das von 'master Bratack' gelesen hatte, war alles vorbei. D:
Soll kein Angriff sein, allerdings bin ich der Meinung, dass man sich erstmal mit dem Themengebiet auseinandersetzen sollte, bevor man versucht ein Tutorial zu schreiben.

Nur um einige Beispiele zu nennen:
In einer Array-Definition schreibt man keine Kommentare, die hat man drueber/drunter zu setzen, ansonsten leidet die Lesbarkeit, wenn es ein groesseres / verschachteltes ist.
ein Tutorial, wo man nicht auf Fehlermeldungen eingeht? Ich zitiere dich:
Zitat:
@Palood
Das Tutorial (ist ja nicht wirklich eins) ist unzureichend.Du hast vergessen eine Anleitung zu geben wie man die php.ini anpassen muss damit es geht, oder du hast vergessen zu sagen das die Webspace die Mail funktion unterstützen muss, das ist sehr selten wegen der Spam gefahr. Wenn man das Script local ohne Web ausführt kommt die Fehlermeldung:

Mag etwas verwirren, aber im Grunde: Ohne auf etwas einzugehen, ist es ja nicht gut, ne?
Und dazu: Fehlermeldungen in PHP abzufangen / zu verarbeiten ist VERDAMMT WICHTIG
Weil du bekommst ja als Fehlermeldung z.B. /var/etc/www/USERNAME/script.php (Unter Linux). Eben diesen Username sollte man vermeiden, einfach mal so auszugeben - Wenn der den in falsche Haende faellt, dann koennt's vorbei sein, mit deinem Webspace - Viel Spass beim neu Einstelllen.

Code:
$daten= $all['name'].$all['t'].$all['ip'].$all['t'].$all['browser'].$all['t'].$all['request'].$all['t'].$all['zeit'].$all['n'];

Mal was von implode gehoert?

statt '\n' in $all['n'] sollte man die Konstante PHP_EOL (PHP End Of Line) benutzen. Damit bleibt es Betriebssystem uebergreiffend.

Nachdem man eine Datei nicht mehr braucht, sollte man ein fclose setzen - Wenn die Seite denn nun 'beliebt' & groesser ist, kann es sonst schnell mal zur Fehlermeldung kommen, dass keine Datei mehr geoeffnet werden kann, es sind zuviel offen.

Dazu solltest du dir ueberlegen, wie du deinen Code einruecken tust, man kann es mit den Tabs/Leerzeichen auch uebertreiben ..

Jetzt mal btt:
Ich wuerde gerne auch ein Tut schreiben, allerdings habe ich absolut keine Krativitaet, weshalb mir bestimmt nix einfallen wuerde.. Wenn mir allerdings jemand ein thama vorschlaegt, oder mit jemanden zusammen schreiben will (Ist ja auch mal interessant zu wissen, wie es andere machen wuerden), waer ich gerne bei Themen ueber PHP, HTML, CSS & MySQL (Wobei ich da nur begrenzt Ahnung habe - aber die Grundlagen kann ich. :D) bereitt eins (mit) zu schreiben.


Bearbeitet von Mein Nick (17.08.2010, 19:57:39)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2065816 - 17.08.2010, 20:20:55
Data
Nicht registriert


Ich werde mich auch hüten die Sachen ungeprüft in den Thread zu schreiben.
So ein bisschen Ahnung habe ich dann doch auch, wenn auch nicht von perl oder PHP. Aber so ein Grundverständnis hilft...

Gibts denn noch Leute, die Hardwaresachen beschreiben wollen?
Wie schraube ich einen Rechner zusammen? Wasserkühlung für Anfänger? LED-Management für Casemodding? Da gibts wirklich viel.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2066478 - 18.08.2010, 16:43:14
master Bratack
Nicht registriert


Wie wärs mit Biostunning? Oder Nen Tutorial zum schreiben von Bootladern oder Betriebssystemen.
(Sorry, ist ja nur Hardware nah, aber auch mal gute idee)

@Mein Nick
Ich bin sicher das du mehr Ahnung hast als ich, in 19 Jahren hat mal viel mehr zeit sowas zulernen als in 13, Das Script ist an einem Tag geschrieben worden, d.h. noch unausgereift. Wenn mans nicht oft genug Testet kann mans nicht verbessern. Ein Betriebssystem ist doch auch nicht gleich perfekt wenns veröffentlicht wird. Zu den Tabulatoren und Leerzeichen, die meisten Programmierer haben einen eigenen Programmier-Stil, so auch ich. Aber zuviel ist besser als zu wenig. Webspace neu einstellen? Warum sollte ich, mein TestPC ist abgetrennt vom Internet und da kann ich ruhig die Fehlermeldungen so ausgeben, hab beim 2ten nur vergessen zu zensieren.
Zitat:
Dazu solltest du dir ueberlegen, wie du deinen Code einruecken tust, man kann es mit den Tabs/Leerzeichen auch uebertreiben ..

Ich tuh hier garnix einrücken, ich rücke Codezeilen ein. Zu fclose(), es gibt sollange keine Probleme bis ein anderes programm auf die Datei zugreifen will.Ist natürlich besser dann den Stream wieder zu schließen. Zur portierbarkeit, die meisten Server haben Linux/Unix oder deren ableger als Betriebssystem, ich benutzte halt für meine Sachen Windows, also schreib ichs auch für Windows., wenn ichs für andere Betriebssysteme neu schreiben muss hab ich mehr lerneffekt.
PS: Gut das du fast die ganze erste Zeile meines Posts von vorhin gut gefunden hast

MFG Bratack

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2073081 - 26.08.2010, 12:09:42
Truthähnchen
Nicht registriert


PHP Rendertime

per Klasse
Warnung! Spoiler!

Php Code:

class RenderTime
{
	var $STARTTIME=0;
	var $ENDTIME=0;
	var $gentime=0;
	
	function stop()
	{
		# BEENDE LAUFZEIT MESSUNG #
		$this->ENDTIME = microtime(true);
		$gentime = $this->ENDTIME  - $this->STARTTIME;
	}
	 
	
	function __construct()
	{
		$this->STARTTIME = microtime(true);
	}
	
	
}


# BEISPIEL mit Klasse
#ANFANG des Scripts:
$RTIMER = new RenderTime();
/*hier kommt dein Script mit blablabala
und noch mehr bla */
#ENDE des Scripts:
$RTIMER->stop();
#RENDERTIME: $RTIMER->gentime;
 



ohne klasse
Php Code:

##### AUFRUF AM ANFANG
$STARTTIME = microtime(true);


#### AUFRUF AM ENDE
$ENDTIME = microtime(true);
$RENDERTIME = $ENDTIME - $STARTTIME;
 

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2073169 - 26.08.2010, 14:11:02
Data
Nicht registriert


Truthähnchen das ist leider kein Tutorial.
Bitte bemüht euch doch mal einen kleinen Text zu schreiben wofür man das braucht, was es macht und versuch doch auch die einzelnen Funktionen erläutern. Das ist einfach nur ein bisschen Code. Keine Ahnung was man damit soll.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2073179 - 26.08.2010, 14:21:47
Truthähnchen
Nicht registriert


Berechnet die Zeit die der Interpreter braucht für einem Abschnitt. Auch bekannt als Rendertime.
Der Code ist also größtenteils selbst erklärend (siehe Variablennanemen) und wie man es benutzt ist auch erklärt.


Bearbeitet von Truthähnchen (26.08.2010, 14:22:28)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2073203 - 26.08.2010, 15:20:46
chrixix

Registriert: 25.10.2005
Beiträge: 12.620

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2073205 - 26.08.2010, 15:24:44
master Bratack
Nicht registriert


@Truthähnchen
Es gibt unterschiede zwischen Tutorials und Codesnippets!!!
Du präsentierst uns einen Code welchen du erklärst, also Codeschnipsel.
Ein Tutorial erkärt nicht nur den Code sondern auch den Weg zum Code.
Aüßerdem: Wofür braucht man in PHP die Renderzeit wissen? Das ist unnützter code. Vllt, ist in Perl oder C die Laufzeit wichtig, aber wenn mein PHP Script schlecht gecodet ist seh ich das doch selber (Lange Ladezeiten, Hohe systembelastung wenn lokal ausgeführt), meinst du nicht auch?
MFG Bratack

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2073235 - 26.08.2010, 16:09:15
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Antwort auf: Truthähnchen
Der Code ist also größtenteils selbst erklärend (siehe Variablennanemen) und wie man es benutzt ist auch erklärt.

Klar ist der Code selbsterklaerend, immer vorausgesetzt, ich bin kein Anfaenger und weiss, was Klassen sind, wo und wie ich sie einsetze -bzw. einbinde. Des weiteren, wuerde ich noch nicht mal wissen, waere ich wirklich ein Anfaenger, der sich fuer PHP interessiert, was dein Snippet da genau macht. Selbst
Antwort auf: Truthähnchen
Berechnet die Zeit die der Interpreter braucht für einem Abschnitt. Auch bekannt als Rendertime.
waere mir nicht wirklich hilfreich.

» Fuer welchen Abschnitt welches Interpreters ( was ist ueberhaupt ein Interpreter?! ) « "
Waer hier z.B. eine Frage, die es bei Tutorialen zu klaeren gilt.

Selbst wenn man ein Tutorial fuer Profis schreibt, muss man darauf eingehen, auch wenn es fuer die Cracks wahrscheinlich wirklich ermuedend ein sollte, ist es unabdingbar, dass man - wenn man Fachbegriffe nicht erklaert, dann zumindest verlinkt - diese essentiellen Teile eines Tutorials mit groesstmoeglicher Sorgfalt anzugehen.

Ansonsten ist ein Tutorial wirklich nicht das Papier wert, auf dem es geschrieben wurde und der fade Beigeschmack, dass man entweder zu Faul oder doch nicht die umfassende Ahnung hat, koennte entstehen.

Ich hoffe, dass das eine kleine Hilfestellung ist, fuer kommende Tutoriale und ihr euch darueber bewusst seid, dass sowas nicht mal eben in zehn Minuten verfasst ist.

[zum Seitenanfang]  
Re: Tutorials [Re: huendchen] - #2076603 - 31.08.2010, 02:45:40
Data
Nicht registriert


Erstes Tutorial.

So stelle ich mir das vor. Fehler bitte hier in dem Thread berichtigen.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2076628 - 31.08.2010, 07:40:48
Mein Nick
Nicht registriert


Hey,

erstmal:
Es gibt noch eine moeglichkeit, Linux zu installieren - da brauch man weder eine CD, einen USB-Stick oder sonst was..
Man muss sich aber vorher unetbootin runter laden.
Oben waehlt man die Linux Distribution & die Version aus, diese wird dann geladen - wenn man sie schon auf dem PC hat, kann man auch das Image auswaehlen.

Unten waehlt man dann 'Festplatte', und daneben die, auf der man das ding drauf haben will.

So, nun muss man noch beim Starten in den Boot-Maneger rein (bei mir ist das F12 - da zeigt er mir dann an ob ich von Festplatte, CD, USB-Stick oder Diskette starten will, bei anderen kommt man dadurch dann drekt ins BIOS, dann vllt. mal F2 druecken). Dort waehlt man dann 'Hard Drive' (Festplatte), & anschliessend sollte irgendwo ein 'USB Drive' stehen. (Wenn ich mich richtig erinnere - ist schon 'ne Weile her)

& evtl. kann man auch was uebers backup ziehen von Linux sagen - falls einer auf die Idee kommt, an der xorg.conf (sofern diese benutzt wird) rum zu fummeln weil der Monitor nicht richtig geht *aus Erfahrung spreche* ^.~


Bearbeitet von Mein Nick (31.08.2010, 07:43:34)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2076877 - 31.08.2010, 15:00:48
Data
Nicht registriert


Unetbootin hab ich ja schon erwähnt. Von der Festplatte ist nur bisschen schwierig, wenn man ein Windows schon rumliegen hat. Damit kann man sich das ganz auch mal zerstören. *aus Erfahrung sprech*.

edit: Ok wenn sie die Probleme gelöst haben, kann ichs gern noch mit reinschreiben. Ich persönlich finds besser noch ein Installationsmedium und nicht gleich von vorne anfangen zu müssen, wenn was nicht hinhaut.

Was meintest du mit backup ziehen?

cp xorg.conf xorg.conf.backup?


Bearbeitet von Data (31.08.2010, 15:52:19)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2076927 - 31.08.2010, 15:51:45
Mein Nick
Nicht registriert


Na, komplettes Systembackup -
tar -czf backup.tar.gz --exclude=/sys --exclude=/tmp --exclude=/var/tmp --exclude=/proc --exclude=/media --exclude=*lost+found /
& evtl. wie man so was in ein Shellscript einbauen kann, sodass dann auch am Archiv ein Datum da steht.. Alternativ kann man dann auch etwas anderes bestimmen, was ran gehangen werden soll. vllt. koennte man es auch so schreiben, damit man einen Pfad fuers backup angeben kann.

also (Kenne mich mit Bash scripts nicht so gut aus - also kann sein das es bissl falsch ist.. :)
Code:
#!/bin/bash
if [ $# -gt 0 ]; then
  suffix=$1 
else 
  suffix=`date +%Y-%m-%d`
fi
tar -czf ./backup$suffix.tar.gz --exclude=/sys --exclude=/tmp --exclude=/var/tmp --exclude=/proc --exclude=/media --exclude=*lost+found /


& das mit unetbootin hab ich ueberlesen - sorry, hatte unter der Liste 'Linux installieren:' geschaut. :/
aber ich habe mein Linux immer von der Festplatte aus installiert, auch immer von Windows aus *g.. Aber vllt. habe ich auch nur durch Zufall mal was richtig gemacht. ^^


Bearbeitet von Mein Nick (31.08.2010, 15:52:34)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2076934 - 31.08.2010, 16:00:02
Data
Nicht registriert


Ich weiß nicht. Ich bin bis jetzt ganz gut ohne ein komplettes Systembackup ausgekommen. /home liegt auf einer eigenen Partition und wenn ich am System rumgeschraubt hab, hab ich halt lokal von den Dateien Backups gemacht.
Ich denke das wäre ein Tutorial für sich. Backups für Linux und Windows. Willst du? ;)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2076956 - 31.08.2010, 16:28:16
Mein Nick
Nicht registriert


Na ja. Ich tue jeden Monate bzw. alle 2 Monate mein System (zum groessten Teil) in ein Backup schieben - allerdings weniger wegen dem System, sondern um meine ganzen Daten zu sichern. Das System nehme ich dann einfach nur 'nebenbei' mit.
Ansonsten halte ich es durchaus fuer Sinnvoll hin & wieder mal das komplette System zu sichern.
Zitat:
Ich denke das wäre ein Tutorial für sich. Backups für Linux und Windows. Willst du? ;)

Nah, wuesste nicht, was ich dazu sagen soll.. Dazu kenn ich mich mit Windows so gut wie gar nicht mehr aus - benutzte das nur noch zum Fernsehen (^^) & um mit Photoshop zu Arbeiten, da es fuer Linux keine gute alternative gibt.


Bearbeitet von Mein Nick (31.08.2010, 16:28:36)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2080784 - 05.09.2010, 19:13:08
DoUgHbOyS
Nicht registriert


Halli Hallo, in diesem Tutorial werde ich euch eine kleine Einfuehrung in PHP vorstellen. Folgendes werde ich euch in diesem Tutorial erklaeren:

Angebote:

  • 1. PHP (Wie man ueberhaupt PHP auf seiner Website zum laufen bringt)
  • 2. PHP (Begin statement / end statement)
  • 3. PHP (Dein erstes kleines PHP-Programm)
  • 4. PHP (Diese ? Imports, auch "includings" genannt)
  • 5. PHP (Variablen und paar Funktionen)


Benötigt:

  • Notepad, Notepad++, und ein Webspace, welches PHP supported.


Tutorials:

  • 1. Viele von euch haben vllt. einen kleinen Ueberblick ueber die Weite von PHP, manche vllt. auch nicht. Ich werde euch nun erklaeren, wie ihr ueberhaupt PHP zum laufen kriegt. Ein Webspace ist aufjedenfall benoetigt. Ein gekaufter Webspace ist schonmal ein Vorteil, da diese meistens PHP schon verfuegen, und man es leicht installieren kann, oder es auch schon vllt. installiert ist. Gut, falls ihr keinen gekauften, oder garkeinen Webspace zur verfuegung habt, empfehle ich Pytal fuer den Anfang, welches die aktuellste PHP-Version zur verfuegung hat. Wenn ihr jetzt mit PHP anfaengt, muesstet ihr langsam mit HTML & CSS keine Probleme haben. Ganz einfach wie bei HTML-Dateien, die Datei eine .htm, oder .html-Endung hat, hat PHP eine .php-Endung. Diese Endung ist wichtig, - also behaltet es im Hinterkopf. Wenn ihr nun bei Pytal seid, seht ihr unter "Webhosting" ein paar Leisten, wie z.B. Dateien, FTP, PHP, MySQL, Stat. Einst. Um eure Datei/en nun zum laufen zu bringen, muesst ihr vor dem hochladen jeglicher PHP-Datein, erst PHP installieren. Ihr geht ganz einfach auf die Option "PHP", und waehlt die aktuellste PHP-Version aus, und macht ein haeck'chen auf "Aktiviert". Schliesslich muesst ihr nun eine weitaus hoehere Auswahl an Optionen im Berreich PHP haben, z.B. "short_open_tags", etc. Ihr macht einfach bei allen ein haeck'chen. Und im grunde genommen, seid ihr dann auch schon mit der Installation fertig, und koennt eure ersten Dateien hochladen.


  • 2. In PHP, beginnt man sog. "Statement" mit einem <?php, oder <?, und endet man mit mit ?> Beispiel:

Code:
<?php

// Das kleine PHP-Tutorial. 2 Slashes sind fuer ein Kommentar, auf einer Linie.
// Kommentare sind sehr hilfsreich, wenn du auf i-was zurrueckkommen moechtest, bzw. verbessern, korrigieren.

?>
[list]

  • 3. Wir werden nun ein kleines Programm schreiben, welches fuer uns die Minuten eines Jahres ausrechnet. Weitere erklaerungen folgen dann nach dem eigentlichem Code.

Code:
<?php

// Kommentar: Wir benoetigen ein paar Variablen, und einen Operator, bzw. das *, welches multipliziert.
// Wir brauchen 4 Variablen, 1 fuer die Tage des Jahres, 1 fuer die Minuten einer Stunde, und 1 fuer die Stunden eins Tages.
// Jedes Variable beginnt mit einem "$". Man kann sie benennen wie man moechte. Mehr dazu nacher.

$year = 365;
$mins = 60;
$hours = 24;

// Hier multiplizieren wir alle 3 Variablen zusammen.

$vlue = $year*$mins*$hours;

// Und hier geben wir unser Fertigprodukt aus, mit einem "echo".

echo "Das Jahr hat $vlue Minuten";

?>


  • 4. Optimal waere auch, diese PHP-Datei zu "importieren". Das waere nuetzlich wenn man wichtige Informationen in der PHP-Datei hat, (Passwoerter, Usernames, etc.). Beispiel:

Code:
<?php

// Ich habe meine Datei nun minsofyear benannt, und verlinke sie hiermit nun in index.php. Nuetzlich wa?

include('minsofyear.php');

?>

  • 5. Im obigem Tutorial, habe ich euer erstes PHP-Programm Beispiel codiert. Variablen werden in PHP als $name erkannt, und haben meistens eine Funktion dahinter, bzw. sie intepretieren etwas. Ich habe Beispiel ein Variable welches einfach einen Integer, (Ganze Zahl) praesentiert, benutzt. $name = 1234; waere ein kleines Beispiel einen Integer zu praesentieren. Dies geht auch natuerlich mit Buchstaben. Zuletzt habe ich ein Variable benutzt, welches mir alle anderen 3 obigen Variablen multipliziert. Das heisst, man kann auch Variablen benutzen, welche andere Variablen praesentieren. Beispiel waere, $liebe = $freundschaft+$wunder;. Ein letztes Tutorial werde ich dann hier noch posten, nur damit ihr nicht denkt, PHP ist nur ueber das praesentieren einiger Variablen (bzw. langweilig).

Code:
<?php

// Eine Zeitausgabenfunktion welche als Variable praesentiert wird, wird ausgegeben.

$time = date('D, M j, G A');

// date() ist eine Funktion mit Parametern. Mehr dazu auf http://us.php.net/manual/en/function.date.php.

echo"Today is $time";

?> 


Ich hoffe ich hab' euch nicht allzu sehr gelangweilt, und das ich euch natuerlich ein wenig auf die Reihe helfen konnte, mit meinen 5 kleinen Tutorials. Bei weiteren Fragen koennt ihr euch bei mir im Chat melden.

Gruss,

#D.


Bearbeitet von DoUgHbOyS (05.09.2010, 19:14:52)

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2080787 - 05.09.2010, 19:16:49
Data
Nicht registriert


Sehr schön!
Da ich keine Ahnung von php habe, bin ich auf andere angewiesen eventuelle Fehler zu finden.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2107017 - 14.10.2010, 11:45:45
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Viele von euch, werden es sowieso schon wissen, einige von euch wuerden es gerne wissen und so, schreibne wir ein Tutorial ueber die Einrichtung eines Lokalen Servers auf eurem PC:

Was wir brauchen:
httpd-2.2.16-win32-x86-no_ssl.msi
PHP 5.3 (5.3.3) VC9 x86 Thread Safe Installer
MySQL 5.1.51x86, 64-bit MSI Installer
SQL Buddy 1.3.2

Diese Dateien speichert ihr euch bitte irgendwo, auf eurer Festplatte aber bitte so, dass ihr sie findet.

Als Erstes, sucht ihr euch bitte entweder einen USB-Stick, oder freien Speicherplatz auf euerer Festplatte, am besten ihr benutzt gleich eine extra, neu angelegte Partition dafuer. Im Stick oder auf der Partition, die ihr euch angelegt habt, macht ihr euch bitte insgesammt sieben ( 7 ) neue Ordner.

Als erstes erstellt ihr einen Ordner namens Webserver ( nur fuer die Variante mit dem USB-Stick ).
In diesem Ordner, legen wir uns zwei ( 2 ) neue Ordner an.
Der eine koennte beispielsweise app, Programme oder Anwendungen heissen - hier kommen spaeter unsere Anwendungen rein.
Der zweite soll www benannt werden - das wird unser Arbeitsordner.

Im ersten Ordner ( app, Programme oder Anwendungen ) kommen drei neue Ordner rein.
Einen benennt ihr Apache, den anderen PHP und den letzten MySQL.
Im WWW-Ordner kommt nur ein neuer Ordner rein, den man am besten Datenbank oder db benennt.

Wenn ihr das fertig habt, dann kann die Installation los gehen.

Wir nehmen uns erstmal die Installation von Apache vor.
Dazu klickt ihr erstmal auf httpd-2.2.16-win32-x86-no_ssl.msi.
Ein Fenster oeffet sich und ihr folgt den Installationsanweisungen

Warnung! Spoiler!

  1. Die Lizenzbestimmungen akzeptieren.

    [img]http://i51.tinypic.com/2qiziva.jpg[/img]
  2. Auf Next klicken und weiter machen.

    [img]http://i54.tinypic.com/k9au51.jpg[/img]
  3. Im naechsten Fenster, muessen wir bei Networkdomain & Server Name localhost eingeben.
    Bei Administrator's Email Adress, geben wir admin@localhost ein.
    Fals der Radiobuttons unten nicht angeklickt ist, sollte man ihn setzten.
    Es ist ratsam, dass man Apache als Service-Dienst installiert.

    [img]http://i53.tinypic.com/2v0kiua.jpg[/img]
  4. Wir muessen den Radiobutton, bei dem Costum steht anwaehlen.

    [img]http://i54.tinypic.com/2yxkgh1.jpg[/img]

  5. Im naechsten Schritt, geben wir die Installationsquelle an, indem wir unten auf den Button Change gehen.
    Einfach zum Ordner Apache referenzieren, den wir uns im uebergeordneten Ordner Programme in Webserver erstellt hatten.

    [img]http://i53.tinypic.com/2zin4p0.jpg[/img]

  6. Nachdem wir im vorherigen Bild, auf Next gegangen sind, bestaetigen wir die Angaben, indem wir auf Install klicken.
    Jetzt macht die Installationsroutine sein Voodoo und nachdem das durchgerattert ist, solltet ihr in der rechten unteren
    Ecke eures Informationsfeldes der Taskbar einen Kreis mit einem gruenen Play-Zeichen sehen.

    [img]http://i53.tinypic.com/2my7s5k.jpg[/img]



Hiermit ist die Apache-Installation erfolgreich durchgelaufen und wir koennen uns an die Konfiguration machen.

Wir oeffen die Datei httpd.conf, die Ihr im Apache-Ordner ( Webserver > Programme >> Apache ) innerhalb des Ordners conf findet.
Zum oeffnen dieser Datei, reicht ein gewoehnlicher Textbearbeitungseditor ( e.g. Notepad, Notepad ++ oder PSPad )

Code:
      Zeile [b]117[/b] 
      Sucht bitte nach folgendem Ausdruck: [b]#LoadModule rewrite_module modules/mod_rewrite.so[/b].
      Hier entfernt ihr das Hashzeichen ( Rautezeichen [#] ) vor dem Ausdruck.
      
      Zeile [b]178[/b]
      Ihr Sucht nach [b]DocumentRoot "E:/Webserver/pgr/Apache/htdocs"[/b] ( Bei anderen Installationspfaden anderes Zielverzeichnis ) und Verweist auf euren www Ordner, den wir uns in den Vorbereitungsschritten angelegt haben. Es sollte dann so aussehen [b]DocumentRoot "E:/Webserver/www"[/b]
      
      Zeile [b]205[/b]
      Es wird der Eintrag [b]<Directory "E:/Webserver/pgr/Apache/htdocs">[/b] gesucht. Habt ihr ihn gefunden, aendert ihr es wieder mit dem Verweis auf den www-Ordner ( [b]<Directory "E:/Webserver/www">[/b] ).
      
      Zeile [b]218[/b]
      Wir suchen den Eintrag [b]Options Indexes FollowSymLinks[/b] um ihn zu [b]Options Includes Indexes FollowSymLinks MultiViews[/b] abzuaendern.
      
      Zeile [b]225[/b]
      Ersetzt [b]AllowOverride None[/b] durch [b]AllowOverride All[/b]
      
      Zeile [b]240[/b]
      Ihr haltet ausschau nach [b]DirectoryIndex index.html[/b] und ergaentzt diesen noch um [b]index.htm[/b] und [b]index.php[/b], sodass es dann so aussieht [b]DirectoryIndex index.html index.htm index.php[/b]
      
      Zeile [b]382[/b]
      Habt ihr den Ausdruck [b]AddType application/x-gzip .gz .tgz[/b] dann setzt ihr drunter noch folgenden Ausdruck [b]AddType application/x-httpd-php .php[/b]
      


Das war es mit der Konfiguration. Ihr speichert die httpd.conf ab und startet den Apache-Webserver neu.
Dazu klickt ihr auf das kleine Symbol in der Taskleiste und ein PopUp sollte erscheinen. Hovert ihr mit der Maus drueber, dann kommt ein Menue, dass die Optionen Start ( grau hinterlegt, da der Server bereits laeuft ), Stop ( Zum beenden des Servers ) und Restart ( zum Neustarten ). Hier einfach Restart anwaehlen.



Kein Apache ohne PHP, hat mir mal ein Mentor gesagt.
Wir gehen also gleih weiter zur PHP installation.
Dazu klickt ihr bitte die heruntergeladene PHP 5.3 (5.3.3) VC9 x86 Thread Safe Installer

Fuer dieses Tutorial ist es wichtig, dass ihr die Thread Safer Variante runtergeladen habt
Warnung! Spoiler!

  1. Als erstes klicken wir auf Next.

    [img]http://i55.tinypic.com/29qdt2g.jpg[/img]
  2. Hier akzeptieren wir die Nutzungsbedingungen und klicken weiter auf Next.

    [img]http://i56.tinypic.com/j604me.jpg[/img]
  3. Hier, geben wir den Installationsorder an.
    Da es sich bei den meisten Installationen, nicht immer um den Ausgangspfad handelt, der vorgegeben wird,
    klicken wir auf Browse um im naechsten Fenster den Zielordner PHP anzugeben, den wir uns vorher angelegt haben.
    Mit einem klick auf Next geht es weiter zum naechsten Schritt.

    [img]http://i56.tinypic.com/111qxzc.jpg[/img]
  4. Im darauf folgenden Fenster, setzt ihr bitte den Radiobutton bei Apache 2.2.x Module und geht mit Next weiter.

    [img]http://i51.tinypic.com/t0rk7p.jpg[/img]
  5. Hier, muessen wir auf die Apachekonfigurationsdatei verweisen.
    Im Installationsordner von Apache ( Webserver > Programme >> Apache ) findet ihr den conf-Ordner, auf den ihr Referenzieren muesst.
    Ihr geht dazu auf den Button Browse, es erscheint ein neues Fenster und ihr Sucht den conf-Ordner. Mit einem klick auf OK und dann auf Next, geht es weiter.

    [img]http://i56.tinypic.com/2yx2jht.jpg[/img]
  6. In diesem Fenster, klickt ihr bitte erst PHP an, rechts neben dem Festplattenicon an.
    Unten wird der Installationspfad mit dem Button Browse... sichtbar.
    Hier gehen wir auf unseren Programmordner (E:\Webserver\pgr\PHP\) bestaetigen das mit OK und gehen mit Next weiter.

    [img]http://i56.tinypic.com/2yx2jht.jpg[/img]
  7. Hier klicken wir nur noch auf Install und warten bis die Installationsroutine abgeschlossen ist, um sie dann mit einem Klick auf Finish zu beenden.
    [img]http://i51.tinypic.com/svhxxc.jpg[/img]


Solltet ihr alles richtig gemacht haben, dann hat sich in der Apache-Konfigurationsdatei ganz unten zum Schluss etwas geaendert.
Am Ende, wurde die Konfigurationsdatei um folgendes ergaentzt:
Code:
   #BEGIN PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
   PHPIniDir “C:/dev/progs/PHP/”
   LoadModule php5_module “C:/dev/progs/PHP/php5apache2_2.dll”
   #END PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
   
.

Ihr sucht euch jetzt bitte die php.ini, die ihr im PHP-Ordner eurer PHP-Installation findet.
Oeffnet diese mit einem Textbearbeitungsprogramm und nehmt folgende Aenderungen vor.
Diese aenderungen haben sich auf meinem System als bewaehrt rausgestellt. Vllt. probiert ihr mit den Werten etwas rum.
Code:
   Zeile [b]458[/b]
   Sucht nach dem Ausdruck "memory_limit = 128M" und aendert die 128M auf 512M
   Damit sichern wir PHP 512M an Speicher zu, den es verwenden darf.
   
   Zeile [b]531[/b]
   Wir suchen nach "display_errors = Off" um es auf "display_errors = On" abzuaendern.
   
   Zeile [b]542[/b]
   Hier suchen wir nach etwas aehnlichem wie in Zeile 531 "display_startup_errors = Off" um es auf "display_startup_errors = On" zu aendern.
   
   Zeile [b]728[/b]
   Hier aendern wir "post_max_size = 8M" auf "post_max_size = 96M" ab.
   
   Zeile [b]879[/b]
   "upload_max_filesize = 2M" wird zu "upload_max_filesize = 1500M"
   
   Zeile [b]959[/b]
   Hier suchen wir nach ";date.timezone ="
   Wir nehmen das Semikolon ( Strichpunkt [ ; ] ) raus und loeschen es und fuegen nach dem Istgleich-Zeichen ( = ) "Europe/Berlin" ein.
   Dieser Eintrag sollte dann so aussehen: date.timezone = "Europe/Berlin"
   

Nachdem ihr die php.ini abgespeichert habt, startet ihr Apache wieder neu.

Oeffnet euren Texteditor, wenn ihr ihn nicht eh schon offen habt und erstellt euch eine neue Datei, die ihr im www-Ordner mit dem Namen index.php abspeichert, mit folgendem Inhalt
Php Code:


   <?php 
	  phpinfo(); 
   



Nun macht ihr euren Browser auf und gebt dort localhost/ ein.
Ihr solltet das Ergebnis sehen:
[img]http://i54.tinypic.com/2dsl4cg.jpg[/img]

funktioniert php auf eurem Webserver.


Zum letzten Schritt, der MySQL installation.
Dazu nehmt ihr bitte die MySQL 5.1.51x86, 64-bit MSI Installer
Warnung! Spoiler!

  1. Im ersten Fenster, klicken wir einfach auf Weiter -bzw. Next

    [img]http://i52.tinypic.com/2vxiqzs.jpg[/img]
  2. Wir klicken den Radiobutton Custom, ganz unten an und gehen mit Next weiter.

    [img]http://i51.tinypic.com/egs2rk.jpg[/img]
  3. Wir klicken im naechsten Fenster erst auf MySQL Server und klicken unten den Button Change… und aendern ihn, sodass er unter Webserver > Programme >> MySQL verweisst, sollte der Ordner MySQL nicht existieren, legen wir ihn uns an. Das Gleiche machen wir mit dem Eintrag MySQL Server Datafiles, der sich gleich unterhalb des MySQL Server-Eintrags befindet und aendern noch mal den Installationsverweiss auf den MySQL-Ordner. Wir gehen mit Next weiter.

    [img]http://i52.tinypic.com/mtm3uw.jpg[/img]
    [img]http://i53.tinypic.com/ddfgqq.jpg[/img]
  4. Jetzt nur noch ein klick auf Install und warten bis die Installationsroutine durchgelaufen ist.

    [img]http://i56.tinypic.com/jg2iq1.jpg[/img]

  5. Nachdem ihr zwei mal auf Next geklickt habt, bekommt ihr folgendes Fenster, in dem ihr das Haeckchen setzt, falls es noch nicht gesetzt ist, neben dem steht Configure the MySQL Server now und schliesst den Dialog mit Finish

    [img]http://i54.tinypic.com/sfh5ye.jpg[/img]


Wir stellen uns den MySQL noch ein, dazu popt gleich nach der Installation ein Fenster auf
  1. Wir klicken erstmal auf Next

    [img]http://i51.tinypic.com/2akl4bq.jpg[/img]
  2. Im naechsten Fenster sollte der Radiobutton Detailed Configuration angeklickt sein.
    Wir gehen mit der Bbestaetigung auf Next weiter

    [img]http://i56.tinypic.com/vyvejc.jpg[/img]
  3. Sollte im kommenden Fenster der Radiobutton bei Developer Machine gesetzt sein und man kann mit klick auf Next weiter gehen.

    [img]http://i54.tinypic.com/2e1aplh.jpg[/img]
  4. Der Eintrag des Ratiobutton sollte auf Multifunctional Database stehen und man kann mit klick auf Next zum naechsten Schritt.

    [img]http://i52.tinypic.com/t99t1x.jpg[/img]
  5. Beim naechsten Fenster, belassen wir alles so wie es ist und gehen mit Next weiter

    [img]http://i56.tinypic.com/2qak3nk.jpg[/img]
  6. Steht der Raidobutton auf Decision Support (DSS)/OLAP kann mit klick auf Next weiter gemacht werden.

    [img]http://i55.tinypic.com/b7kghs.jpg[/img]
  7. Alle Haeckchen ( Enable TCP/IP Networking, Add firewall exception for this port und Enable Strict Mode ) muessen gesetzt werden und der Port sollte bei 3306 belassen werden und mit Next zum naechsten Schritt.

    [img]http://i51.tinypic.com/2wbvti1.jpg[/img]
  8. Radiobutton bei Best Choice For Multilingualism setzten und mit Next weiter.

    [img]http://i52.tinypic.com/24xnx1c.jpg[/img]
  9. Wieder alles anklicken ( Install As Windows Service und Include Bin Directory in Windows PATH ) und bei Service Name, waehlt ihr MySQL5 an. Mit Next weiter zum naechsten Dialog.

    [img]http://i53.tinypic.com/2n0ov9y.jpg[/img]
  10. Das Haeckchen bei Modify Security Settings setzen und bei New root password und Confirm ein beliebiges Passwort setzten. Weiter mit Next

    [img]http://i56.tinypic.com/1pjgrd.jpg[/img]
  11. Im kommenden Fenster einfach nur auf Execute klicken und warten bis alle Punkte mit einem Hacken hinterlegt sind. Mit Finish den Konfigurationsprozess beenden.

    [img]http://i53.tinypic.com/nevy83.jpg[/img]




Wir werden uns jetzt SQL Buddy hernehmen und im Ordner www in dem Ordner Datenbank
Wenn ihr im Browser localhost/Datenbank eingebt, kommt ihr zum Anmeldefenster der Datenbank und dort gebt ihr nur noch das Passwort ein, dass ihr bei der MySQL-Konfiguration angegeben habt, um euch anzumelden. Ihr konnt noch die Spracheinstellung umaendern, sodass ihr die deutsche Sprache habt.
Warnung! Spoiler!
[img]http://i52.tinypic.com/1zml72p.jpg[/img]
[img]http://i51.tinypic.com/303fd5i.jpg[/img]



Ergaenzend kommt die Tage, dass Video und die Konfiguration auf Linux und OS X.

Bei Fehlern bitte direkt einen CM ansprechen und Aenderungen selbstaendig vornehmen.

[zum Seitenanfang]  
Re: Tutorials [Re: huendchen] - #2109697 - 18.10.2010, 16:51:04
master Bratack
Nicht registriert


@huendchen
Der Code ist felerhaft. Du hast in der Eile den den ?> vergessen. D.h. funktionierts nicht.

MFG Bratack

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2109701 - 18.10.2010, 16:55:31
Data
Nicht registriert


Dann bitte ich mal darum, dass es jemand korrigiert nochmal schreibt.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2109720 - 18.10.2010, 17:22:39
master Bratack
Nicht registriert


Php Code:


<?php // Makiert anfang des PHP Scripts 
	phpinfo(); // Gibt die PHP-Info aus
// Schließt PHP Script ab
?>



[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2109721 - 18.10.2010, 17:23:31
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Das mit den schliessen der Tags hat zwar auch pragmatische Gruende aber notwenig fuer die Funktionalitaet an sich, ist es nicht.

Ich schliesse weder in PHP-, HTML-, CSS- noch in Javascript-Dokumenten ab.
Es ist also nicht vergessen sondern bewusst nicht gesetzt.

Aber wenn es dir zu deinem Seelenfrieden gereicht, dann moege man es verbessern.

[zum Seitenanfang]  
Re: Tutorials [Re: huendchen] - #2109761 - 18.10.2010, 19:06:25
Data
Nicht registriert


Es ist vielleicht nicht essentiell wichtig, aber wohl besserer Stil. Ich hab's nachgetragen. Danke dafür.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2109886 - 18.10.2010, 22:00:19
Mein Nick
Nicht registriert


Antwort auf: Data
Es ist vielleicht nicht essentiell wichtig, aber wohl besserer Stil. Ich hab's nachgetragen. Danke dafür.


Das ist so nicht ganz richtig, an vielen Stellen wird sogar empfohlen, das ?> weg zu lassen. Vor allem bei Dateien die includet werden.. Was den einfachen Grund hat Fehlermeldungen zu verhindern, weil schon ein output war (z.B. header(), session_start() ..). Weil selbst ein ?>'Leerzeichen' gibt dann schon eine Fehlermeldung.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2109921 - 18.10.2010, 22:22:44
Data
Nicht registriert


Dann ist PHP, mit verlaub gesagt, irgendwie doof ;D

Ich setze es in Klammern in der Tut...

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2110204 - 19.10.2010, 14:57:07
master Bratack
Nicht registriert


Es ist nötig für meinen seelenfrieden, damit konnten wir sicherlich einigen leuten fehler vom hals halten.
Sonst könnte es ja zu missverständnissen kommen, und ich glaube nicht das Ein Anfänger gleich sachen includiert/ Scripte zum Includireren schreibt.

Bratack

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2110381 - 19.10.2010, 19:07:42
master Bratack
Nicht registriert


Sorry Nochwas: Wenn man Scripte Includiert kann man auch ?> weglassen AM ENDE. Wenn man Includiert wird das Script ausgeführt & das ergebniss an diese stelle gesetzt.

@Data
PHP ist wirklich ein bisschen Dumm, aber damit muss man halt leben

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2110450 - 19.10.2010, 20:39:37
Data
Nicht registriert


Das hatte Mein Nick schon erwähnt, deswegen hab ichs so geschrieben, wie es jetzt im Thread steht. Muss man sich halt bisschen damit beschäftigen...

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2110453 - 19.10.2010, 20:40:49
Scnappi
Nicht registriert


Es behauptet doch niemand, dass man das nur bei inkludierten Scripts machen kann. Es ist einfach ein Programmier/Coding-Stil. Anderes Beispiel dafür sind Klammern:
Php Code:
function sagHallo() {
	echo 'Hallo!';
}

function sagHallo()
{
	echo 'Hallo!';
} 

Einrücken tut auch jeder Programmierer anders (ein Leerzeichen? Ein Tab? Zwei Tabs? Wie groß ist der Tab?). Das ist nichts verpflichtendes und kann deswegen auch nicht darauf pauschalisiert werden, dass die Scriptsprache doof ist.

Bei HTML und CSS kann man es wie huendchen sagte auch so machen, dass man nicht schließt. Sind diese beiden Sprachen nun doof? Wo ist denn die bessere Alternative? ;-)

btw dieses Denglische Wort "includiert" klingt schrecklich.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2110473 - 19.10.2010, 20:58:42
Data
Nicht registriert


Naja ich bezog mich mit "doof" darauf, dass es Fehlermeldungen produziert, wenn ich schließe. Ich bin nur andere Sachen gewöhnt wie Java oder C. Da eine Klammer oder das ganze Dokument nicht zu schließen ist tödlich.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2110613 - 20.10.2010, 00:30:19
Mein Nick
Nicht registriert


Antwort auf: Data
Naja ich bezog mich mit "doof" darauf, dass es Fehlermeldungen produziert, wenn ich schließe.

Hm, Missverstaendnis. Das schliessen selbst erzeugt natuerlich kein Fehler - nur wenn danach noch ein Whitespace kommt.. Weil Whitespace = Output, dieser darf bei manchen Funktionen nicht sein, weil nach dem ersten output der Header nicht mehr manipuliert werden kann, deswegen ist es sinnvoll diese schliessenden Tags weg zu lassen, um diese Fehlerquelle zu vermeiden. & ich habe schon so viele Post gelesen, wo die Fehlermeldung wegen dem Leerzeichen kam, aber noch nie 'ne Fehlermeldung gelesen, die kam weil man 'nen schliessenden Tag vergessen hat (auf master Bratack bezogen).

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2110680 - 20.10.2010, 05:06:02
huendchen

Registriert: 29.03.2007
Beiträge: 2.385
Zitat:
Note:

The closing tag of a PHP block at the end of a file is optional, and in some cases omitting it is helpful when using include() or require(), so unwanted whitespace will not occur at the end of files, and you will still be able to add headers to the response later. It is also handy if you use output buffering, and would not like to see added unwanted whitespace at the end of the parts generated by the included files.

php manual - basic-syntax.instruction-separation


Mehr braucht man nicht zu wissen, besonders dann nicht, wenn es sich um kein ausgewiesenes Tutorial um PHP handelt, dafuer sind dann andere Tutorials notwendig. Das Semikolon beendet den PHP-Aufruf. Nicht notwenid also und in ZEND sogar missbilligt.

Waere es nicht einfacher, man konaktiert Batman uebers Handy und verzichtet in Zukunft auf den Lichtfluter?!

[zum Seitenanfang]  
Re: Tutorials [Re: huendchen] - #2112600 - 23.10.2010, 03:22:46
Mein Nick
Nicht registriert


Hey,

das ist jetzt nicht direkt ein Tutorial, sondern eher eine 'Erweiterung' zu Huendchen's Tut. (evtl. koennte man es auch in den Beitrag mit rein schreiben, wenn's Huendchen erlaubt?)
Genau gesagt: es sind 2 kleine Aenderungen, die mich in SQL Buddy ziemlich genervt haben (Beides nur mit Version 1.3.2 getestet).
Allerdings ist das schon eine Weile her, wo ich die geschrieben habe - deswegen koennte es sein, dass ich das ein oder andere versehentlich vergessen habe.

Die erste fuegt auf der Seite 'browse' (anzeigen der Tabellen Inhalten) ein Link ein, mit dem man direkt zur edit-Seite der entsprechnden Zeile kommt. (Nicht mehr ueber den 'Umweg' Checkbox -> Bearbeiten..
Ich bin faul. :-)
Das gleich koennte man eig. mit loeschen machen - allerdings loesche ich selten Inhalte ueber den Datenbank Manager, deswegen habe ich dafuer gerade nichts da.
so schauts aus:[img]http://nixseite.de/knuddels/sql_buddy1.jpg[/img]

Als erstes schieben wir die Spalten-Namen weiter nach Rechts.
Zeile 198 wie gefolge aendern:
Php Code:
echo '<div class="emptyvoid" style="width: 47px">&nbsp;</div>'; 


Dann muessen wir die Spalte fuer die Checkbox, Info & den neuen Link vergroessern.
Zeile 278 sieht dann so aus:
Php Code:
echo '<div class="leftchecks" style="width: 55px;">'; 



Nun kommt der Link dazu ~ Zeile 307
Warnung! Spoiler!
Php Code:
echo '<dd style="width: 30px;"><a onclick="editRow(\'' . addslashes($queryBuilder) . '\')" class="editRow" style="float: left;">e</a><a onclick="fullTextWindow(' . $m . ')" class="info" style="float: left;"></a><div style="clear:both; font-size: 1px; line-height: 1px; height: 1px;"></dd>'; 


Zum schluss dann noch die Tabelle nach Rechts schieben, sonst verschwinden ein paar Inhalte:
Zeile 320 wie gefolge aendern:
Php Code:
echo '<div class="gridscroll" style="margin-left: 55px;">'; 


Das wars dann auch schon mit dem Markup & Style. Jetzt noch die Javascript-Funktion & ein wenig CSS:

Die Javascript-Funktion kommt in 'helpers.js', wo genau ist eigentlich egal - die 'richtige' Stelle waere allerdings nach Zeile 332. (Vom aufbau her)

Code:
function editRow(query) {
	var grid = sb.grid;
	if (f(grid)) {
		sb.topTabs[sb.topTabSet].addTab("Edit", "edit.php", true);
		sb.page = "edit.php";
		var x = new XHR({url: "edit.php", onSuccess: finishTabLoad}).send("editParts=" + query);
	}
}


So, non fuegen wir noch die Klasse 'editRow' ein, und aendern ein wenig an dem vorhanen Stylesheet:
Dazu ersetzen wir den Code von Zeile 267-276 mit diesem:
Code:
.manip dd a.info {
background: url(../images/info.png) no-repeat;
width: 13px;
height: 13px;
display: block;
cursor: default;
}
.manip dd a.info:hover {
background: url(../images/infoHover.png) no-repeat;
}
.manip dd a.editRow {
background: url(../images/edit.png) no-repeat;
width: 13px;
height: 13px;
display: block;
cursor: default;
}
.manip dd a.editRow:hover {
background: url(../images/editHover.png) no-repeat;
}


Hier dann noch die 2 Bilder die gebraucht werden:
Edit: [img]http://nixseite.de/knuddels/edit.png[/img]
editHover: [img]http://nixseite.de/knuddels/editHover.png[/img]


Soa, das 2. Ding ist eine bearbeiten-Funktion fuer Tabellen wo kein Primaerschluessel definiert wurde.
Dazu allerdings 3 Sachen, die ich vorher erwaehnen moechte:
1. sollte eig. IMMER ein Schluessel angegeben werden, besser noch: eine ID (MySQL auto_increment)
2. Wenn es Zwei Spalten gibt, die genau den gleichen Inhalt in allen Spalten haben, werden BEIDE veraendert! (Wenn es Drei sind, werden halt alle Drei geaendert.. etc.)
3. Konnte ich das nun nur mit Text & int-Feldern testen, wie das dann mit BLOB etc aussieht.. Weiss ich nicht. Also vorher besser die Datei sichern.

Als erstes aendern wir eine kleine if-Klausel, die schon vorhanden ist.
Diese beginnt in Zeile 319 (wenn nicht in den naechsten Zeilen angaben immer die Anzahl drauf Rechnen oder abziehen) uns sieht so aus:
Php Code:
	 if (isset($primaryKeys) && count($primaryKeys))
			echo '<div class="gridscroll" style="margin-left: 55px;">';
		else
			echo '<div class="gridscroll">'; 

Daraus machen wir:
Php Code:
	 if (isset($primaryKeys) && count($primaryKeys)){
			$setWhere = false;
			echo '<div class="gridscroll" style="margin-left: 55px;">';
		}
		else {
			$setWhere = true;
			echo '<div class="gridscroll">';
		}
		$where = ''; 

.. hier setzen wir nur eine Variable die uns spaeter sagt, ob wir das benoetigen (wenn wir einen Primaerschluessel haben, haben wir ja schon vorhin den Button eingefuegt).
Nach der if-Klausel setzen wir noch eine leere Variable, die wir spaeter mit Inhalt fuellen.

Wenn das dann geaendert ist, geht es zur Zeile 330, die dieses beinhaltet:
Php Code:
while (($dataRow = $conn->fetchArray($dataSql)) && ($m < $displayLimit)) { 


NACH dieser Zeile wird das eingefuegt:
Php Code:
		 if($setWhere==true) {
				$where = 'WHERE ';
				foreach($fieldList as $key => $value) {
					if($dataRow[$key]!='') {
						if ($conn->getAdapter() == "sqlite") {
							$where .= $value . ' = \'' . $dataRow[$key] .'\' AND ';
						} else {
							$where .= '`' . $value . '` = \'' . $dataRow[$key] .'\' AND ';
						}
					}
				}
				$where = substr($where, 0, -5);
				$where = ' onclick="editRow(\''. addslashes($where) .';\')"';
			} 

Hier stezen wir dann unsere WHERE-Bedingung zusammen, die wir dann spaeter an die Javascript Funktion 'editRow' senden.
Als erstes wird ueberprueft, ob der Inhalt der Variable setWhere war oder falsch ist. Das haben wir vorhin in der if-Klausel gesetzt. Wenn der wahr ist, gehen wir in eine Schleife, in der wir dann wieder eine Ueberpruefung haben. In dieser Ueberpruefung gucken wir ob die aktuelle Spalte auch einen Wert hat, wenn nicht wird diese nicht gebraucht und koennte nur zu einem Fehler fuehren.
Anschliessend wird unsere WHERE-Bedingung nach Verbindungsart zusammen gebaut, wieder verkleinert und in ein Javascript-Eventhandler gepackt.

zu guter Letzt noch den Eventhandler an die richtige Stelle platzieren (Zeile 357):
Php Code:
		 echo '<tr ' . $where . '>'; 


Bearbeitet von Mein Nick (23.10.2010, 03:23:35)
Bearbeitungsgrund: spoiler eingefuegt

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2116471 - 29.10.2010, 04:50:03
DoUgHbOyS
Nicht registriert


Vor einiger Zeit hab ich als kleines Projekt an einer Spielstruktur gearbeitet - Schere, Stein, Paper (in PHP); bis jetzt hatte ich keine weiteren Ideen fuer eine Weiterentwicklung des Spiels', weder neue Ideen, da es sich in logischer Weise nicht wirklich lohnt, - es ist nur ein simples Spiel das nach einer Zeit langweilig wird, ausserdem hab ich das Spiel gecodet um mir eine Spielstruktur fuer weitere Spiele zu entwickeln, das heisst das vorherige in das naechste Konzept zu verwirklichen.

Falls sich hier jemand fuer das Spiel interessiert, bzw. fuer die Source, koennte ich die hier mit Erklaerungen posten, und wenn ihr Lust habt, auch eure Weiterentwicklungsversuche hier vorstellen.

[zum Seitenanfang]  
Re: Tutorials [Re: ] - #2243844 - 26.05.2011, 19:21:16
master Bratack
Nicht registriert


Moinsen,
kann es sein, das aus dem Hauptthread langsam aber sicher einige Beiträge verschwinden?

Achja, besteht interesse an Perl & C++ Tutorials/Codesnippets?

[zum Seitenanfang]  
alle Beiträge 1 2 3 > alle