PHP - Spiel [Anfänger]

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • PHP - Spiel [Anfänger]

      [COLOR="red"]
      Hallo ,

      Ich habe aus langerweile heute mal ein kleines Spiel besser gesagt er sollte ein Spiel

      werden ich arbeite noch aktiv weiter dran und vlt wollt ihr es auch weiter bearbeiten

      oder vlt lernt einer von euch auch gerade PHP in zusamm arbeit mit Msql

      Ich habe jetzt beim coden nicht auf die sicherheit geachtet aber man kein dies simpel

      hinzufügen welche Funktion diese Script´s (Spiel)(Test xD) bis jetzt hat

      Ein Login mit daten aus einer datenbank + Session´s

      Eine Gold Funktion + Viewer wieviel gold man gerade hat

      Ein Invi Viewer mit information über euren Account wie

      Benutzername:
      Passwort :
      ID:
      Cash:-> GOLD :D
      Wieviel Items man hat

      Man kann bis jetzt 4 Items haben also hat man 4 Plätze

      die ich mit Slots benannt habe

      Eine Passwort Changer mit dem sie ihr passwort changen können

      und schon ein kleiner script für den shop

      Warum stelle ich es als download bereit ?

      Weil ich gerne sehen wurd was ihr darmit macht ihr hönnt es ja wieder re-Uploaden

      vlt kann ich mich den daran weiter entwickeln

      Download-LINK

      Und die DATENBANK ->

      PHP-Quellcode

      1. CREATE TABLE IF NOT EXISTS `reg` (
      2. `id` int(34) NOT NULL AUTO_INCREMENT,
      3. `user` varchar(56) NOT NULL,
      4. `pass` varchar(34) NOT NULL,
      5. `cash` int(40) NOT NULL,
      6. `items` int(50) NOT NULL,
      7. `slot1` varchar(50) NOT NULL,
      8. `slot2` varchar(50) NOT NULL,
      9. `slot3` varchar(50) NOT NULL,
      10. `slot4` varchar(50) NOT NULL,
      11. PRIMARY KEY (`id`)
      12. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
      Alles anzeigen


      Es sind nur PHP datein deswegen kann ich den VT weglassen

      wurde mich auf neue Re-Uploads freuen

      Lg.Suru[Anfänger];D
      [/COLOR]
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Ups !

      Sorry habe ich vergessen

      Die Datenbank :)

      PHP-Quellcode

      1. CREATE TABLE IF NOT EXISTS `reg` (
      2. `id` int(34) NOT NULL AUTO_INCREMENT,
      3. `user` varchar(56) NOT NULL,
      4. `pass` varchar(34) NOT NULL,
      5. `cash` int(40) NOT NULL,
      6. `items` int(50) NOT NULL,
      7. `slot1` varchar(50) NOT NULL,
      8. `slot2` varchar(50) NOT NULL,
      9. `slot3` varchar(50) NOT NULL,
      10. `slot4` varchar(50) NOT NULL,
      11. PRIMARY KEY (`id`)
      12. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
      Alles anzeigen
    • so habs mal getestet.Abgesehn vom Shop funzt alles so weit, jedoch kann man nicht wirklich etwas damit anfangen.
      viewer.php würd ich zu index.php ändern.
      Und diverse Falschnachrichten schleichen sich ein.
      Ich bin eingeloggt, geh auf PW ändern steht unten: Anwendung war nicht erfolgreich !
    • so habs mal getestet.Abgesehn vom Shop funzt alles so weit, jedoch kann man nicht wirklich etwas damit anfangen.
      viewer.php würd ich zu index.php ändern.
      Und diverse Falschnachrichten schleichen sich ein.
      Ich bin eingeloggt, geh auf PW ändern steht unten: Anwendung war nicht erfolgreich !


      Ich entwickel ja weiter ich habe es ja nur zum Download bereit gestellt das vlt jemand der mehr erfahrung hat als ich was ändern kann und es re-Upen kann
    • Also dafür das du noch in der Lernphase bist, sieht es doch schon gut aus. Allerdings rate ich dir, dich mit OOP auseinander zusetzten. Das was ich sehe spricht ja für ein Browsergame. Und wenn du schon hier mit Objekten Arbeitest, erleichterst du dir die Schreib Arbeit enorm. Desweiteren würde ich eine Template Engine einsetzten. Entweder du nimmts dafür direkt PHP oder eine von den freien wie Smarty.

      Ich wünsch dir aufjedenfall viel glück damit. Vielleicht bau ich es ja mal auf OOP um und poste es dann hier wieder. Viel ist es ja net :D

      Lieben Gruß
      Ulle
    • Antwort

      Also dafür das du noch in der Lernphase bist, sieht es doch schon gut aus. Allerdings rate ich dir, dich mit OOP auseinander zusetzten. Das was ich sehe spricht ja für ein Browsergame. Und wenn du schon hier mit Objekten Arbeitest, erleichterst du dir die Schreib Arbeit enorm. Desweiteren würde ich eine Template Engine einsetzten. Entweder du nimmts dafür direkt PHP oder eine von den freien wie Smarty.

      Ich wünsch dir aufjedenfall viel glück damit. Vielleicht bau ich es ja mal auf OOP um und poste es dann hier wieder. Viel ist es ja net :D

      Lieben Gruß
      Ulle

      Würde mich freuen :)

      wenn du fleißig übst, könnteste mir ja evt. beim flyff bg unter die Arme greifen^^

      Ja gerne aber ich glaube ich muss noch ein bischen erfahrung sammeln

      ich lerne auch gerade php und das ist ne gute möglichkeit zu üben xD
      ich versuche gerade nen register rein zu machen ^^


      Cool ,

      Ein Register script zu machen ist eig ganz simpel :)

      EDIT :

      Weil die frage kam wie erstelle ich jetzt einen Account ?

      habe ich mal schnell ein Script gemacht wie immer nicht auf sicherheit geachtet :) gerade am Crysis 2 Suchteln ^^

      Login.php Update

      PHP-Quellcode

      1. <?php
      2. session_start();
      3. include ('./inc/db.php');
      4. ?>
      5. <form action="#" method="post">
      6. Benutzername:<br />
      7. <input type="text" name="username" /><br />
      8. Passwort: <br />
      9. <input type="password" name="password" /><br />
      10. <input type="submit" value="login" />
      11. </form>
      12. <br />
      13. <a href="register.php"><small>Noch kein Account ? </small></a>
      14. <?php
      15. $benutzer = $_POST['username'];
      16. $password = $_POST['password'];
      17. $abfrage = "SELECT user, pass FROM reg WHERE user LIKE '$benutzer' LIMIT 1";
      18. $ergebnis = mysql_query($abfrage);
      19. $row = mysql_fetch_array($ergebnis);
      20. if(isset($benutzer)){
      21. if($benutzer == $row['user'] And $password == $row['pass']){
      22. $_SESSION['user'] = $benutzer;
      23. $_SESSION['pass'] = $password;
      24. echo 'Willkommen: '.'&nbsp;'.$benutzer.'<br /> ';
      25. echo '<a href="viewer.php">Zum Login Bereich !</a>';
      26. }else {
      27. echo 'Passwort oder Benutzername stimmen nicht !';
      28. }
      29. }
      30. ?>
      Alles anzeigen


      Register.php

      PHP-Quellcode

      1. <?php
      2. include ('./inc/db.php');
      3. ?>
      4. <form action="#" method="post">
      5. Benutzername:<br />
      6. <input type="text" name="user" /><br >
      7. Passwort: <br >
      8. <input type="password" name="pass" /><br />
      9. <input type="submit" value="Anmelden" />
      10. </form>
      11. <?php
      12. $username = $_POST['user'];
      13. $passwort = $_POST['pass'];
      14. if(isset($username)){
      15. $insert = "INSERT INTO reg (user, pass)
      16. VALUES ('{$username}', '{$passwort}')";
      17. mysql_query($insert);
      18. echo 'Willkommen:'.$username.'!'.'<br /> ';
      19. echo '<a href="login.php">Zurück zum Login !</a>';
      20. }else{
      21. echo 'Fehler';
      22. }
      23. ?>
      Alles anzeigen
    • Ich werde wenn ich dazu komme das ding auch mal morgen umbauen. Bissle gegen SQL Injections sichern und eine Template Engine einbauen.
      Was ist euch den Lieber. PHP als Template Engine oder Smarty. Wobei mein Favorite auf Smarty liegt.

      Würde mich freuen wenn ihr ein wenig darüber abstimmt.
      Gruß
      Ulle
    • Vorweg ich will nie wieder von dir hören "hab mal auf sicherheit nicht geachtet". Wäre für mich wie "hab mal bei den variablien kein $ gesetzt.
      Querys prüfen ist das A und O wenn man mit datenbanken arbeitet!

      zum code:

      Quellcode

      1. $int = 1;
      2. if($int == 1){
      3. ...
      4. } else { echo 'iein fehler'; }
      Wo ist da der Sinn? ^^

      Quellcode

      1. $logout ='<form action="#" method="get">
      2. <input type="submit" name="logut" value="Ausloggen" />
      3. </form>';
      4. echo '<br /> <br /> ';
      5. echo $logout;
      Benutzt da doch einfach den <a> Tag

      Quellcode

      1. $abfrage = "SELECT user, pass FROM reg WHERE user LIKE '$benutzer' LIMIT 1";
      2. $ergebnis = mysql_query($abfrage);
      3. $row = mysql_fetch_array($ergebnis);
      4. if(isset($benutzer)){
      5. if($benutzer == $row['user'] And $password == $row['pass']){
      6. ...
      7. ...
      8. }
      9. }
      1. Wieso führst du erst den Query aus und überprüfst dann ob $_POST['benutzer'] übergeben wurde? o.O
      2. Der Query ist total unpassend. Mach doch einfach "SELECT user, pass FROM reg WHERE user = $_POST['user'] AND pass = $_POST['pass']"

      Aufjedenfall mysql_real_escaped_string() benutzen um den query sicher auszuführen.

      Bei den Items arbeite doch mit einem 2dimensionalen Array also anstatt:

      Quellcode

      1. if($_SESSION['slot4'] == ""){
      2. echo 'Item-Slot4:&nbsp; LEER'.'<br />';
      3. }else{
      4. echo 'Item-Slot4: '.$_SESSION['slot4'].'<br />';
      5. }

      Quellcode

      1. for($i=0;$i>COUNT($_SESSION['item']);$i++)
      2. {
      3. if($_SESSION['item'][$i] == "") {
      4. echo 'Item-Slot'.$i.' LEER<br />';
      5. } else {
      6. echo 'Item-Slot'.$i.': '.$SESSION["item"][$i].'<br />';
      7. }
      8. }


      Dann wieso machst du öfters echo ' texttext '.' weiterer text ';
      Das '.' brauchst du bei reinem Text (also keine Variablen, konstanten, funkction usw).

      Beim Passwort Change Script würde ich noch nie Session killen und auf die login seite redirecten.

      Zu guterletzt bei der db.php würde ich anstatt echo 'Fehler'; lieber die('Fehler'); benutzen. Die beendet das Script an dieser Stelle komplett.
      Wenn deine Datenbank nicht zu erreichen ist würde sonst das Script weiterlaufen und bei einigen Selects haufenweise Error's ausspucken.