kostenloser Webspace werbefrei: lima-city


* Eine genutzte Funktion steht nicht zur Verfügung.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    Seite derzeit nicht verfügbar

    Die gewünschte Seite ist derzeit leider nicht verfügbar.

    Mögliche Ursachen:

    * Es ist ein unerwarteter Serverfehler aufgetreten.
    * Die Angaben in einer .ht-Datei sind fehlerhaft, meist .htaccess
    * Eine genutzte Funktion steht nicht zur Verfügung.
    * Das PHP-Skript verursachte eine nicht behandelte Ausnahme.

    Bitte korrigieren Sie Ihre Angaben und versuchen Sie es anschließend noch einmal. (Statuscode 500)


    Nun das kommt bei mir immer bei einem Skript, ich mache nichts mit .ht dateien,
    ein einmaliger serverfehler ist es auch nicht da der immer da ist.
    EIne genutze Funktion steht nicht zur Verfügung, könnte es sein ich habe einige eigene definiert die aber einzeln auch laufen.
    Und das letzte nunja deshalb bin ich hier.

    Kann mir wer helfen?

    mfg matthimeo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Der HTTP-Fehlercode 500 wird u.a. ausgelöst, wenn dein PHP-Script fehler enthält (warum auch immer der Interpreter dann nicht einfach den Feher ausgibt, sondern diese seite...)
    Wenn du dir sicher bist, dass das Script keine Fehler enthält kannst ja mal hier mal schaun was sonst noch einen 5xx-Fehlercode hervorrufen kann...
  4. djfun

    Co-Admin Kostenloser Webspace von djfun

    djfun hat kostenlosen Webspace.

    wenn du willst, das der Fehler angezeigt wird, kannst du eine .htaccess mit php_value display_errors 1 anlegen.
  5. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    An mysql_query kann und mysql_fetch_assoc kann es och nicht liegen, oder?
    Ansonsten nutze ich nur eine selbsterstellte Funktion.
    Wird irgendwo limietiert wie viele Parameter eine Funktion haben kann? -Nein ( glaube ich )
    Aber anonsten weise ich nur Variablen zu.

    Achtung... nicht schockiert sein...
    <?php
    require_once("../scripts/mysql.php");
    require_once("kampfsimulator.php");
    $time=time()-1;
    $query1=mysql_query("SELECT * FROM angriffe WHERE ankunftszeit<'$time' ORDER BY method DESC");
    while($row1=mysql_fetch_assoc($query1))
    {
    if($row1['method']==0){
    $id=$row1['id'];
    $type=$row1['method'];
    $tovid=$row1['tovid'];
    $touid=$row1['touid'];
    $fromvid=$row1['fromvid'];
    $fromuid=$row1['fromuid'];
    $armee=mysql_fetch_assoc(mysql_query("SELECT * FROM village WHERE id='$tovid'"));
    $attbauern=$row1['bauern'];
    $attpikeniere=$row1['pikeniere'];
    $attberserker=$row1['berserker'];
    $attkreuzritter=$row1['kreuzritter'];
    $attbogen=$row1['berserker'];
    $defbauern=$armee['bauern'];
    $defpikeniere=$armee['pikeniere'];
    $defberserker=$armee['berserker'];
    $defkreuzritter=$armee['kreuzritter'];
    $defbogen=$armee['boegenschuetze'];
    $defmauer=$armee['mauerbonus'];
    $traveltime=$row1['ankunftszeit']-$row1['startzeit'];
    if($type==3)battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
        $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
        $traveltime,$fromvid,$fromuid,$tovid,$touid,$type);
    else battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
        $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
        $traveltime,$fromvid,$fromuid,$tovid,$touid,);
    mysql_query("DELETE FROM angriffe WHERE id='$id'");
    }
    if($row1['method']==1){
    $id=$row1['id'];
    $tovid=$row1['tovid'];
    $touid=$row1['touid'];
    $fromvid=$row1['fromvid'];
    $fromuid=$row1['fromuid'];
    $armee=mysql_fetch_assoc(mysql_query("SELECT * FROM village WHERE id='$tovid'"));
    $bauern=$row1['bauern'];
    $pikeniere=$row1['pikeniere'];
    $berserker=$row1['berserker'];
    $kreuzritter=$row1['kreuzritter'];
    $bogen=$row1['berserker'];
    mysql_query("UPDATE village SET bauern=bauern+'$bauern', pikeniere=pikeniere+'$pikeniere',
     berserker=berserker+'$berserker', kreuzritter=kreuzritter+'$kreuzritter', bogenschuetze=bogenschuetze+'$bogen' WHERE id='$tovid'");
    mysql_query("DELETE FROM angriffe WHERE id='$id'");
    }
    if($row1['method']==2){
    $id=$row1['id'];
    $tovid=$row1['tovid'];
    $touid=$row1['touid'];
    $fromvid=$row1['fromvid'];
    $fromuid=$row1['fromuid'];
    $armee=mysql_fetch_assoc(mysql_query("SELECT * FROM village WHERE id='$fromvid'"));
    $bauern=$row1['bauern'];
    $pikeniere=$row1['pikeniere'];
    $berserker=$row1['berserker'];
    $kreuzritter=$row1['kreuzritter'];
    $bogen=$row1['berserker'];
    mysql_query("UPDATE village SET bauern=bauern+'$bauern', pikeniere=pikeniere+'$pikeniere',
     berserker=berserker+'$berserker', kreuzritter=kreuzritter+'$kreuzritter',
      bogenschuetze=bogenschuetze+'$bogen' WHERE id='$fromvid'");
    mysql_query("DELETE FROM angriffe WHERE id='$id'");
    }
    }
    ?>


    Irgendwo da drin ist der Fehler.
    Wäre wirklich nett wenn jemand den Fehler findet.

    mfg matthimeo
  6. Zeile 28-33

    if($type==3)battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
    $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
    $traveltime,$fromvid,$fromuid,$tovid,$touid,$type);
    else battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
    $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
    $traveltime,$fromvid,$fromuid,$tovid,$touid,);


    Ich kann leider nicht einmal erkennen was Du mit diesem Code erreichen wolltest, jedenfalls ist der synthax total verbuggt:

    Aber ich denke mal Du weisst wie man eine if-abfrage schreibt und hast nur falsch kopiert oder ähnliches(?)
  7. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    also battle() ist eine Funktion mit zig Parametern.
    Die if-Abfrage ist doch richtig, oder?

  8. Zeile 28-33

    if($type==3)battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
    $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
    $traveltime,$fromvid,$fromuid,$tovid,$touid,$type);
    else battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
    $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
    $traveltime,$fromvid,$fromuid,$tovid,$touid,);



    Also ich würde if-Abfragen immer mit geschweiften Klammern schreiben, damit ich nachher noch sehe was drin steckt. Also in etwa so:

    if($type==3){
    battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
    $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
    $traveltime,$fromvid,$fromuid,$tovid,$touid,$type);
    else {
    battle($attbauern,$attpikeniere,$attberserker,$attkreuzritter,$attbogen,
    $defbauern,$defpikeniere,$defberserker,$defkreuzritter,$defbogen,$defmauer,
    $traveltime,$fromvid,$fromuid,$tovid,$touid,);
    }


    Aber daran wirds in diesem Fall nicht liegen... im else Zweig fehlt ein Parameter, daher kann das nicht so recht funktionieren. oben gibst du Type an unten nicht. Sollte es dann immer noch nicht gehen, würde ich den Fehler in der Funktion battle() suchen.
  9. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    der Parameter ist nicht notwendig, der ändert nur eine bestimmte Variable ( in diesem Fall den Angriffstyp^^ )
    auf meinen Localhost läuft das ganze.

    Ich vermute deshalb das lima-city irgendwas limitiert hat.

    mfg matthimeo
  10. Also ist für die Variable ein default wert gesetzt... ich lasse dann aber das Komma weg. Ich weiß jedoch nicht ob das notwendig ist.

    Aber das bestimmte Sachen lokal laufen, online aber nicht kenne ich nur zu gut.

    Hast du mal versucht die ballte()-Funktion auszukommentieren, also den Aufruf. Oder einfach die Ganze If-Abfrage. Denn das ist ja eigentlich die einzige Funktion die nicht zum PHP-Core gehört. Und mysql_query() und mysql_fetch_assoc() sollten eigentlich funktionieren.
  11. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    Thx an alle,
    funkt jetzt, habe den if-Abfrage nochmal geschrieben,
    irgendwas wird jetzt wohl anders sein, naja jedenfalls läufts jetzt.

    Nochmal thx an alle.

    mfg matthimeo
  12. <?PHP
    
    function battle($attbauern, $attpikeniere, $attberserker, $attkreuzritter, $attbogen, $defbauern, $defpikeniere, $defberserker,$defkreuzritter, $defbogen, $defmauer, $traveltime, $fromvid, $fromuid, $tovid, $touid, $type = 3)
    {
    	if($type == 3)
    	{
    		// blabla...
    	}
    	else
    	{
    		// blabla...
    	}
    }
    
    battle($attbauern, $attpikeniere, $attberserker, $attkreuzritter, $attbogen, $defbauern, $defpikeniere, $defberserker,$defkreuzritter, $defbogen, $defmauer, $traveltime, $fromvid, $fromuid, $tovid, $touid, $type);
    ?>


    Deine Abfrage ist, wie bereits erwähnt wurde, absolut inkorrekt. Aber um das Ganze performant und übersichtlich zu gestalten, solltest du, wie in meinem Beispiel, die Abfrage auf $type in der Funktion erledigen und $type im Aufruf immer mitliefern.
  13. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    thx,
    aber genau so habe ich es gemacht^^

    lg
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!