Script stürzt _ohne grund_ ab

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Script stürzt _ohne grund_ ab

    Immer wenn ich mein script mit bestimmtem parameter starte, stürzt es ab

    PHP-Code:
    for($temp=0;$temp<sizeof($name);$temp++){
    if (
    $name[$temp]==$art){
    if (
    $stats[0]>=$metall[$temp]){
    if (
    $stats[1]>=$beton[$temp]){
    if (
    $stats[2]>=$silitum[$temp]){ 
    $art ist der Parameter

    Es ist wie folgt aufgebaut, eine liste in der man was anklicken kann, das angeklickte übergibt den parameter.
    Die liste wird in einer schleife via PHP generiert, es kannalso nicht an dem link an sich liegen, weil das script erst abstürzt, wenn ich den 4.+ link anklicke...

    $stats[0...2]
    sowie $metall ... $silitum sind beide definiert und $stats ist immer größer

    wie gesagt, wenn der 4-8. link angeklickt wird, crasht das script (browser lädt und bricht irgend wann ab)
    ich habe auch schon versucht, die übergabe parameter umzustellen, das ergebnis:
    die parameter, die funktioniert haben, gehen auch nicht, wenn sie an position 4+ sind

    woran kann es liegen? ich weiß nicht mehr weiter

    mfg Shining

  • #2
    Keine Timeout-Meldung? wie ist denn error_reporting eingestellt? E_ALL? wenn nicht stellt mal ein und poste die Fehlermeldung. Und was machst du mit der Var. $art? Haben $metall, $beton und $silizium die gleiche Dimension wie $name?

    Kommentar


    • #3
      PHP-Code:
      for($temp=0;$temp<sizeof($name);$temp++){

      if (
      $name[$temp]==$art){
      if (
      $stats[0]>=$metall[$temp]){
      if (
      $stats[1]>=$beton[$temp]){
      if (
      $stats[2]>=$silitum[$temp]){

      $stats[0]=$stats[0]-$metall[$temp];
      $stats[1]=$stats[1]-$beton[$temp];
      $stats[2]=$stats[2]-$silitum[$temp]; 
      $stats und $metall etc sind zahlen
      $name und $art sind nen string
      $metall, $beton,$silitum haben die gleiche dimension
      $name stimmt in dem fall mit $art überein!! (mehrfach überprüft)
      $stats sind immer größer als $metall...

      jetzt is was anders:
      es lädt, und plötzlich ist $stats[...] < $metall...
      dann läuft die erste if anweisung immer durch mit dem status true
      aber es sollte ja nur ein mal true sein ... ebend wenn $name =$art ist ...

      mfg shining

      p.s.: keine fehlermeldung ....

      Kommentar


      • #4
        Original geschrieben von Shining
        $metall, $beton,$silitum haben die gleiche dimension
        auch gleich mit $name?
        $name stimmt in dem fall mit $art überein!! (mehrfach überprüft)
        wie hast du überprüft? per Ausgabe? hast du dabei auch Begrenzer eingesetzt, um eventuell Leerzeichen sichtbar werden zu lassen?
        $stats sind immer größer als $metall...
        und warum prüfst du dann (2. If)
        jetzt is was anders:
        es lädt, und plötzlich ist $stats[...] < $metall...
        dann läuft die erste if anweisung immer durch mit dem status true
        aber es sollte ja nur ein mal true sein ... ebend wenn $name =$art ist ...
        nix verstanden welche ist für dich 1. if, was heißt denn immer durchlaufen? existiert eine umklammernde Schleife oder was? ...

        Kommentar


        • #5
          auch gleich mit $name?
          jup

          wie hast du überprüft? per Ausgabe? hast du dabei auch Begrenzer eingesetzt, um eventuell Leerzeichen sichtbar werden zu lassen?
          mit echo und noch mal mit alert (wollte mir sicher sein ^^) nicht lesbare zeichen werden am anfang mit chop() entfernt.

          und warum prüfst du dann
          Weil es nicht größer sein muss (nur bei meinen tests, weil ich ja wissen wollte obs geht, waren die werte immer größer )

          nix verstanden welche ist für dich 1. if, was heißt denn immer durchlaufen? existiert eine umklammernde Schleife oder was? ...

          PHP-Code:
          for($temp=0;$temp<sizeof($name);$temp++){

          if (
          $name[$temp]==$art){                      <---- erste if anweisung
          if ($stats[0]>=$metall[$temp]){
          if (
          $stats[1]>=$beton[$temp]){
          if (
          $stats[2]>=$silitum[$temp]){

          $stats[0]=$stats[0]-$metall[$temp];        < das läuft immer durch
          $stats
          [1]=$stats[1]-$beton[$temp];        <  obwohl es nicht sein dürfte
          $stats
          [2]=$stats[2]-$silitum[$temp];        < 

          die alert/echo anweisungen wurden auch nicht ausgegeben, die ich hinter $stats[2]=$stats[2]-$silitum[$temp] geschrieben hatte ...

          Kommentar


          • #6
            Waaaahhh man soll so spät doch nicht mehr programmieren

            in dem code oben, folgt später noch eine schleife

            PHP-Code:
            $temp "stats.txt"$datei fopen($temp,"w");  
            flock($datei,2);  
            for(
            $temp=0;$temp<sizeof($stats)-1;$temp++){
            fputs($datei,doubleval($stats[$temp])."\n");
            }
            fputs($datei,doubleval($stats[$temp]));
            flock($datei,3);  
            fclose($datei); 
            und etwas weiter drunter endet die main schleife ... man beachte die variable, die in der 2. schleife geändert wird
            *hust* ich geh mir dann mal in den arsch treten hrhrhr

            aber danke für die hilfe asp2php

            Kommentar


            • #7
              Original geschrieben von Shining
              Waaaahhh man soll so spät doch nicht mehr programmieren
              MEZ ist grad 16:48 Uhr, bist du denn in Asien oder was

              Kommentar


              • #8
                das hatt ich doch gestern geproggt, und ebend den fehler gesehen >_<

                Kommentar

                Lädt...
                X