Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Skrypty php


Rekomendowane odpowiedzi

Opublikowano

Witam, dostałem skrypty od kolegi i powiedział, że jest błąd gdzieś ino niewiedz gdzie. Nie pytałem skąd je ma, ale nie działają pomógł by ktoś.

 

 

 

med.php

 

<?php
require_once('control.php');
?>
<h1>Chatka znachora</h2>
<?php
if(!empty($_POST['pkt'])){
    $_POST['pkt'] = (int)$_POST['pkt'];
    
    if($_POST['pkt'] < 1){
        echo '<p>Nieprawidłowa wartość!</p><br/>';
    } elseif($_POST['pkt'] > $user['max_hp'] - $user['hp']) {
        echo '<p>Podano za dużą wartość!</p><br/>';
    } elseif($_POST['pkt'] * 20 > $user['gold'])
        echo '<p>Masz za mało złota!</p><br/>';
    else {
        mysql_query("update gracze set gold = gold - ".($_POST['pkt'] * 20).", hp = hp + ".$_POST['pkt']." where id = ".$user['id']);
        $user['hp'] += $_POST['pkt'];
        $user['gold'] -= $_POST['pkt'] * 20;
        echo "<p>Zregenerowano <b>".$_POST['pkt']."</b> punktów życia.</p><br/>";
    }
}

if($user['hp'] < $user['max_hp']){
    echo '
        Jeżeli Twój bohater jest ranny, możesz uleczyć go za pewną ilość złota.<br/>
        1 punkt życia = 20 szt. złota<br/>
        <form action="index.php?a=med" method="post">
            <input type="text" name="pkt" />
            <input type="submit" style="width: 100px" value="Wylecz"/>
        </form>
    ';
} else echo '<p>Twój bohater nie wymaga leczenia.</p>';
ob_end_flush();
?>

 

config.php

 

<?php
require_once('control.php');

if ($user['name'] == 'no_name'){
    $ai = 'Brak';
} else {
    $ai = $user['name'];
}

if ($user['name_re'] == 0){
    $czy = 'TAK';
} else {
    $czy = 'NIE';
}
?>
<h2>Zmiana imienia</h2>
<?php
if (!empty($_POST)){
    if ($user['name_re'] == '0'){
        if (strlen($_POST['imie']) <= 3){
            echo 'Imię nie może być krótsze niż 3 znaki.';
        } elseif (strlen($_POST['imie']) >= 16){
            echo 'Imię nie może być dłuższe niż 15 znaków.';
        } else {
            $imie = $_POST['imie'];
            $imie = vtxt($imie);
            if (ctype_alnum($imie)){
                $istnieje = row("SELECT * FROM gracze WHERE name = '".$imie."'");
                if ($istnieje['name'] == $imie) echo 'Takie imię już istnieje.';
                else {
                    $uzyto = '1';
                    mysql_query("UPDATE gracze SET name = '".$imie."', name_re = '".$uzyto."' WHERE id = ".$user['id']);
                    echo 'Zmieniono imię.';
                }
            } else {
                echo 'To nie jest poprawne imię.';
            }
        }
    } else {
        echo 'Wykup zmianę imienia.';
    }
}
?>
<form action="index.php?a=config" method="POST">
    <table>
        <tr>
            <td>Możliwość zmiany imienia:</td>
            <td><?php echo $czy; ?></td>
        </tr>
        <tr>
            <td>Aktualne imię postaci:</td>
            <td><?php echo $ai; ?></td>
        </tr>
        <tr>
            <td>Nowe imię dla postaci:</td>
            <td><input type='text' name='imie'/></td>
        </tr>
        <tr>
            <td></td>
            <td><center><input type='submit' style="width: 100px" value='Zmień imię'/></center></td>
        </tr>
    </table>
</form>
<?php
ob_end_flush();
?>

home.php

 

<html>
</html>

index.php

 

<?php
ob_start();
session_start();
require_once('var/include.php');
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
if(empty($_SESSION['id'])){
    echo '<center><a href="index.php?a=home">Strona główna</a> | <a href="index.php?a=register">Zarejestruj się</a> | <a href="index.php?a=login">Zaloguj się</a></center>';
} else {
    echo '<center><a href="index.php?a=stats">Statystyki</a> | <a href="index.php?a=med">Chatka znachora</a> | <a href="index.php?a=config">Ustawienia</a> | <a href="index.php?a=logout">Wyloguj się</a></center>';
}

switch($_GET['a']){
    case 'login': require_once('login.php'); break;
    case 'register': require_once('register.php'); break;
    case 'stats': require_once('stats.php'); break;
    case 'config': require_once('config.php'); break;
    case 'med': require_once('med.php'); break;
    case 'logout':
        $_SESSION = array();
        session_destroy();
        header('Location: index.php');
    break;
    default: require_once('home.php');
}

switch($_GET['u']){
    case 'sila':
        if ($user['um'] > 0){
            $ap = floor(($user['sila']) * 1.2);
            mysql_query("UPDATE gracze SET sila = sila + 1, um = um - 1, ap = ap + ".$ap." WHERE id = ".$user['id']);
            header("Location: index.php?a=stats");
        } else {
            header("Location: index.php?a=stats");
        }
    break;
    case 'zrecznosc':
        if ($user['um'] > 0){
            mysql_query("UPDATE gracze SET zrecznosc = zrecznosc + 1, um = um - 1 WHERE id = ".$user['id']);
            header("Location: index.php?a=stats");
        } else {
            header("Location: index.php?a=stats");
        }
    break;
    case 'wytrzymalosc':
        if ($user['um'] > 0){
            mysql_query("UPDATE gracze SET wytrzymalosc = wytrzymalosc + 1, um = um - 1, max_hp = max_hp + 2 WHERE id = ".$user['id']);
            header("Location: index.php?a=stats");
        } else {
            header("Location: index.php?a=stats");
        }
    break;
    case 'inteligencja':
        if ($user['um'] > 0){
            mysql_query("UPDATE gracze SET inteligencja = inteligencja + 1, um = um - 1 WHERE id = ".$user['id']);
            header("Location: index.php?a=stats");
        } else {
            header("Location: index.php?a=stats");
        }
    break;
    case 'szczescie':
        if ($user['um'] > 0){
            mysql_query("UPDATE gracze SET szczescie = szczescie + 1, um = um - 1 WHERE id = ".$user['id']);
            header("Location: index.php?a=stats");
        } else {
            header("Location: index.php?a=stats");
        }
    break;
}
?>
<?php
ob_end_flush();
?>

control.php

 

<?php
if(empty($_SESSION['id'])){
    header("Location: index.php?a=login");
} else {
    $_SESSION['id'] = (int)$_SESSION['id'];
    if ($user['xp'] >= $user['max_xp']){
        $user['lvl'] += 1;
        $user['xp'] -= $user['max_xp'];
        $user['um'] += 2;
        $user['max_hp'] += 2;
        $user['hp'] = $user['max_hp'];
        $user['max_xp'] = floor(($user['max_xp']) * 1.4);
        $user['max_mana'] += 1;
        $user['mana'] = $user['max_mana'];
        
        mysql_query("UPDATE gracze SET
        lvl = lvl + 1,
        um = um + 2,
        xp = xp - max_xp,
        max_hp = max_hp + 2,
        hp = max_hp,
        max_xp = max_xp * 1.4,
        max_mana = max_mana + 1,
        mana = max_mana
        WHERE id = ".$user['id']." Limit 1");
    }
}
?>

login.php

 

<?php
if (!empty($_POST)){
    if (!empty($_POST['username']) && !empty($_POST['pass'])){
        $_POST['username'] = vtxt($_POST['username']);
        $_POST['pass'] = vtxt($_POST['pass']);
        $username = $_POST['username'];
        $pass = $_POST['pass'];
        $pass = md5($pass);
        if (ctype_alnum($username)){
            $username = md5($username);
            $zapytanie = row("SELECT * FROM gracze WHERE login='$username' AND pass='$pass' AND ban='0'");
            if ($zapytanie){
                $_SESSION['id'] = $zapytanie['id'];
                header('Location: index.php?a=stats');
            } else echo 'Taki gracz nie istnieje lub został zbanowany.';
        } else echo 'Niepoprawna nazwa użytkownika.';
    } else {
        echo 'Wypełnij wszystkie pola poprawnie.';
    }
}
?>
<form action="index.php?a=login" method="POST">
    <table>
        <tr>
            <td>Login użytkownika:</td>
            <td><input type='text' name='username'/></td>
        </tr>
        <tr>
            <td>Hasło:</td>
            <td><input type='password' name='pass'/></td>
        </tr>
        <tr>
            <td></td>
            <td><center><input type='submit' style="width: 100px" value='Zaloguj się'/></center></td>
        </tr>
    </table>
</form>
<?php
ob_end_flush();
?>

stats.php

 

<?php
require_once('control.php');

if ($user['name'] == 'no_name'){
    $info_start = '<p>Witaj. Zmień imię swojej postaci w zakładce "ustawienia".<p></br></br>';
    $imie = '<p>Jesteś nowy w tej krainie i nie masz jeszcze imienia.</p>';
} else {
    $info_start = '';
    $imie = $user['name'];
}

$hp = $user['hp'];
$max_hp = $user['max_hp'];

if ($user['hp'] != $user['max_hp']){
    $ulecz = '<a href="index.php?a=med">[ulecz]</a>';
} else {
    $ulecz = '';
}

$klasa = 'Niesprecyzowano';
?>
<h1>Statystyki</h1>
<?php echo $info_start; ?>
<br/>
<table>
    <tr>
        <td><b>Imię postaci:</b></td>
        <td><?php echo $imie; ?></td>
    </tr>
    <tr>
        <td><b>Klasa postaci:</b></td>
        <td><?php echo $klasa; ?></td>
    </tr>
    <tr>
        <td><b>Punkty życia:</b></td>
        <td><?php echo $hp.' / '.$max_hp; ?></td>
        <td><?php echo $ulecz; ?></td>
    </tr>
    <tr>
        <td><b>Punkty mana:</b></td>
        <td><?php echo $user['mana'].' / '.$user['max_mana']; ?></td>
    </tr>
    <tr>
        <td><b>Atak:</b></td>
        <td><?php echo $user['ap']; ?></td>
    </tr>
    <tr>
        <td><b>Obrona:</b></td>
        <td><?php echo $user['dp']; ?></td>
    </tr>
    <tr>
        <td><b>Szansa na trafienie krytyczne:</b></td>
        <td><?php echo $user['kryt']; ?> %</td>
    </tr>
    <tr>
        <td><b>Poziom postaci:</b></td>
        <td><?php echo $user['lvl']; ?></td>
    </tr>
    <tr>
        <td><b>Punkty doświadczenia:</b></td>
        <td><?php echo $user['xp'].' / '.$user['max_xp']; ?></td>
    </tr>
    <tr>
        <td><b>Złoto:</b></td>
        <td><?php echo $user['gold']; ?></td>
    </tr>
</table>
<br/>
<h1>Umiejętności</h1>
<br/>
<?php echo 'Punkty umiejętności: '.$user['um']; ?>
<br/><br/>
<table>
    <tr>
        <td>Siła:</td>
        <td><?php echo $user['sila']; ?></td>
        <?php
        if ($user['um'] > 0){
            echo '<td><a href="index.php?a=stats&u=sila">[+]</a></td>';
        }
        ?>
    </tr>
    <tr>
        <td>Zręczność:</td>
        <td><?php echo $user['zrecznosc']; ?></td>
        <?php
        if ($user['um'] > 0){
            echo '<td><a href="index.php?a=stats&u=zrecznosc">[+]</a></td>';
        }
        ?>
    </tr>
    <tr>
        <td>Wytrzymałość:</td>
        <td><?php echo $user['wytrzymalosc']; ?></td>
        <?php
        if ($user['um'] > 0){
            echo '<td><a href="index.php?a=stats&u=wytrzymalosc">[+]</a></td>';
        }
        ?>
    </tr>
    <tr>
        <td>Inteligencja:</td>
        <td><?php echo $user['inteligencja']; ?></td>
        <?php
        if ($user['um'] > 0){
            echo '<td><a href="index.php?a=stats&u=inteligencja">[+]</a></td>';
        }
        ?>
    </tr>
    <tr>
        <td>Szczęście:</td>
        <td><?php echo $user['szczescie']; ?></td>
        <?php
        if ($user['um'] > 0){
            echo '<td><a href="index.php?a=stats&u=szczescie">[+]</a></td>';
        }
        ?>
    </tr>
</table>

<?php
ob_end_flush();
?>

register.php

 

<?php
if (!empty($_POST)){
    if (!empty($_POST['username']) && !empty($_POST['pass']) && !empty($_POST['pass2']) && !empty($_POST['email']) && ($_POST['pass'] == $_POST['pass2'])){
        $username = vtxt($_POST['username']);
        $pass = vtxt($_POST['pass']);
        $email = vtxt($_POST['email']);
        if ($username != $pass){
            if (ctype_alnum($username)){
                if (filter_var($email,FILTER_VALIDATE_EMAIL)){
                    $username = md5($username);
                    $pass = md5($pass);
                    $istnieje = row("SELECT id FROM gracze WHERE login='$username' OR email='$email'");
                    if ($istnieje) echo 'Taki użytkownik już istnieje.';
                    else {
                        mysql_query("INSERT INTO gracze (login, pass, email) VALUES ('$username', '$pass', '$email')");
                        header('Location: index.php?a=login');
                    }
                } else echo 'To nie jest poprawny adres e-mail.';
            } else echo 'To nie jest poprawny login.';
        } else echo 'Nazwa użytkownika nie może być taka sama jak hasło.';
    } else echo 'Wypełnij wszystkie pola poprawnie.';
}
?>
<form action="index.php?a=register" method="POST">
    <table>
        <tr>
            <td>Login użytkownika:</td>
            <td><input type='text' name='username'/></td>
        </tr>
        <tr>
            <td>Hasło:</td>
            <td><input type='password' name='pass'/></td>
        </tr>
        <tr>
            <td>Powtórz hasło:</td>
            <td><input type='password' name='pass2'/></td>
        </tr>
        <tr>
            <td>E-Mail:</td>
            <td><input type='text' name='email'/></td>
        </tr>
        <tr>
            <td></td>
            <td><center><input type='submit' style="width: 100px" value='Zarejestruj się'/></center></td>
        </tr>
    </table>
</form>
<?php
ob_end_flush();
?>

 

Teraz to jest w folderze var.

.htaccess

 

<Files "*">
deny from all
</Files>

include.php

<?php
$host = 'localhost';
$user = 'root';
$pass = 'plemionka';
$name = 'gra';

$link = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($name, $link) or die('Nie znaleziono bazy danych o takiej nazwie.');
mysql_query("SET NAMES 'utf8'");

function vtxt($var){
    return trim(mysql_real_escape_string(strip_tags($var)));
}

function row($sql){
    return @mysql_fetch_assoc(mysql_query($sql));
}

function getUser($id){
    return row("SELECT * FROM gracze WHERE id=$id");
}

$user = getUser($_SESSION['id']);
?>

 

 

 

 

baza danych import

 

-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Czas wygenerowania: 18 Paź 2012, 18:25
-- Wersja serwera: 5.5.24-log
-- Wersja PHP: 5.4.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Baza danych: `test`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `gracze`
--

CREATE TABLE IF NOT EXISTS `gracze` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `login` varchar(40) NOT NULL,
  `pass` varchar(40) NOT NULL,
  `email` varchar(40) NOT NULL,
  `name` varchar(15) NOT NULL DEFAULT 'no_name',
  `typ` int(5) NOT NULL,
  `lokacja` int(5) NOT NULL,
  `name_re` int(1) NOT NULL DEFAULT '0',
  `ban` int(1) NOT NULL DEFAULT '0',
  `um` int(100) NOT NULL DEFAULT '5',
  `sila` int(100) NOT NULL DEFAULT '0',
  `zrecznosc` int(100) NOT NULL DEFAULT '0',
  `wytrzymalosc` int(100) NOT NULL DEFAULT '0',
  `inteligencja` int(100) NOT NULL DEFAULT '0',
  `szczescie` int(100) NOT NULL DEFAULT '0',
  `hp` int(50) NOT NULL DEFAULT '15',
  `max_hp` int(50) NOT NULL DEFAULT '15',
  `mana` int(50) NOT NULL DEFAULT '15',
  `max_mana` int(50) NOT NULL DEFAULT '15',
  `gold` int(50) NOT NULL DEFAULT '1000',
  `lvl` int(10) NOT NULL DEFAULT '1',
  `xp` int(100) NOT NULL,
  `max_xp` int(100) NOT NULL DEFAULT '20',
  `ap` int(100) NOT NULL DEFAULT '2',
  `dp` int(100) NOT NULL DEFAULT '4',
  `kryt` int(4) NOT NULL DEFAULT '2',
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;=@OLD_COLLATION_CONNECTION */;

Nie zwracajcie na ten błąd.
 
 
 
 
Proszę o pomoc nagradzam plusem.

 

 

076a6e9d-88f4-43bc-ab33-caf22222dd0e (1).jpg

Opublikowano
 

Po pierwsze nazwa tematu 'błąnd' ogarnij się człowieku.... a po drugie PO CO KOMUŚ mówisz aby przejrzał jakiś gówniany skrypt a może lepiej książkę gówna i w dodatku nie raczysz sprawdzić na swoim serwerze poprzez włączenie wyświetlania błędów error_reporting(E_ALL) TAK TRUDNO?

Opublikowano
 

Teraz rozwaliłeś system wyjaśnij mi czym różni się 'localhost' a między hostingiem otóż tylko stabilnością i nic poza tym więc o co ci chodzi...

Opublikowano

Błąd polega na tym, że <h1> zamyka za pomocą </h2> 

 

 

badum tss

 

( ͡° ͜ʖ ͡°)

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano
 

To jest tak jak się nie myśli... LEPIEJ SAM SZUKAJ błędów a nie żeby inni musieli za ciebie bo potem będziesz latami szukał jednego błędu tego typu

Opublikowano

na localhost masz włonczone więncej opcji a na hostingu masz je wyłonczone

Przykro mi, ale źle trafiłeś. Znajdujemy się na polskim forum, dlatego proszę o stosowanie się do zasad pisowni języka polskiego.

 

Jeśli uważasz, że ludzie nie mają nic innego do roboty tylko przeglądanie jakiegoś śmiesznie napisanego kodu w poszukiwaniu błędu, to w głowie ci się totalnie poprzewracało.

 

Nikt chyba nie będzie ci pomagał, bo swoim zachowanie pokazujesz, że nie zasługujesz na pomoc. Albo jesteś totalnym leniem (choć nie wierzę, że istnieją tak głupi ludzie), albo jest jeszcze dla ciebie za wcześnie na robienie gier, programowanie, a w szczególności korzystanie z internetu. Twoim rodzicom powinno być za ciebie wstyd.

gamedevmania.com

Opublikowano

na localhost masz włonczone więncej opcji a na hostingu masz je wyłonczone

To wytłumaczyłeś jak nie powiem co na tak zwanym przez ciebie 'localhost'-'127.0.0.1 jest to tylko adres przypisany do pc. Możesz sam nim zarządzać i wyłączać jakie kolwiek rozszerzenia dodane do PHP chociażby przez edycję pliku php.ini więc tak jak pisałem nie ma różnicy co i kto ma więcej tak zwanych przez ciebie opcji a na co ci milion ich aktywnych jak wystarczy ci tylko kilka których wymaga twój 'skrypt'

Opublikowano

1. Pisząc stronę na tabelkach, i w HTML<4 (np. <center>) obrażasz wszystkich programistów HTML (no jakkolwiek można nazwać osobę piszącą w HTML)

2. Wiedz, że używając "echo" do pokazywania użytkownikowi treści HTML to zło (nie zawsze), używaj systemu szablonów np. Smarty lub H2O, oraz jakiegoś choćby frameworka, np. Slim (H2O+Slim = taka prosta namiastka MVC, ale tak bardziej (MC)V)

 md5 ($ pass); 

O bosz, nawet nie będę ci tłumaczył jak wielki robisz błąd

Używaj:

password_hash,
password_verify

mysql_* ? O boszzzzzz, zobacz sobie "MYSQL" lub "PDO"

 return trim(mysql_real_escape_string(strip_tags($var)));

Co to ma być za tasiemiec?

mysli wyklucza już SQLInjection (ale musisz używać ->prepare(), A NIE ->query() !!)

witch($_GET['a']){
    case 'login': require_once('login.php'); break;
    case 'register': require_once('register.php'); break;
    case 'stats': require_once('stats.php'); break;
    case 'config': require_once('config.php'); break;
    case 'med': require_once('med.php'); break;
    case 'logout':
        $_SESSION = array();
        session_destroy();
        header('Location: index.php');
    break;
    default: require_once('home.php');
}

Co to ma być?! Wat The Hell?

(PROTIP: Szablony i każdy plik dla osobnej podstrony, i ->render() )
 

 

Ale obawiam się że te rady będą dla ciebie za trude

Opublikowano
obrażasz wszystkich programistów HTML (no jakkolwiek można nazwać osobę piszącą w HTML)

Osoba pisząca w HTML (tworząca strony) to Webmaster.

 

 

 

 Wiedz, że używając "echo" do pokazywania użytkownikowi treści HTML to zło

Wcale nie. Nie zawsze dobrym pomysłem jest używanie systemu szablonów (o boże, na pewno nie Smarty o.O ). System szablonów musi mieć dobre Cache, bo inaczej na c**j komuś system szablonów?

gamedevmania.com

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...