Ankündigung

Einklappen
Keine Ankündigung bisher.

xampp oder was besseres?

Einklappen

Neue Werbung 2019

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

  • xampp oder was besseres?

    hallo forum,
    ich habe da mal so ne frage, und zwar habe ich ein script, bei einem webhoster funktioniert es wunderbar, der zufall geht, alles geht genau sowieich es will, aber wenn ich dasauf meinem pcpacke, geht es wieder net, dann geht er immernurmit 25 oder 50 schritten runnter, woran kann das liegen?
    ich henutze xampp, falls das daran liegt, könnte mir jemandeinen link zueinem besseren webhosting programm geben,wo das auch funktionieren könnte?

    hier das script:

    PHP-Code:
    <?php 
    session_start
    (); 
    ?>



    <?php 
    $verbindung 
    mysql_connect("localhost""++++""++++") or die ("Keine Verbindung zur Datenbank"); 

    mysql_select_db("freehost_8789_1") or die ("Datenbank existiert nicht.");


    $username "snowball";
    $gegner "a";


    $zufall1 rand(1,10);
    $zufall2 rand(1,10);

    // benötigte Daten des Users auslesen

    $sql_user mysql_query("SELECT username, damage_com, leben_gesammt FROM haha WHERE username = '$username'");
    $row_user mysql_fetch_object($sql_user);

    // benötigte Daten des Gegner auslesen

    $sql_gegner mysql_query("SELECT username, damage_com, leben_gesammt FROM haha WHERE username = '$gegner'");
    $row_gegner mysql_fetch_object($sql_gegner);

    /*************************************************
    ** Anzahl der zu kämpfenden Runden ermitteln **
    ** Bsp: 100 / (4 + 6) = 10 **
    ** --> User braucht 10 Runden um zu siegen **
    **************************************************
    ** Bsp: 100 / (2 + 3) = 20 **
    ** --> Gegner würde 20 Runden brauchen **
    **************************************************/

    $benoetigte_runden_user $row_gegner->leben_gesammt / ($row_user->damage_com $zufall1);
    $benoetigte_runden_gegner $row_user->leben_gesammt / ($row_gegner->damage_com $zufall2);

    // Rundenanzahl auf ganze Zahlen runden

    $zahlen_runden_user round($benoetigte_runden_user0);
    $zahlen_runden_gegner round($benoetigte_runden_gegner0);

    /*************************************************
    ** User braucht weniger Runden **
    ** Gewinner ist User **
    ** Leben des Gegners wird auf 0 gesetzt **
    ** Leben des Users --> Bsp: 100 - (10 * 5) = 50 **
    ** --> User hätte noch 50 Leben **
    **************************************************/

    if($zahlen_runden_user $zahlen_runden_gegner) {
    $leben_gegner "0";
    $leben_user $row_user->leben_gesammt - ($zahlen_runden_user $row_gegner->damage_com);

    echo 
    "
    $username hat noch $leben_user Leben 

    $gegner hat noch $leben_gegner Leben 
     

    Der Gewinner ist: 
    $username
    "
    ;
    }

    /*********************************************************
    ** User braucht weniger Runden **
    ** Gewinner ist Gegner **
    ** Leben des Users wird auf 0 gesetzt **
    ** Leben des Gegners --> Bsp: 100 - (10 * 7) = 30 **
    ** --> User hätte noch 30 Leben **
    **********************************************************/

    if($zahlen_runden_user $zahlen_runden_gegner) {
    $leben_user "0";
    $leben_gegner $row_gegner->leben_gesammt - ($zahlen_runden_gegner $row_user->damage_com);

    echo 
    "
    $username hat noch $leben_user Leben 

    $gegner hat noch $leben_gegner Leben 
     

    Der Gewinner ist: 
    $gegner
    "
    ;
    }

    /*********************************
    ** Kampf endet unentschieden **
    **********************************/

    if($zahlen_runden_user == $zahlen_runden_gegner) {
    $leben_user "0";
    $leben_gegner "0";

    echo 
    "
    $username hat noch $leben_user Leben 

    $gegner hat noch $leben_gegner Leben 
     

    Es gibt keinen Gewinner
    "
    ;
    }



    ?>

  • #2
    Ist das wirklich eine gute Idee, Benutzername und Passwort hier zu posten?

    Und nein, an XAMPP liegt es garantiert nicht.

    Kommentar


    • #3
      woran könnte es denn liegen?

      Kommentar


      • #4
        Hallo Snowball,

        das kann auch nich nicht aus dem Stegreif sagen. Debugge das Script mal mittels var_dump() oder print_r(), dann wirst du sehen, woran es scheitert. Hier gehst du am besten schritt für Schritt durch und analysierst jede Zeile.
        Viele Grüße,
        Dr.E.

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        1. Think about software design [B]before[/B] you start to write code!
        2. Discuss and review it together with [B]experts[/B]!
        3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
        4. Write [I][B]clean and reusable[/B][/I] software only!
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        Kommentar


        • #5
          Setz am Skript-Anfang das Error-Reporting-Level auf E_ALL und korrigiere alle Fehler, Warnungen und Hinweise.
          PHP-Code:
          <?php
          error_reporting
          (E_ALL);
          ?>

          Kommentar


          • #6
            Er zeigt mir kreinen Fehler oder Ähnliches an :/
            Habe mit den Errors schon getestet ...
            Ich habe ehrlich keine Ahnung woran das liegen könnte
            Könnt ihr mir vieleicht helfen, und mir einen Tipp geben woran das liegen könnte ?

            Kommentar


            • #7
              Und was ist dann genau der Fehler der auf welchem System jeweils auftritt?

              Kommentar


              • #8
                Also, ich weiß jetzt net so genau was du meinst, aber wasmich stört, wenn ich das script über meinen pc laufen lasse, dass der zufall nicht mit gerechnet wird, und das ist halt das problehm :/
                Ich weiß wirklich net mehr weiter

                Kann sein das die Frage von dir etwas anders gemeint war, ich habe jetzt die Antwort gegeben, wo ich denke das die Frage so gemeint war

                Kommentar


                • #9
                  Wir müssen ja rausfinden woran es liegt, dass der Zufallswert offenbar nicht berücksichtigt wird.

                  Dazu müssen wir erstmal sichergehen, dass das Skript keine Fehler produziert. Ich gehe davon aus, dass du wirklich error_reporting(E_ALL) eingebaut und alle erzeugten PHP-Meldungen eliminiert hast.

                  Der nächste Schritt bei der Fehlersuche ist, alle Variablen zu untersuchen, die Einfluß auf das fehlerhafte Ergebnis haben. Das wäre dann dieser Block:
                  PHP-Code:
                  <?php
                  $zufall1 
                  rand(1,10);
                  $zufall2 rand(1,10);
                  var_dump("zufall"$zufall1$zufall2);

                  // benötigte Daten des Users auslesen

                  $sql_user mysql_query("SELECT username, damage_com, leben_gesammt FROM haha WHERE username = '$username'");
                  $row_user mysql_fetch_object($sql_user);

                  // benötigte Daten des Gegner auslesen

                  $sql_gegner mysql_query("SELECT username, damage_com, leben_gesammt FROM haha WHERE username = '$gegner'");
                  $row_gegner mysql_fetch_object($sql_gegner);

                  var_dump("SQL"$row_user$row_gegner);

                  /*************************************************
                  ** Anzahl der zu kämpfenden Runden ermitteln **
                  ** Bsp: 100 / (4 + 6) = 10 **
                  ** --> User braucht 10 Runden um zu siegen **
                  **************************************************
                  ** Bsp: 100 / (2 + 3) = 20 **
                  ** --> Gegner würde 20 Runden brauchen **
                  **************************************************/

                  $benoetigte_runden_user $row_gegner->leben_gesammt / ($row_user->damage_com $zufall1);
                  $benoetigte_runden_gegner $row_user->leben_gesammt / ($row_gegner->damage_com $zufall2);

                  var_dump("Runden"$benoetigte_runden_user$benoetigte_runden_gegner);

                  // Rundenanzahl auf ganze Zahlen runden

                  $zahlen_runden_user round($benoetigte_runden_user0);
                  $zahlen_runden_gegner round($benoetigte_runden_gegner0);
                  var_dump("Zahlen"$zahlen_runden_user$zahlen_runden_gegner);
                  ?>
                  Welcher ausgegebene Wert ist falsch? Führ das Skript jetzt ruhig einige male aus, immerhin basiert das Skript ja auf Zufallswerten, da reicht ein Test nicht.
                  Ist irgendein Wert ein unerwarteter? Warum, wie ist er zustande gekommen? Du musst das Problem jetzt zurückverfolgen, den Fehler erkennen und beseitigen.

                  Kommentar


                  • #10
                    Danke für den Tipp! Hast mir sehrt weiter geholfen!
                    Aber erstmal will ich sagen, das ich diefolgende funktion ganz an den anfang meines scriptes gesetzt habe, und er mir keinen error oder ähgnliches angezeigt hat.

                    PHP-Code:
                    <?php 
                    error_reporting
                    (E_ALL); 
                    ?>
                    ich habe irnun den Block ganz genau angesehen, und in mysql bei dem account: snowball die werte damage_com auf 10 und leben_gesammt auf 1000 gesetzt. Bei dem Spieler a habe ich die beiden werte auf 10 gesetzt. Und es kahmimmer nur 910-950 raus, und dann habe ich es einfach selber nochmal nach gerechnet, und sehe, das der zufall ja geht, nur das erfalsch platziert worden ist

                    PHP-Code:
                    $benoetigte_runden_user $row_gegner->leben_gesammt / ($row_user->damage_com $zufall1);
                    $benoetigte_runden_gegner $row_user->leben_gesammt / ($row_gegner->damage_com $zufall2); 
                    Wenn ich wohl einen zufall haben will, wo ein kampf simuliert wird, muss ich die variable zufall irgent wo anders platzieren, nur leider wüsste ich net wo, kann mir dajemand wieder nur einen winzig minny kleinen Tipp geben?^^

                    PS: Jetzt habe ich verstanden was ihr hier im Forum macht, ihr wollt die user dazu bringen das selberhin zubekommen damitsie net von anderen abhängig sind
                    Und dazu gebt ihr noch ne kleine denkhilfen

                    Kommentar

                    Lädt...
                    X