Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z kodem lub bazą cz.1
Forum PHP.pl > Forum > Przedszkole
dembol91
Zacznę od tego, że niezbyt znam PHP. smile.gif Kilka dni temu mój nauczyciel programista dal mi pliki swojej gry opartej o przeglądarke. Wgrałem pliki na server stworzyłem baze danych według pliku sql, ale mam peoblem ponieważ kiedy chce sie zarejestrowac do tej gry to gracza nie zapisuje do bazy danych..;/
Adres gierki : http://rajdy.php0h.com/

Taj wygląda mój plik odpowiedzialny za rejestracje(ks_rej.php):

Kod
<?php
session_start();
//include "poczatekstronyrej.php";
//include "jezyk.php";
$lang=$_SESSION['lang'];
putenv("LANGUAGE=$lang");
//putenv("LANG=pl");
// nazwa pliku gettexta dla danej strony / ścieżka
bindtextdomain("ks_rej", "./locale");
textdomain("ks_rej");
bind_textdomain_codeset("ks_rej", 'ISO-8859-2');
setlocale(LC_ALL, $lang);
include "poczatekstronystart.php";
?>
     <div id="powit">
<img src="../gfx/kupiecki-swiat_low2.jpg" width=90% height = 90% >
</div>
<div id="powitanie" >


<h2>
<? echo gettext("Ciesze sie, ze wiesc o Menagerrally dotarla do Ciebie!");
echo "</h2>
";
echo "<form name=\"rej\" action=\"rejestruj.php\" method=\"get\">";
echo _("Podaj login:");
echo "
<input type=\"text\" name=\"login\" value=\"\">
<p>";
echo _("Podaj swoja plec:");  
?> </p>        <SELECT NAME='plec' Size=1 >
          <OPTION SELECTED VALUE="1">
          <? echo _("mężczyzna");?></a>
          <OPTION SELECTED VALUE="2">
          <? echo _("kobieta");?> </a>  
         </SELECT>



        
<? echo _("Skad pochodzisz:");
include "kraje.php";
  ?>



        
<? echo _("Podaj swoj adres e-mail:"); ?>


<input type='text' name='mail' value=''>

<? echo _("Wprowadz swoje haslo: ");?>


<input type='password' name='pass' value=''>

<? echo _("Wprowadz swoje haslo raz jeszcze:"); ?>

<input type='password' name='pass2' value=''>

<input type='hidden' name='rej' value=1>
<input type='submit' name='butonik' value='
<? echo _("Zatwierdzam rejestracje"); ?>'>

</form>
<a>
<? echo _("Prosze o podawanie nazw z wielkiej litery i nie uzywanie liczb.");?> </a>
</p>
</div>


To następny plik odpowiedzialny za rejestracje(rejestruj.php):

Kod
<?
//19 lipiec 2005
//Modul stworzony przez Sielimka, zmodyfikowany przez Adera;
//modul laczy sie z baza i wybiera tabele "gracze" i jesli dany uzytkownik w niej nie;
//widnieje, to dodaje go :);
session_start();
    include_once  "sql.php";
    include_once "raportowanie.php";
    $login = $_GET['login'] or die ('nie pobralem logina');
    $pass = $_GET['pass'];
    $mail = $_GET['mail'];
    $id_p=$_GET['id_p']*1;
    $nie=0;
if(eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$",$mail))
{
//"adres jest poprawny" i nic nie robimy;
}
else
{
        $_SESSION['kom'] ="<font color=\"red\">Popraw adres email, gdyż wpisana forma nie została rozpoznana przez system.</font>";
        $nie=1;
}
if(eregi("^[a-z]{0,20}$",$login))
{
//login zawiera cyfry i go odrzucamy
echo "<script language=\"JavaScript\"> window.document.onload = ( location = 'ks_login.php' ) </script>";
}
else
{
        $_SESSION['kom'] ="<font color=\"red\">Podaje przez Ciebie imię zawiera cyfry lub spacje. Zaproponuj imię, które nie będzie zawierało cyfr arabskich i spacji. Jeżeli pragniesz mimo wszystko mieć dwuczłonowe imię załóż postać i skontatkuj się z administratorem.</font>";
        $nie=1;
}

if ($nie==0)
{
    $rasa = $_GET['rasa']*1;
    $plec = $_GET['plec']*1;
    if ($plec==1) {$plec="m";}
    if ($plec==2) {$plec="k";}
        $db = db_con_ks() or die ('baza nie wybrana');
        $trans = array ("\'" => "'", '\"' => '"',"'" => "\'", '"' => '\"', "ksiaze" => "", "książę"=>"","lord"=>"",
        "krol"=>"","król"=>"","sir "=>"","SIR "=>"", "Lord"=>"","Krol"=>"", "Sir"=>"");
        $login= strtr($login, $trans); //przerabiamy ' na \'
        $pass= strtr($pass, $trans); //przerabiamy ' na \'
        $mail= strtr($mail, $trans); //przerabiamy ' na \'      
        $rasa= strtr($rasa, $trans); //przerabiamy ' na \'      
        $plec= strtr($plec, $trans); //przerabiamy ' na \'      
    $idgracza = "SELECT imie FROM gracze WHERE imie='$login'";
    $wyniki = db_query( $idgracza, $db ); // or die ('Zle pytanie do bazy');
    $array = mysql_fetch_row($wyniki);
    $imie_t =$array[0];
    $st=strtolower($imie_t);
     $stn=strtolower($login);
    
    
    if ($st!=$stn)
    {
  
    if ($mail!="")
    {
    include_once "fmail.php";
    $k=password(time(), 20, "AlphaOnly", false);
    $pass=$k;
    $pass=md5( $pass );
    $email=$mail;
    $temat='Aktywacja konta w Menagerrally.net';
    $tresc="Witaj $login. \n Oto wygenerowane przez system hasło: $k \n
     Możesz je w każdej chwili zmienić w zakładce Ustawienia.
    \n Pozdrawiam i zapraszam do gry w www.menagerrally.net \n Aderek";
    wyslij_mail($email,$temat,$tresc) or blad_bazy ("Nie udalo sie wyslac majla rejestracyjnego");
    $zapytanie= "insert into gracze (imie,pass,mail) values ('$login','$pass','$mail')";
    // polaczenie z baza;
    $wyniki = db_query( $zapytanie, $db ) or blad_bazy ("Nie udało się dodać postaci o imieniu $login, gdy $imie_t.");
    $wynik=99;
    $idgracza = "SELECT id FROM gracze WHERE imie='$login'";
    $wyniki = db_query( $idgracza, $db ); // or die ('Zle pytanie do bazy');
    $array = mysql_fetch_row($wyniki);
    $wynik =$array[0]*1;
//    echo "w=$wynik";
  $_SESSION['kom']="";
    if ($wynik >0)
    {  
    $idgr=$wynik;  
    $_SESSION['kom']="<font color=\"red\">Gratulacje! <br> Udało ci się zarejestrować w menagerrally.net <br>jako $wynik osoba. <br>
    Pod imieniem: $login <br> Wygenerowane hasło zostało już wysłane <br>na podany przez Ciebie adres.</font>.";
    $_SESSION['login_new']=$login;
//    $kom="Gratulacje, udało ci się zarejestrować w Kupieckim Świecie jako $wynik osoba.";
    //ustawia cechy gracza, wpisuje mu poczatkowe miasto i poczatkowe zloto;
    $docech = "INSERT INTO cechy (gracz_id,miasto_id,kasa,plec)
    VALUES ('$wynik','1','20000','$plec')";
   $wynik = db_query( $docech, $db ) or blad_bazy("rejestruj.php:81-> ".mysql_error());
   if ($id_p>0)
   {
   blad_bazy ("rejestruj.php:84-> Gracz $id_p polecil kupiecki graczowi $idgr");
   }
   echo "<script language=\"JavaScript\"> window.document.onload = ( location = 'ks_login.php' ) </script>";
   //echo "Rejestracja zakończona sukcesem";
   }
   else
   {
     $_SESSION['kom']="<font color=\"red\">Ktoś już wcześniej zarejestrował się pod tym imieniem.$wynik</font>";
   }
   }
   else
   {
   $_SESSION['kom']="<font color=\"red\">Musisz podać adres e-majl.</font>";
   }
   }
   else
   {
    $_SESSION['kom']="<font color=\"red\">Ktoś już wcześniej zarejestrował się pod tym imieniem. Wybierz ponownie.</font>";
   }
//   echo $_SESSION['kom'];
    db_close( $db );
//echo "";
}
echo "<script language=\"JavaScript\"> window.document.onload = ( location = 'ks_login.php' ) </script>";
?>


A tak wygląda moja baza danych:

Kod
DROP TABLE IF EXISTS `gracze`;
CREATE TABLE `gracze` (
  `id` int(11) NOT NULL auto_increment,
  `imie` varchar(20) default NULL,
  `mail` varchar(40) default NULL,
  `pass` varchar(40) default NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `imie` (`imie`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `cechy` (
  `id` int(11) NOT NULL auto_increment,
  `gracz_id` int(11) default NULL,
  `miasto_id` int(11) default NULL,
  `kasa` bigint(11) default NULL,
  `pakiet_do_kiedy` decimal(10,0) NOT NULL default '0',
  `logowanie` decimal(10,0) NOT NULL default '0',
  `nowa_poczta` char(1) NOT NULL default 'n',
  `ip` varchar(20) NOT NULL default '',
  `domena` varchar(40) NOT NULL default '',
  `plec` char(1) NOT NULL default 'b',
  `newsy` char(1) NOT NULL default 'n',
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `gracz_id` (`gracz_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `samochody_modele` (
  `id` int(11) NOT NULL auto_increment,
  `nazwa` varchar(20) default NULL,
  `miasto_id` int(11) default NULL,
  `obrazek` varchar(40) NOT NULL default '',
  `speed` int(11) default NULL,
  `pojemnosc` int(11) default NULL,
  `skrzynia` int(11) default NULL,
  `paliwo` int(11) default NULL,
  `olej` int(11) default NULL,
  `silnik` int(11) default NULL,
  `wydech` int(11) default NULL,
  `cena` int(11) default NULL,
  `os_napedowa` int(11) default NULL,
  `chlodnica` int(11) default NULL,
  `klatka` int(11) default NULL,
  `opony` int(11) default NULL,
  `typ_wrc` int(11) default NULL,
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `nazwa` (`nazwa`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `samochody_graczy` (
  `id` int(11) NOT NULL auto_increment,
  `miasto_id` int(11) default NULL,
  `auto_id` int(11) default NULL,
  `gracz_id` int(11) default NULL,
  `speed` int(11) default NULL,
  `pojemnosc` int(11) default NULL,
  `skrzynia` int(11) default NULL,
  `paliwo` int(11) default NULL,
  `olej` int(11) default NULL,
  `silnik` int(11) default NULL,
  `wydech` int(11) default NULL,
  `cena` int(11) default NULL,
  `os_napedowa` int(11) default NULL,
  `chlodnica` int(11) default NULL,
  `klatka` int(11) default NULL,
  `opony` int(11) default NULL,
  `typ_wrc` int(11) default NULL,
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `auto_id` (`auto_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `rajdowcy` (
  `id` int(11) NOT NULL auto_increment,
  `miasto_id` int(11) default NULL,
  `auto_id` int(11) default NULL,
  `gracz_id` int(11) default NULL,
  `exp` int(11) default NULL,
  `pensja` int(11) default NULL,
  `radosc` int(11) default NULL,
  `zmeczenie` int(11) default NULL,
  `imie` varchar(20) default NULL,    
  `nazwisko` varchar(20) default NULL,    
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `auto_id` (`auto_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `trasy_rajdow` (
  `id` int(11) NOT NULL auto_increment,
  `miasto_id` int(11) NOT NULL default '1',
  `trudnosc` int(11) NOT NULL default '1',
  `trasa` longtext default NULL,  
  `opis` longtext default NULL,    
  `gracz_id` int(11) NOT NULL default '1',
  `nazwa` varchar(90) default NULL,  
  `zdjecie1` varchar(20) default NULL,
  `zdjecie2` varchar(20) default NULL,  
  `zdjecie3` varchar(20) default NULL,  
  `mapka` varchar(20) default NULL,  

  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `nazwa` (`nazwa`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
//opis trasy 2.0-s-L45-g
//gracz_id - kto postawil ta trase
// 2.0 dlugosc odcinka w km
// s - szuter, a - asfalt, p-polna, w-snieg, l-lod,
// g - odcinek w gore, d - odcinek w dol, m-odcinek mieszany



PROSZĘ O POMOC
Scoout
W tytule dodaj "[PHP]" do "[PHP]Problem z kodem lub bazą cz.1"

Bo admin zaraz temat zamknie... ;p



A ty przestrzegaj regulaminu, III,2,j. Następnym razem dostaniesz warna // @Sabistik
siemakuba
Proszę o zapoznanie się z zasadami pisania na forum Przedszkole a następnie przesłanie mi lub innemu moderatorowi poprawionego tematu wraz z linkiem do wątku.

Do tego czasu zamykam.

pozdr.
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.