Chris Hunter
schreib mal
php
Dein PHP Script hier rein
/php
wobei du php und /php in eckige klammern einfasst ;-) dann formatiert das forum den textteil mit syntax highlighting..
ach und nochwas fällt mir ein. schreib kommentare, also im moment so zum einlernen ist es nicht sehr wichtig aber später wenn du mal ein echtes projekt hast ist es wirkich unabdingbar. lohnt sich auf jeden fall ab projekten oder übungen ab 150-200 zeilen.
halte dich von anfang an an definierte syntax.
z.b. ist dieser code wesentlich einfach zu lesen:
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
<?php //Neue Session ID generieren
$sid = $server.create_sid();
//altes Session-File des Users
$sidfile = 'data/login/'.$usr['sid'].'.txt';
//Session-Datei löschen wenn sie existiert
if(file_exists($sidfile))
@unlink($sidfile);
//User hat sich das letzte mal nicht ausgelogt
if($usr['sid'] != '')
$notloggedout = '&nlo=1'; ?> |
|
als das hier:
| php: |
1:
2:
3:
|
<?php $sid=$server.create_sid(); $sidfile='data/login/'.$usr['sid'].'.txt';
if(file_exists($sidfile)) @unlink($sidfile);
if($usr['sid'] != '') $notloggedout = '&nlo=1'; ?> |
|
Bjondor
was für ne seite soll mein erstes ziel sein?
also worauf soll ich mich konzentrieren und üben experimentieren und alles, bis ich ne seite geschafft hab?
Chris Hunter
TIP:
| php: |
1:
2:
3:
4:
5:
6:
|
<?php $a = 28;
$b = 14;
if ($a<$b)
echo "$a ist kleiner als$b";
else
echo "$a ist grösser als $b"; ?> |
|
kann man so machen, aber ich persönlich stehe nicht auf integrierte Variabeln in strings, eben wegen der lesbarkeit, da gehen die Meinungen aber auseinander.
aber ich schreibe strings für gewöhnlich nie in " sondern immer in '
Ein Grund ist weil ich keine Lust habe die " später für HTML tags zu escapen, ein anderer halt die Lesbarkeit. Das oben aufgeführte Beispiel ist so besser:
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
|
<?php
$a = 28;
$b = 14;
if ($a<$b)
{
echo $a.' ist kleiner als'.$b;
}
else
{
echo $a.' ist grösser als'.$b;
}
?>
|
|
^^ man beachte das syntax highlighting was hier die Variabeln besser heraushebt.
Bjondor
okay, aber was ist das syntax highlighting?^^
Bjondor
und wie mache ich die einfachen anführungszeichen, so?
'und'
Chris Hunter
| Zitat: |
Original von Bjondor
was für ne seite soll mein erstes ziel sein?
also worauf soll ich mich konzentrieren und üben experimentieren und alles, bis ich ne seite geschafft hab? |
Komm ich geb dir mal ne Aufgabe:
Schreibe ein Programm das beim ersten Aufruf ein Formular ausgibt und eine Zufallszahl berechnet.
Das Formular soll lediglich aus einem sichtbaren INPUT Textfeld bestehen in das der Benutzer eine Zahl eingeben soll. Weiterhin soll das Formular ein INPUT feld des typs HIDDEN haben in der die Zufallszahl übergeben wird.
Nach dem Absenden soll das Script angeben ob die Zufallszahl größer oder kleiner als die Eingabe des Benutzers ist. Ist die Eingabezahl nicht gleich der zufallszahl soll weiterhin das Formular angezeigt werden.
Dieser Ablauf geht solange bis der Nutzer die zufallszahl trifft, dann soll anstelle des Formulars nur angezeigt werden das der Nutzer die zufallszahl erraten hat.
Diese Aufgabe soll mit nur einer PHP Datei realisiert werden.
Altbekanntes spielchen - vom schwierigkeitsgrad her Level 1- 2
Folgende PHP Befehle und Variabeln werden dir helfen:
$_REQUEST
switch
if
mt_rand
isset
Ich hoffe ich hab keinen vergessen... tüftel mal ein bischen damit rum, und lies dich durch die Befehle. in der Referenz die ich die geschickt habe sind bei jedem Befehl ganz unten am Fuß der Beschreibung sinnverwante Befehle angegeben die du dir auch anschaun kannst wenn du wissbegierig bist...
mal sehen wie weit du kommst. bin mal gespannt :-D
Bjondor
die aufgabe ist in ordnung, werde mich morgen damit beschäftigen, heute abend nicht mehr!^^
heute habe ich einfach freude an dem server, probiere dinge aus und so weiter!^^
ich les immer das thema durch, dann schreib ich ein beispiel ab und beschrifte rechts daneben jede zeile, damit ich später immer wieder nachschauen kann und es auch noch beschrieben ist, von hand geschrieben!^^
da ich ja nie nen server hatte zum ausprobieren war ich lange zeit an dem variable-problem, daher das einzigste, was ich bereits weiss sind:
variablen (nur solche, denen ich nen inhalt geben kann, also ncoh keine typen der variablen)
text ausgeben
und bei variablen und text if und else, also bedingungen, mehr konnte ich noch nicht anschauen, doch morgen wird ein wissbegierigter tag!^^
Chris Hunter
fertig, erster :-D
folgende PHP Befehle und vordefierte Variabeln musste ich verwenden:
$_REQUEST
isset
mt_rand
if
else
elseif
alternativ evtl noch $_SERVER['PHP_SELF'] wenn du den dateinamen dynamisch halten möchtest :-D
Bjondor
lol nunja, morgen werde ich es schaffen!^^
aber du hast mir doch ne php-befehlsreferenz geschickt, hab sie, aber bei mir steht bei jeder seite dieser datei, also einleitung, codes und bei allem seite kann nicht angezeigt werden.... habe ich was falsches gemacht?
hab trotzdem bereits jetzt begonnen, das formular hab ich schon, also es muss doch ne einstellige zahl sein oder?
aber ich muss doch 2 seiten machen oder?
anders geht es ja nicht...
es gibt noch ein problem, kannst du mir zufallsgeneratoren beibringen, hab noch keinen plan von php und versteh das einfach nicht, könntest mir zeigen?^^
hmmm komisch, auf dem server zeigt es nun immer die gleiche datei an, obwohl ich schon lange ne andere reingeschoben habe, habe nun sogar beide gelöscht, nun hat es keine mehr drin, doch es zeigt es noch immer an?
Chris Hunter
bitte benutze die editfunktion hier im forum :-D sonst verlier ich den überblick.
zu der chm:
regedit ausführen
unter HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/HTMLHelp/1.x/
einen Schlüssel erstellen: HHRestrictions
(rechte Maustaste auf 1.x, dann oben auf Schlüssel)
unter diesem Schlüssel einen DWORD erstellen (rechte Maustaste im rechten Bereich) mit Namen: MaxAllowedZone
und Wert 3 eingeben
dann sollte es funktionieren.
zu der zahl: mach eine zufallszahl im bereich 0-100
zu der seite: nein es geht auch mit einer seite.
http://www.premiumforce.de/~djmikeamp/index.php :-D
zufallszahlen generierst du mit mt_rand
| code: |
1:
2:
3:
|
$zufallszahl=mtrand(0,100);
|
|
wegen dem serverinhalt: schau mal in deinem FTP programm ob du dirt directorycaching ausschalten kannst, das ist glaube ich dein problem.
Bjondor
wo kann ich diese dinge nachschauen, also wie komme ich zu disen beschreibungen, den das oben genannte, da weiss ich nicht was ich damit tun soll!^^
Chris Hunter
start -> programm ausführen -> regedit (sag das mal deinem vater - muharrr)
oder windowstaste + r -> regedit reinschreiben.
Bjondor
hmmm die pefehlsreferenz geht noch immer nciht, hab das gemacht, aber de zufallszahl, wenn ich das eingebe ebe $zufallszahl=mt-rand
also einfach das was du geschrieben hast, es geht nicht, es zeigt an, fehler in dieser linie... kannst ja mal nachschauen....
Chris Hunter
schau dir die befehle einfach mal online an auf
http://www.php.net/manual/de/
die syntax für mt_rand ist wie folgt:
mt_rand
(PHP 4, PHP 5)
mt_rand — Erzeugt 'bessere' Zufallszahlen
Beschreibung
int mt_rand ([ int $min ], int $max )
Viele Zufallszahlengeneratoren, die auf älteren libc-Versionen basieren, haben seltsame oder doch zumindest unerwartete Verhaltensweisen und sind zudem recht langsam. Standardmäßig verwendet PHP den libc-Zufallszahlengenerator mit der Funktion rand(). Die Funktion mt_rand() kann jedoch als vollwertiger Ersatz verwendet werden. Sie verwendet einen Zufallszahlengenerator mit den bekannten Charakteristika der » Mersenne Twister, die Zufallszahlen viermal schneller generiert als der durchschnittliche libc-rand()-Aufruf.
Wenn die Funktion ohne Angabe von min und/oder max aufgerufen, gibt mt_rand() eine Pseudozufallszahl zwischen 0 und RAND_MAX zurück. Benötigen Sie zum Beispiel eine Zufallszahl zwischen 5 und 15 (inklusive), verwenden Sie mt_rand(5, 15).
Hinweis: Seit PHP 4.2.0 besteht keine Notwendigkeit mehr, den Zufallsgenerator für Zahlen mit srand() oder mt_srand() zu füttern, das geschieht nun automatisch.
Parameter Liste
min
Der optionale niedrigste Wert, der zurückgegeben werden kann (Standardwert: 0).
max
Der optionale höchste Wert, der zurückgegeben werden kann (Standardwert: RAND_MAX).
Rückgabewerte
Ein zufälliger Integerwert zwischen min (oder 0) und max (oder RAND_MAX, inklusive).
ChangeLog
Version Beschreibung
Since 3.0.7 In PHP-Versionen vor 3.0.7 gab der zweite Parameter max nicht den Maximalwert sondern die Größe des Werteintervalls (range an. Um in diesen älteren Versionen das selbe Ergebnis zu erhalten, sollten Sie in dem kurzen Beispiel rand (5,11) verwenden, um eine Zufallszahl zwischen 5 und 15 zu erzeugen.
Beispiele
Example#1 mt_rand()-Beispiel
| php: |
1:
2:
3:
4:
|
<?php echo mt_rand() . "\n";
echo mt_rand() . "\n";
echo mt_rand(5, 15); ?> |
|
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
1604716014
1478613278
6
Siehe auch
mt_srand()
mt_getrandmax()
Wenn du die Registryschlüssel so eingegeben hast sollte es aber funtzen. evtl nach nem neustart...
ach noch n hinweis fummel nicht in der registry rum wenn du nicht weist was du tust, nur n kleiner tip .-D
Bjondor
ne frage, würde das gehen, wenn ich bereits jetzt sozusagen ein game programmiere, ich sage als erstes diese seite, dann schau ich nach, was ich darauf machen will und werde mit etwa 3 geöffneten internetseiten zusammen versuchen die seite zu programmieren, ich meine mit alles internetnachschalgewerken würde ich da eventuel hinbekommen, und so jede seite mache, je mehr seiten ich dann gemacht habe, desto besser kann ichs und so lern ich auch alles gleichzeitig....
ich glaub ist eher ne schlechte idee!^^
noch ne frage, ich arbeite dieses tutorial durch, wird alles gut beschrieben, bin zwar noch am anfang aber egal, doch dort bei jedem beispiel wir immer am ende im string drin \n gesetzt, das erzeugt ja nen zeilenumbruch im code, was bringt das, ist doch überhaupt nicht nötig, siehe das zum ersten mal, man drückt einfach enter, sehe keinen unterschied zu anderen dingen...
Chris Hunter
Nein, das erzeugt einen Zeilenumbruch in der Ausgabe und verbessert so die lesbarkeit der Ausgabequelle. Ist für die funktion aber überhaupt nicht notwendig.
gleich zu anfang mit nem game anfangen ist überhaupt nicht ratsam...
Bjondor
hab ein Problem, das PHP script will nich laufen, hab sogar mit dem beispiel nachgeprüft, es muss stimmen, weshalb wird index.php nicht ausgeführt? hab noch beide seiten drin, das formular und das andere, doch es kommt nichts.... könntest mal nachschauen, wenn du zeit hast?^^
Chris Hunter
auf dem server ist register_globals auf off gestellt. also sind die übergeben formular variabeln nicht über $w1 oder $w2 erreichbar. gewöhne dir das auch gar nicht erst an, werte aus formularen nicht über POST oder GET oder REQUEST abzufragen.
so läuft es:
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
<?php if ($_POST['w1'] > $_POST['w2'] && $_POST['w1'] > $_POST['w3']){
echo $_POST['w1']." ist die größte Zahl";
}
if ($_POST['w2'] > $_POST['w1'] && $_POST['w2'] > $_POST['w3']) {
echo $_POST['w2']." ist die größte Zahl";
}
if ($_POST['w3'] > $_POST['w1'] && $_POST['w3'] > $_POST['w2']) {
echo $_POST['w3']." ist die größte Zahl";
} ?> |
|
Bjondor
achso okay, und die variable $_POST geht immer, also wenn ich irgendwann mal nen eigenen server habe oder so, kann ich das dort dann auch einfach mit $_POST['variable'] machen?^^
hab nun gemerkt, das dies glaub ich immer geht, das alles in dieses array gespeichert wird...
doch ne frage, hast du icq oder msn, würde mal gerne mit dir in kontakt treten, um bisschen besser mit dir zu diskutieren, was ich nun machen soll, ob ich da tutorial gnaz durchmachen soll, also auch über mysql und anderes, wie man am besten ein seiten-layout erstellt, das passend ist und so, ahb viele fragen an dich!^^