Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd podczas tworzenia gry
Forum PHP.pl > Forum > PHP
Indrug
Witajcie jestem nowy , jeśli w złym dziale to sorry.

Tworze sobie grę ale coś mi nie wychodzi tutaj daje pliki. Nie działa rejestracja i nie pokazują się niektóre takie coś echo 'Witamy w Herion '.$name.'';

Prosiłbym o Pomoc.
Index.php
Kod
<?php
  session_start();
  include("includes.php");
  if(isset($_POST['ok']) AND isset($_POST['login']) AND isset($_POST['pass'])){  
  $login = $_POST['login'];
  $pass = $_POST['pass'];
$mysql = mysql_fetch_array(mysql_query("select `ID` from `konta` where `login` = '$login' AND `password` = '$pass' limit 1"));
  if($mysql != NULL){
  $_SESSION["login"] = $login;
  header("Location: index2.php");
  }
  else {
  echo 'Wystąpił błąd podczas logowania!';
  }
  }
  else {
?>
  <form action='' method='POST'>
  Login: <input type='text' name='login'>
  Password: <input type='password' name='pass'>
  <input type='submit' name='ok' value='Zaloguj'>
  </form>
  <?php
  }
  ?>

index2.php
Kod
  <?php
  include("includes.php");
  session_start();
  if(isset($_SESSION['login'])){
  $login = $_SESSION['login'];
  echo 'Witaj '.$login.'!';
  }
  else {
  echo 'Niestety, nie masz praw do przeglądania tej strony!';
  }
  ?>

register.php
Kod
<?php
  include("includes.php");
  include("templates/register.php");
  if(isset($_POST['ok'])){
  $name = htmlspecialchars($_POST['name']);
  $password = $_POST['password'];
  $password_2 = $_POST['password2'];
  $Rasa = $_POST['rasa'];
  $klasa = $_POST['klasa'];
  if($name != NULL AND $password != NULL AND $password_2 != NULL AND $rasa !=   NULL AND $klasa != NULL){
  if($password !== $password_2){
  exit("Podane hasła są różne!");
  }
  $mysql = mysql_fetch_array(mysql_query("select   `ID` from `konta` where `login` = '$name'"));
  if($mysql != NULL){
  exit("Podany gracz już istnieje!");
  }
  $pass = $_POST['pass'];
$salt = "costam losowego";
if( get_magic_quotes_gpc() )
$pass = stripslashes($pass);
$pass = sha1($salt . $pass);
  $mysql = "insert into `konta` values ('',   '$name', '$password', '$rasa', '$klasa')";
  $query = mysql_query($mysql);
  if($query){
  echo 'Witamy w Herion '.$name.'';
  }
  }
  }
  ?>


news.php
Kod
   <?php
  session_start();
  include("includes.php");
  if(isset($_SESSION['login'])){
  $news_strona = 5;
  $x = $_GET['x'];
  if($x == NULL){
  $x = 1;
  }
  $x = $x*$news_strona-5;
  $x = ceil($x);
  $dzien = 60*60*24;
  $mysql = mysql_query("select * from `news` limit $x, $news_strona order   by `id` desc");
  while($news = mysql_fetch_array($mysql)){
  $time = time();
  if(($news['date']+$dzien) <= $time){
  $data = date("d-m-Y");
  }
  else {
  $data = $time-$news['date'];
  $data = $data/60;
  $data = $data.' minut temu';
  }
  echo $news[1].'
<p align=\'right\'>Napisane przez '.$news[2].',   '.$data.'';
  }
  $mysql = mysql_query("select * from `news`");
  $ilosc_stron = mysql_num_rows($mysql);
  $ilosc_stron = ceil($ilosc_stron/$news_strona);
  for($i=1;$i<=$ilosc_stron;$i++){
  echo "<a href=?ID=news&x=$i>[$i]</a>";
  }
  }
  ?>

player_class.php
Kod
<?php
  $login = $_SESSION['login'];
  class player{
  var $info;
  function getBasic($login){
  $mysql = mysql_query("select * from `konta` where `login` = '$login'");  
  }
  }
  $player = new player;
  $player->getBasic($login);
  ?>

stats.php
Kod
<?php
  $mysql = mysql_query("select * from `konta` where `login` =   '$login'");
  $fetch = mysql_fetch_array($mysql);
  echo "HP: $fetch['hp']/$fetch['max_hp']<Br />";
  echo "PM: $fetch['mp']/$fetch['max_mp']

";  
  echo "Inteligencja: $fetch['sila']
";
  echo "Charyzma: $fetch['budowa']
";
  echo "Siła Woli: $fetch['int']
";
  echo "Umiejętności kontrolowania własnego ciała: $fetch['int']
";
  echo "Siła: $fetch['int']
";
  echo "Zwinność: $fetch['int']
";
  echo "Konycja: $fetch['int']
";
  echo "Wytrzymałość: $fetch['int']
";
  ?>

includes.php
Kod
   <?php
   include ("mysql_connect.php");
   include("player_class.php");
   ?>

templates/register.php
Kod
<title>Rejerstracja<title>
  <form action='' method='post'>
  Login: <input type='text' name='name' />

  Hasło: <input type='password' name='pass' />

  Powtórz hasło: <input type='password' name='pass2' />

  Rasa <select name="rasa">
  <option value=>Człowiek</option>
  <option value=>Elf</option>
  <option value=>Gnom</option>
  <option value=>Krasnolud</option>
  <option value=>Ork</option>
  <option value=>Wampir</option>
  <option value=>Wilkołak</option>
  <option value=>Nieumarły</option>
  </select>

  Klasa: <select name="klasa">
  <option value="Wojownik">Wojownik</option>
  <option value="Mag">Mag</option>
  <option value="Myśliwy">Myśliwy</option>
  <option value="Złodziej">Złodziej</option>
  <option value="Barbarzyńca">Barbarzyńca</option>
  <option value="Alchemik">Alchemik</option>
  <option value="Paladyn">Paladyn</option>
  <option value="Kowal">Kowal</option>
  <option value="Chłop">Chłop</option>
  </select>
  <input type='submit' name='ok' value='Zarejestruj się!' />
  </form>

Pliku mysql_connect.php nie pokaże.
Mephistofeles
Co znaczy nie działa? Jakiś błąd?
sq6aah
echo 'Witamy w Herion' .$name;
Kshyhoo
Tworzysz, czy edytujesz cudze pliki?
  1. <form action='' method='post'>
  2.  
  3. <option value="Chłop">Chłop</option>

Życzę powodzenia...
Indrug
Tworze, a co nie działa napisałem w pierwszym poscie.
Kshyhoo
Wiem co napisałeś, bo czytałem... Jakieś błędy wywala? Masz pełne raportowanie błędów?
Indrug
Dokładnie to niczego nie wywala tylko że , gdy się rejestruje od razu wyświetlają się pola rejestracji a w bazie niczego nie ma.
Kshyhoo
A register.php to gdzie wysyła dane?
Indrug
Do bazy danych, jest on połączony z includes.php a ten z mysql_connect.php i jest też połączony z templates/register.php.
Kshyhoo
Nie ma pliku, który przetwarza dane pobrane z register.php... Nie wiemy, co robią pliki mysql_connect.php i player_class.php, a zdaje się, że są wiodące w sprawie ;p To zapewne one mają przetwarzać dane. Oczekując pomocy, musisz podać ten kod. Wróżka niestety ma wolne w styczniu...
Indrug
mysql_connect.php jest tutaj
Kod
<?php
  $dbh = mysql_connect("localhost", "danielp6_silnik",   "przykladowe_haslo");
  mysql_select_db("danielp6_silnik");
  ?>


przykladowe_haslo zastępuje moje hasło.
Kshyhoo
Jeżeli to wszystko, to na moje nieco za mało kodu ;p To tylko kod połączenia z bazą... Potrzeba coś w stylu:
  1. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
  2. if (mysql_select_db($mysql_baza)) {
  3. $wynik = mysql_query("INSERT INTO $mysql_tabela VALUES('$login', '$haslo', '$kod', 1, NOW(), '$email', '$imie')");
  4. } else echo "Nie można połączyć się z bazą";
  5. mysql_close($baza);
  6. } else echo "Nie można połączyć się z serwerem MySQL";

czyli kodu odpowiedzialnego za załadowanie danych w bazie winksmiley.jpg
Indrug
teraz kod wygląda tak :
Kod
<?php
  if ($baza = mysql_connect($localhost, $danielp6_silnik, $przykladowe_haslo)) {
  if (mysql_select_db($danielp6_silnik)) {
  $wynik = mysql_query("INSERT INTO $mysql_tabela VALUES('$login', '$haslo', '$rasa',  1, NOW() , '$klasa',)");
   } else echo "Nie można połączyć się z bazą";
  mysql_close($baza);
  } else echo "Nie można połączyć się z serwerem MySQL";
  ?>


ale teraz jest coś takiego :
http://target-games.eu/silnik/register.php
deirathe
A czy osoba potrafi czytać i wyczytała że nie połączyła się z bazą bo nie ma uprawnień? Więc jak chcesz wykonywać zapytania do bazy bez połączenia?
Indrug
Wiem że tak pisze jednak dane są dobre łącze się nimi do phpMyadmin.
deirathe
Po pierwsze primo: jest napisane,
po drugie secundo: najwyraźniej nie są dobre skoro się nie łączy.

Człowieku nazwy zmiennych a ich zawartość to 2 różne rzeczy, mam na myśli ten fragment kodu
  1. if ($baza = mysql_connect($localhost, $danielp6_silnik, $przykladowe_haslo)) {

Jak nie masz takich podstaw- w ogóle ciężko to nazwać podstawami, to zapomnij o tworzeniu gry! Nawet z bazą nie potrafisz się połączyć.

Mam dla osoby panaceum:
http://pl.php.net/docs.php
i ładnie sobie osoba poczyta od początku co z czym dodać żeby było 4
Kshyhoo
Teraz chyba autor wątku zrozumie moje pytanie "piszesz czy edytujesz" ;p ja podałem Ci przykład a Ty go na żywca wkleiłeś, nie dopasowując do swoich zmiennych...
Indrug
ale ja mam tam dane takie zmienne a ty podałeś inne


moje -
Kod
'$login', '$password', '$rasa',  1, NOW() , '$klasa

twoje -
Kod
$login', '$haslo', '$kod', 1, NOW(), '$email', '$imie


więc zmieniłem zmienne : czytaj ze zrozumieniem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.