Skocz do zawartości
Zaloguj się, aby obserwować  
Gość mpm1122

[MySQL][PHP]Pobieranie rekordów z baz danych + problem z tabelą

Polecane posty

Gość mpm1122

Tak tak znowu ja , ale co zrobić dopiero się uczę php sad.png Chcę osiągnąć taki efekt :

efekt.png

Kolor niebieski to kwota jaka ma się pokazywać , a czerwony to nick osoby

Tabela iConomy(tam gdzie są gromadzone pieniądze )

bazaiconomy.png

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

 

 

Tabela rejestracja tam są przechowywane dane do logowania

 

img-resized.png Rozmiar obrazka zmniejszony: 65% oryginalnego rozmiaru [ 1093 x 39 ]

bazarejestracja.png

Jak możecie zauważyć pola na czerwono maja różne nazwy w pierwszej to username a w drugiej login . Teraz pytanie jak zrobić aby postał zamierzony efekt . Korzystam już z sesji przy logowaniu oto jego fragment :

<?php
ob_start();
session_start(); // start
?>
<?php include('header.php'); ?>
<h2>» Zaloguj się</h2>
<div class="content">
<?php
if (!isset($_SESSION['login'])) { // tylko zalogowani
if ($_POST['wyslane']) { // jeżeli jest ok to się wykonuje
	include 'inc/db.php'; // połączenie z mysql
	$tabela = 'rejestracja'; // tabela mysql tu może być problem
	$login = $_POST["login"];
	$haslo = $_POST["haslo"];
	$haslo = md5($haslo); // hasło czy jest coś lepszego od md5 ?
	$wynik=mysql_query("SELECT * FROM $tabela WHERE
	login='$login' and haslo='$haslo' and status=0");
	// jeżeli user ma konto a nie aktywował go to pokazuje się coś takiego
	if (mysql_num_rows($wynik) == 1) {
		$informacja = mysql_fetch_array($wynik);
		echo '<span class="blad">Nie aktywowałeś jeszcze swojego konta. Aby to zrobić, wejdź w swoją skrzynkę odbiorczą, a następnie znajdź wiadmość z linkiem aktywacyjnym i aktywuj swoje konto</span>';
		exit;
	}
	// jest ok to się loguje
	$wynik=mysql_query("SELECT * FROM $tabela WHERE
	login='$login' and haslo='$haslo' and status=1");
	if (mysql_num_rows($wynik) == 1) {
		$informacja = mysql_fetch_array($wynik);
		$_SESSION["login"] = $informacja["login"];
		header('Location: index.php ');
	} else {
		echo '<span class="blad">Zostały wprowadzone nieprawidłowe dane!</span>';
	}
	mysql_close($polaczenie);
}
nuda

A to kod profilu użytkownika ( tam gdzie będzie pokazywany stan pieniędzy i nick )

<?php
ob_start();
session_start();
?>
<?php include('header.php'); ?>
<h2>» System użytkowników<br />CraftWorld</h2>
<div class="content">
<?php
if (isset($_SESSION['login'])) {
echo '<p><img class="user" src="img/user.png">Jesteś zalogowany jako: <strong>'.$_SESSION['login'].'</strong></p>';
}
?
<?php include('footer.php'); ?>

 

Czy ktoś mi w tym pomoże myślałem nad SELECT albo JOIN ON , ale to dosyć trudne .

 

````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````

Druga część tematu .Mam tabele rejestracja wszystko działa pięknie do momentu jak dopiszę nową kolumnę wtedy skrypt rejestracji po wpisaniu i naciśnięciu rejestruj przenosi na tą samą stronę czyli rejestracja.php z czystym formularzem .

Zamieszczam tu sql tabeli

CREATE TABLE `rejestracja` (

  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `imie` VARCHAR(100) NOT NULL,
  `nazwisko` VARCHAR(100) NOT NULL,
  `login` VARCHAR(30) NOT NULL,
  `haslo` VARCHAR(50) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `kod` VARCHAR(32) NOT NULL,
  `data` DATETIME NOT NULL,
  `status` TINYINT(1) DEFAULT 0,

  PRIMARY KEY (`id`)

)

A tu przerobiona dodałem tylko 2 kolumny i już nie działa

CREATE TABLE `rejestracja` (

  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `imie` VARCHAR(100) NOT NULL,
  `nazwisko` VARCHAR(100) NOT NULL,
  `login` VARCHAR(30) NOT NULL,
  `haslo` VARCHAR(50) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `kod` VARCHAR(32) NOT NULL,
  `data` DATETIME NOT NULL,
  `status` TINYINT(1) DEFAULT 0,
  `username` VARCHAR(30) NOT NULL,
  `balance` VARCHAR(30) NOT NULL,
  PRIMARY KEY (`id`)

)

Jeśli trzeba to mogę zamieścić nawet cały skrypt rejestracji ( i tak będzie udostępniany za free )

UPDATE umieszczam skrypt rejestracji

?php
ob_start();
session_start();
?>
<?php include('header.php'); ?>
<h2>» Zarejestruj się</h2>
<div class="content">
<?php
if (!isset($_SESSION['login'])) {
   include 'inc/db.php';
   $tabela = 'rejestracja';
   include 'inc/recaptchalib.php';
   $privatekey = nic"; // prywatny klucz reCAPTCHA
   $publickey = "też nic"; // publiczny klucz reCAPTCHA
if ($_POST["wyslane"]) {

    $login = htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"]))), ENT_QUOTES);
    $haslo = $_POST["haslo"];
    $haslo2 = $_POST["haslo2"];
    $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
    $email2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);
    $imie = htmlspecialchars(addslashes(strip_tags(trim($_POST["imie"]))), ENT_QUOTES);
    $nazwisko = htmlspecialchars(addslashes(strip_tags(trim($_POST["nazwisko"]))), ENT_QUOTES);
    $resp = recaptcha_check_answer ($privatekey,
		    $_SERVER["REMOTE_ADDR"],
		    $_POST["recaptcha_challenge_field"],
		    $_POST["recaptcha_response_field"]);

Edytowano przez mpm1122 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie wiem, czy wiesz, ale jest forum, które bardziej by Ci pomogło - forum.php.pl . Mimo, że pewnie nie jeden i tu zna php, tam dostaniesz szybciej odpowiedź.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mpm1122

Coś takiego ?

CREATE TABLE `rejestracja` (
	  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
	  `imie` VARCHAR(100) NOT NULL,
	  `nazwisko` VARCHAR(100) NOT NULL,
	  `login` VARCHAR(30) NOT NULL,
	  `haslo` VARCHAR(50) NOT NULL,
	  `email` VARCHAR(100) NOT NULL,
	  `kod` VARCHAR(32) NOT NULL,
	  `data` DATETIME NOT NULL,
	  `status` TINYINT(1) DEFAULT 0,
	  `username` VARCHAR(30) DEFAULT 0,
	  `balance` VARCHAR(30) DEFAULT 0,
	  PRIMARY KEY (`id`)
)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mpm1122

@YagAA też tam pisałem , ale napisali mi że nie ma nic za darmo wiec pisze tu :P

 

SaVaGe123 twój sposób nie działa teraz tabela wygląda tak :

 

omgun.png

 

A rejestracja nie działa jak chcesz to zobacz sobie mpm1122.net.pl

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A co do 2 to :

<?php
ob_start();
session_start();
include('db.php'); //plik odpowiedzialny za poloczenie z baza
$login = $_SESSION['login'];
$result = mysql_query("SELECT * FROM iConomy WHERE username = '$login'");
($row = mysql_fetch_object($result))
?>
<?php include('header.php'); ?>
<h2>» System użytkowników<br />CraftWorld</h2>
<div class="content">
<?php
if (isset($_SESSION['login'])) {
echo '<p><img class="user" src="img/user.png">Jesteś zalogowany jako: <strong>'.$_SESSION['login'].'</strong></p>';
} ?>
Posiadasz teraz : <?php echo $row->balance ?>$
<?php include('footer.php'); ?>

Prześlij tutaj cały kod reje tego jest sporo w necie raczej nikt ci nie ukradnie ;]

Edytowano przez SaVaGe123 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mpm1122

No nie do końca są błędy w

Warning: include(mpm1122.net.pl/inc/db.php) [function.include]: failed to open stream: No such file or directory in /home/p157808/public_html/index.php on line 4
Warning: include(mpm1122.net.pl/inc/db.php) [function.include]: failed to open stream: No such file or directory in /home/p157808/public_html/index.php on line 4
Warning: include() [function.include]: Failed opening 'mpm1122.net.pl/inc/db.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/p157808/public_html/index.php on line 4
Warning: mysql_query() [function.mysql-query]: Access denied for user 'p157808'@'localhost' (using password: NO) in /home/p157808/public_html/index.php on line 6
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/p157808/public_html/index.php on line 6
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/p157808/public_html/index.php on line 7

 

a tu kod

<?php
ob_start();
session_start();
include('mpm1122.net.pl/inc/db.php'); //plik odpowiedzialny za poloczenie z baza
$login = $_SESSION['login'];
$result = mysql_query("SELECT * FROM iConomy WHERE username = '$login'");
($row = mysql_fetch_object($result))
?>
<?php include('header.php'); ?>
<h2>» System użytkowników<br />CraftWorld</h2>
<div class="content">
<?php
if (isset($_SESSION['login'])) { 
echo '<p><img class="user" src="img/user.png">Jesteś zalogowany jako: <strong>'.$_SESSION['login'].'</strong></p>';
}

?>
Posiadasz teraz : <?php echo $row->balance ?>$

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mpm1122

Nadal wyrzuca błąd , ale teraz problem z połączeniem dwóch tabel w jedną znikł bo wiem już jak połączyć się drugą tabelą mysql .

Admina proszę o nie zamykanie ani usuwanie tematu ponieważ może się komuś jeszcze przydać !

Dziękuję użytkownikowi

SaVaGe123 za pomoc !

Edytowano przez mpm1122 (zobacz historię edycji)
  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×