Kombinuje z formularzami tylko nie mam pomysłu jak to złożyć w kupę. W kwestii tabeli to w sumie chciałem zrobic tak by wysyłało tylko wynik meczu. Jednak chyba nie obędzie się bez wysłania również nazwy meczu (np.:Polska -Grecja)...
Coś takiego zrobiłem:
Kod
<?php
/**
* Tylko dla zalogowanych użytkowników
*/
if (!user::isLogged()) {
echo '<p class="error">Przykro nam, ale ta strona jest dostępna tylko dla zalogowanych użytkowników.</p>';
}
else {
$id = $_GET['id'];
/**
* Sprawdź czy użytkownik o podanym ID istnieje
*/
$userExist = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE id = '$id'"));
// Użytkownik nie istnieje
if ($userExist[0] == 0) {
die ('<p>Przykro nam, ale użytkownik o podanym identyfikatorze nie istnieje.</p>');
}
/**
* Użytkownik istnieje, tak więc pokaż jego profil
*/
// Zapisz dane użytkownika o podanym ID, do zmiennej $profile
$profile = user::getDataById ($id);
echo '<h3>Profil użytkownika: <br /><span style="color:gold">'.$profile['login'].'</span></h1>';
echo '<b>Imię i Nazwisko:</b> '.$profile['nazwisko'].'<br />';
echo '<b>Nick:</b> '.$profile['login'].'<br />';
echo '<b>Email:</b> '.$profile['email'].'<br />';
}
require 'footer.php'; // Dołącz końcowy kod HTML
?><br />
<FORM action="insert.php" method="post">
<form method="post" action="">
<label for="mecz">1. Gospodarz - Gość</label><br />
<label for="login">Wynik:</label>
<input size="4" maxlength="5" type="text" name="wynik" id="wynik" />
<input type="hidden" name="send" value="1" />
<input type="submit" value="OK" />
</form><br />
<form method="post" action="">
<label for="mecz">2. Gospodarz - Gość</label><br />
<label for="login">Wynik:</label>
<input size="4" maxlength="5" type="text" name="wynik" id="wynik" />
<input type="hidden" name="send" value="1" />
<input type="submit" value="OK" />
</form><br />
<form method="post" action="">
<label for="mecz">3. Gospodarz - Gość</label><br />
<label for="login">Wynik:</label>
<input size="4" maxlength="5" type="text" name="wynik" id="wynik" />
<input type="hidden" name="send" value="1" />
<input type="submit" value="OK" />
</form><br />
/**
* Tylko dla zalogowanych użytkowników
*/
if (!user::isLogged()) {
echo '<p class="error">Przykro nam, ale ta strona jest dostępna tylko dla zalogowanych użytkowników.</p>';
}
else {
$id = $_GET['id'];
/**
* Sprawdź czy użytkownik o podanym ID istnieje
*/
$userExist = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE id = '$id'"));
// Użytkownik nie istnieje
if ($userExist[0] == 0) {
die ('<p>Przykro nam, ale użytkownik o podanym identyfikatorze nie istnieje.</p>');
}
/**
* Użytkownik istnieje, tak więc pokaż jego profil
*/
// Zapisz dane użytkownika o podanym ID, do zmiennej $profile
$profile = user::getDataById ($id);
echo '<h3>Profil użytkownika: <br /><span style="color:gold">'.$profile['login'].'</span></h1>';
echo '<b>Imię i Nazwisko:</b> '.$profile['nazwisko'].'<br />';
echo '<b>Nick:</b> '.$profile['login'].'<br />';
echo '<b>Email:</b> '.$profile['email'].'<br />';
}
require 'footer.php'; // Dołącz końcowy kod HTML
?><br />
<FORM action="insert.php" method="post">
<form method="post" action="">
<label for="mecz">1. Gospodarz - Gość</label><br />
<label for="login">Wynik:</label>
<input size="4" maxlength="5" type="text" name="wynik" id="wynik" />
<input type="hidden" name="send" value="1" />
<input type="submit" value="OK" />
</form><br />
<form method="post" action="">
<label for="mecz">2. Gospodarz - Gość</label><br />
<label for="login">Wynik:</label>
<input size="4" maxlength="5" type="text" name="wynik" id="wynik" />
<input type="hidden" name="send" value="1" />
<input type="submit" value="OK" />
</form><br />
<form method="post" action="">
<label for="mecz">3. Gospodarz - Gość</label><br />
<label for="login">Wynik:</label>
<input size="4" maxlength="5" type="text" name="wynik" id="wynik" />
<input type="hidden" name="send" value="1" />
<input type="submit" value="OK" />
</form><br />
DO wysyłki formularzy służyłby plik insert.php
I tu nie ma pomysłu jak wcisnąć ID użytkownika pod które miałyby byc wysyłane dane
plik insert.php:
Kod
<?php
$con = mysql_connect("mysql3.ph-hos.osemka.pl","user","haslo");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("1189345_toptyper", $con);
$sql="INSERT INTO typy (mecz, typ)
VALUES
('$_POST[mecz]','$_POST[wynik]')";//w zależności od budowy bazy
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
mysql_close($con);
?>
$con = mysql_connect("mysql3.ph-hos.osemka.pl","user","haslo");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("1189345_toptyper", $con);
$sql="INSERT INTO typy (mecz, typ)
VALUES
('$_POST[mecz]','$_POST[wynik]')";//w zależności od budowy bazy
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
mysql_close($con);
?>
Doadam jeszcze że tak wygląda moja klasa user z której muszę wyciągnąć id zalogowanego i wstawić do zapytania... jak to zrobić?
Kod
class user {
public static $user = array();
/**
* Zwraca tablicę ze wszystkimi danymi o użytkowniku.
* Indeksy tablicy odpowiadają nazwom pól w bazie danych (login, pass etc...)
* @param string $login
* @param string $pass
* @return array
*/
public function getData ($login, $pass) {
if ($login == '') $login = $_SESSION['login'];
if ($pass == '') $pass = $_SESSION['pass'];
self::$user = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1;"));
return self::$user;
}
/**
* Zwraca tablicę ze wszystkimi danymi o użytkowniku, tak jak powyższa metoda klasy,
* ale rozpoznaje użytkownika nie po podaniu loginu i hasła tylko po podaniu ID.
* Używana np. do wyświetlania strony profilu.
* @param int $id
* @return array
*/
public function getDataById ($id) {
$user = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id='$id' LIMIT 1;"));
return $user;
}
/**
* Jeśli użytkownik jest zalogowany - zwraca true, w przeciwnym wypadku - false
* @return bool
*/
public function isLogged () {
if (empty($_SESSION['login']) || empty($_SESSION['pass'])) {
return false;
}
else {
return true;
}
}
/**
* "Soli" hasło przed jego zahashowaniem funkcją md5()
* @param string $pass
* @return string
*/
public function passSalter ($pass) {
$pass = '$@@#$#@$'.$pass.'q2#$3$%##@';
return md5($pass);
}
}
?>
public static $user = array();
/**
* Zwraca tablicę ze wszystkimi danymi o użytkowniku.
* Indeksy tablicy odpowiadają nazwom pól w bazie danych (login, pass etc...)
* @param string $login
* @param string $pass
* @return array
*/
public function getData ($login, $pass) {
if ($login == '') $login = $_SESSION['login'];
if ($pass == '') $pass = $_SESSION['pass'];
self::$user = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1;"));
return self::$user;
}
/**
* Zwraca tablicę ze wszystkimi danymi o użytkowniku, tak jak powyższa metoda klasy,
* ale rozpoznaje użytkownika nie po podaniu loginu i hasła tylko po podaniu ID.
* Używana np. do wyświetlania strony profilu.
* @param int $id
* @return array
*/
public function getDataById ($id) {
$user = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id='$id' LIMIT 1;"));
return $user;
}
/**
* Jeśli użytkownik jest zalogowany - zwraca true, w przeciwnym wypadku - false
* @return bool
*/
public function isLogged () {
if (empty($_SESSION['login']) || empty($_SESSION['pass'])) {
return false;
}
else {
return true;
}
}
/**
* "Soli" hasło przed jego zahashowaniem funkcją md5()
* @param string $pass
* @return string
*/
public function passSalter ($pass) {
$pass = '$@@#$#@$'.$pass.'q2#$3$%##@';
return md5($pass);
}
}
?>