anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 09 Jun, 2025 19:45

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa 15 Apr, 2006 19:52 
Offline
Held
Held
Benutzeravatar

Registriert: Di 27 Dez, 2005 18:29
Beiträge: 217
Wohnort: Flensburg
LoGD: http://lyra.x-mashine.de/
Also, ich will mein Cafe fertig stellen und bei der Option Mettrinken passiert nicht und man hängt fest. Die Textstelle lautet:
[php]}elseif ($_GET['op']==met){
if ($session['user']['gold']>999) {

if ($session['user']['level']>8) {
output("`#Du bezahlst `^ 1000 Gold `#an `@Arka `# und er reicht die einen Krug `^Met`#. Du trinkst es aus und fühlst dich ruhiger. Deine Verteidigung steigt.");
$session['user']['gold']-=1000;
$session['user']['defence']++;
}else{
output("`#Du bezahlst `^ 1000 Gold `#an `@Arka `# und er reicht die einen Krug `^Met`#. Da du aber noch sehr jung bist, schlägt dir der `^Met`# auf den Magen und du verlierst an Verteidigung.");
$session['user']['gold']-=1000;
$session['user']['defence']--;

}
addnav ("`4Zurück zum Café", "cafedisco.php");

}else{
addnav("`4 Zurück zum Cafe","cafedisco.php");
output("`#Du hast nicht genügend Gold.");
}[/php]

Erst muss gefragt werden, ob das Gold für den Drink vorhanden ist. Und dann will ich es so haben, dass man, wenn man über 8 Lvl hat, einen verteidigungpunkt bekommt, wenn man darunter ist eine abgezogen bekommt. wer kann da helfen?

Mfg Lyra


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 15 Apr, 2006 20:00 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Lyra hat geschrieben:
bei der Option Mettrinken passiert nicht und man hängt fest.


Nimm ein Messer und schneid dich los :roll:

Nein, ich bitte dich. Was sollen wir mit so einer Meldung anfangen? Fehlermeldung? Sonstige Meldung?

Was ich auf anhieb grad sehe ist, dass du met in der if nicht als string gebrauchst, sondern als Konstante. Gewollt?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 15 Apr, 2006 20:08 
Offline
Held
Held
Benutzeravatar

Registriert: Di 27 Dez, 2005 18:29
Beiträge: 217
Wohnort: Flensburg
LoGD: http://lyra.x-mashine.de/
Eliwood hat geschrieben:
Lyra hat geschrieben:
bei der Option Mettrinken passiert nicht und man hängt fest.


Nimm ein Messer und schneid dich los :roll:

Nein, ich bitte dich. Was sollen wir mit so einer Meldung anfangen? Fehlermeldung? Sonstige Meldung?

Was ich auf anhieb grad sehe ist, dass du met in der if nicht als string gebrauchst, sondern als Konstante. Gewollt?


ha ha. wie ich sagte keine fehlermeldung nix. soll ich mri eine aus den rippen schneiden wenn keine da ist?
es wird halt keine navleiste mehr ausgegeben und auch sonst passiert nix.

ich denke dass man anhand dieser stelle was sagen kann.

und wieso konstante oder nicht? ich benutzt es so wie auch die anderen getränke ganz normal und bei den anderen gehts ja auch.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 15 Apr, 2006 20:19 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
[php]print met; // Die Konstante met wird ausgegeben, sofern sie exisiert
print 'met'; // met wird ausgegeben[/php]

[php]}elseif ($_GET['op']==met){ [/php]
met ist wahrscheinlich keine Konstante. Deshalb müsste das hier:
[php]}elseif ($_GET['op']=='met'){ [/php]
heissen.

*Diese* Aussage hört sich schon wesentlich besser an.
page_footer vorhanden?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 20:50 
Offline
Held
Held
Benutzeravatar

Registriert: Di 27 Dez, 2005 18:29
Beiträge: 217
Wohnort: Flensburg
LoGD: http://lyra.x-mashine.de/
ach das meinste.. ohne die '' geht es bei den anderen getränken auch, deshalb hab ich das bei dem met auch so gemacht. denk nciht, dass es daran liegt (außerdem hatte ich es auch mal anders) und ja klar hab ich n page_footer();
alles funzt ja auch bis auf die ausgabe wenn man auf met klickt..

edit: jetzt geht es.. find ich ja lustig, dass dabei die '' zu setzen sind bei den andren nicht.. naja dangge :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 21:00 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Ich empfehle dir dringengst String in Quotes zu setzen!

[php]define('met',1024);

$var = "met";

if($var == met) print '$var hat den Wert met';
else print '$var it nicht met';[/php]

Welche Ausgabe würdest du erwarten?
Die erste?

Es wird aber Nummer 2 kommen!
Da met eine Konstante ist. Wäre die Konstante nicht definiert, würde die PHP-Fehlerkorrektur annehmen, dass es sich hierbei doch um einen String handelt und die Quotes vergessen worden sind.
Also ist dein Stil quasi falsch


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 21:17 
Offline
Held
Held
Benutzeravatar

Registriert: Di 27 Dez, 2005 18:29
Beiträge: 217
Wohnort: Flensburg
LoGD: http://lyra.x-mashine.de/
erst mal was definierst du als string? doch wohl nicht die ' oder?
und wie ich schon sagte bei den anderen geht es halt ANDERS.
ich hab zwar nicht viel plan von sql und dam krams, aber deshalb musst du mir nicht so kommen, denn das weiß ich auch noch.. ich seh ja was funzt und was nicht.

mit deinen fachbegriffen brauchst mir jedoch nicht kommen, das peil ich eh nicht.. aber irgendwie glaub ich das kann ich noch hundertmal sagen, das ignorierst du eh


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 21:23 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Mann...

Zitat:
PHP unterstützt acht primitive Typen.

Vier skalare Typen:

*

Boolean
*

Integer
*

Fließkomma-Zahl (float)
*

String / Zeichenkette

Zwei zusammengesetzte Typen:

*

Array
*

Object

Und zuletzt zwei spezielle Typen:

*

Resource
*

NULL


Ein String ist nichts anderes als eine Zeichenkette :nene:
Eine Konstante ist eine Variable, die man nicht ändern kann (Also nicht Variabel ist).


Und sag mal... Wie soll ich dir erklären das was falsch ist?
Mit Wörtern wie "Ja das was nicht in Diesen 2 Hochstrichen steht"?

Nimm dir doch bitte meine Worte zu herzen. Irgendwann baust du dir mit diesem Stil einen Riesenbug.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 21:47 
Offline
Held
Held
Benutzeravatar

Registriert: Di 27 Dez, 2005 18:29
Beiträge: 217
Wohnort: Flensburg
LoGD: http://lyra.x-mashine.de/
Eliwood hat geschrieben:
Mann...

Zitat:
PHP unterstützt acht primitive Typen.

Vier skalare Typen:

*

Boolean
*

Integer
*

Fließkomma-Zahl (float)
*

String / Zeichenkette

Zwei zusammengesetzte Typen:

*

Array
*

Object

Und zuletzt zwei spezielle Typen:

*

Resource
*

NULL


Ein String ist nichts anderes als eine Zeichenkette :nene:
Eine Konstante ist eine Variable, die man nicht ändern kann (Also nicht Variabel ist).


Und sag mal... Wie soll ich dir erklären das was falsch ist?
Mit Wörtern wie "Ja das was nicht in Diesen 2 Hochstrichen steht"?

Nimm dir doch bitte meine Worte zu herzen. Irgendwann baust du dir mit diesem Stil einen Riesenbug.



sleber mann!
am besten vergisst du es
ich weiß was ein string und eine konstante ist!

aufreg :bash:
und wenn ichs bau ists ja nicht dein prob


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 21:50 
Offline
Held
Held

Registriert: Di 10 Mai, 2005 12:54
Beiträge: 206
hör besser auf ihn.... ich hab mir so nen großen bug zusammengebaut.... genauso wie ich mir mal nen kleinen bug gebaut hab indem ich in nem script imemr statt . ein , hergenommen hab :???:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 22:17 
Offline
Held
Held
Benutzeravatar

Registriert: Di 27 Dez, 2005 18:29
Beiträge: 217
Wohnort: Flensburg
LoGD: http://lyra.x-mashine.de/
hehe sowas mach ich eigentlich nicht, nur ging das andre auch so. aber auf altkluge beschreibungen hab ich keinen nerv. ist nru so dass ich mir das selbstbeipul nebenbei, hatte sonst nur tp und delphi gelernt.. und da weiß ich natürlich auch was n string ist.. dehslab verwunderte es mich.. naja was solls..zumindest bin ich gleich fertig


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 22:43 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Zitat:
erst mal was definierst du als string? doch wohl nicht die ' oder?

Zitat:
ch weiß was ein string und eine konstante ist!


Öhm? :?

2 Grundsätzliche Widersprüche. Und um nochmal zu demonstrieren, was ich dir mitteilen möchte, für das Script hier aus:

[php]$var = 'Varv';
if(Varv=== $var) print '$var === Varv<br />';
if("Varv" === $var) print '$var === "Varv"<br />';

define('Varv','novar');

if(Varv === $var) print '$var === Varv<br />';
if("Varv" === $var) print '$var === "Varv"<br />';[/php]

Und dann merkst du hoffentlich, warum es halt bei diesem einen Fall nicht geklappt hat.

Übrigens: Auch ich hab mir alles selbst bei gebracht. Und vorher konnte ich gerade mal mit einem Baukasten einfache C++ Anwendungen machen (Wirklich sehr einfache Dinger).

PS: Doch, wenn du einen solchen Bug baust, ist es auch mein Problem. Dann dann würdest du hier wieder posten und alles beginnt von neuem...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Apr, 2006 22:55 
Offline
Held
Held
Benutzeravatar

Registriert: Di 27 Dez, 2005 18:29
Beiträge: 217
Wohnort: Flensburg
LoGD: http://lyra.x-mashine.de/
Eliwood hat geschrieben:
Zitat:
erst mal was definierst du als string? doch wohl nicht die ' oder?

Zitat:
ch weiß was ein string und eine konstante ist!


Öhm? :?

2 Grundsätzliche Widersprüche. Und um nochmal zu demonstrieren, was ich dir mitteilen möchte, für das Script hier aus:

[php]$var = 'Varv';
if(Varv=== $var) print '$var === Varv<br />';
if("Varv" === $var) print '$var === "Varv"<br />';

define('Varv','novar');

if(Varv === $var) print '$var === Varv<br />';
if("Varv" === $var) print '$var === "Varv"<br />';[/php]

Und dann merkst du hoffentlich, warum es halt bei diesem einen Fall nicht geklappt hat.

Übrigens: Auch ich hab mir alles selbst bei gebracht. Und vorher konnte ich gerade mal mit einem Baukasten einfache C++ Anwendungen machen (Wirklich sehr einfache Dinger).

PS: Doch, wenn du einen solchen Bug baust, ist es auch mein Problem. Dann dann würdest du hier wieder posten und alles beginnt von neuem...


oh mannn.....

sind keine widersprüche, denn ich habe mich gefragt ob DU dich grad dumm anstellst wegen des strings, nicht mehr und nicht weniger

und wenn es dich so belastet lies halt nicht was ich schreib... :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 16 Apr, 2006 10:02 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Ihr seid komisch...

Also noch mal für alle: Ein String ist (im falle PHP) eine Zeichkette, ein Datentyp der auf 5 unterschiedliche Methoden deklariert werden kann.
gebräuchlich sond davon aber nur 2-3:
Methode 1: Doppelte Anführungszeichen
[php]$string = "Ich bin ein string in double-quotes";[/php]
Methode 2: Einfache Anführungszeichen (Hochkommata)
[php]$string = 'Ich bin ein string in single-quotes';[/php]
Methode 3: Heredoc Syntax
[php]$string = <<<STRING
Ich bin einString im heredoc-syntax
STRING;[/php]

Weitere:
Methode 4: Cast
[php]$string = (string) 55;[/php]
Methode 5: Automatische umwandlung durch Verkettung
[php]$string = "".123."";[/php]

So, das dürften alle möglichkeiten sein, einen String zu erstellen. Im Normalfall befindet sich dieser also IMMER in Anführungszeichen/Hochkommata. Das hier ist KEIN korrekter string:
[php]$keinstring = ichbinkeinstring_bestenfallseinekonstante;[/php]

Ich hoffe das hilft ein wenig weiter.

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Verschachtelungsfehler
BeitragVerfasst: So 16 Apr, 2006 10:41 
Offline
Newbie

Registriert: So 16 Apr, 2006 10:36
Beiträge: 1
Wohnort: Selm
Davon abgesehen, dass ich Elliwood voll zustimme und es wirklich furchtbar ist, 'nen String im Source im Konstantenlook ertragen zu müssen, tippe ich mal auf 'nen Verschachtelungfehler in den IF-clauses.

Genaueres kann man nur sagen, wenn Du den kompletten Source postest.

Stefan


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 39 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum