pobranie sesji i przeslanie kolejnego formularza

2014-12-07 13:44:25 Post #1 Heron

 
Witam. Korzystam z projektu Nospor'a, konkretnie z najnowszej wersji ShoutBox.
Tkwie w pewnym momencie, gdyż z pliku sblogin.php chciałbym wykorzystać przesłanie formularza do obecnie aktywnej zalogowanej sesji.
Więc gdy już jestem zalogowany chciałbym do kolejnej strony zbudowanej na wzorze pliku sblogin.php pobrać tam obecnie zalogowaną sesje i przesłać dla niej dodatkowe rekordy do bazy danych poprzez formularz. ALe nie mogę sobie z tym poradzić.
Przesłąć do tabeli ShoutBoxUser.
Rekordy o nazwie: nazwa, opis, tematyka,

tutaj plik sblogin.php(oryginalny)

<?php
ob_start();
session_start();
require_once('cfg.inc.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>ShoutBox</title>
</head>
<body>
<?php
require_once('libs/ShoutBox.class.php');
require_once('libs/ShoutBoxDBMysql.class.php');
$er = array();
$jl = false; //w ifach jesli damy to na true, to na podstawie tego przekierujemy na strone shouta.
if (!empty($_POST)){
	if (empty($_POST['nick']))
		$er[] = 'Podaj nick';
	if (empty($_POST['pass']))
		$er[] = 'Podaj hasło';
	if (empty($_POST['color']))
		$color = '000000';
	else{
		if (preg_match('/^[0-9a-f]{6}$/i',$_POST['color']))
			$color = $_POST['color'];
		else			
			$er[] = 'Podany kolor jest nieprawidłowy';
	}
	if (empty($er)){
		$nick = htmlspecialchars($_POST['nick'], ENT_QUOTES);
		ShoutBoxDBMysql::MysqlConnect();
		$sql = 'select ID, PASS from ShoutBoxUser where NICK=\''.$nick.'\'';
		$res = mysql_query($sql);
		if (!$res)
			$er[] = 'Błąd bazy danych';
		else{	
			if (mysql_numrows($res) > 0){
				$row = mysql_fetch_array($res);
				$pass = $row['PASS'];
				if ($pass == sha1($_POST['pass'])){
					$_SESSION['nick'] = $nick;
					$_SESSION['id'] = $row['ID'];
					if (file_exists('online.txt'))
						unlink('online.txt');
					$up = array();
					if ($cfg_shoutbox['user_activity'])// || isset($_POST['savecolor']))
						$up[] = 'LAST_ACTIVE_TIME=now()';	
					if (isset($_POST['savecolor']))
						$up[] = "COLOR='$color'";
					if (!empty($up))	
						mysql_query('update ShoutBoxUser set '.implode(',',$up). ' where ID='.$row['ID']);
					$_SESSION['justlogged'] = true;
					$jl = true;
					
					//
				}	
				else
					$er[] = 'Taki login już istnieje, a ty podałeś błędne hasło';	
			} else { //brak takiego loginu to dodajemy do bazy i logujemy
				$sql = "insert into ShoutBoxUser values (null,'$nick', '".sha1($_POST['pass'])."','$color', now())";
				$res = mysql_query($sql);
				if (!$res)
					$er[] = 'Błąd bazy danych';
				else {
					$_SESSION['nick'] = $nick;
					$_SESSION['id'] = mysql_insert_id();
					$_SESSION['justlogged'] = true;
					$jl = true;
					if (file_exists('online.txt'))
						unlink('online.txt');
				}
			}
		}
	}
}
if ($jl){//po poprawnym zalogowaniu przenosimy na strone shouta
	header('Location: ShoutBoxDisplay.php');
	exit;
}

if (!empty($er)){
	echo '<div style="color:red">';
	foreach ($er as $error)
		echo $error.'<br />';
	echo '</div>';
}
?>
<form method="post">
<table>
<tr>
	<td><label>Nick: </label></td>
	<td><input type="text" name="nick" /></td><td> (jesli jestes nowy - podaj nowy nick, jeśli masz już konto - podaj swój nick)</td>
</tr><tr>	
	<td><label>Hasło: </label></td>
	<td><input type="password" name="pass" /></td><td>(jesli jestes nowy - podaj nowe hasło, jeśli masz już konto - podaj swoje hasło)</td>
</tr><tr>
	<td><label>Kolor: </label></td>
	<td><input type="text" name="color" /></td><td>(podaj kolor, pod jakim chcesz być widziany. Kolor w postaci RRGGBB, np: FF00FF)</td>
</tr><tr>	
	<td colspan="3"><input type="checkbox" name="savecolor" checked="checked" />Zapisać kolor w bazie</td>
</tr>
<tr>	
	<td colspan="3"><input type="submit" value="Start" /></td>
</tr>	
</table>
</form>
<p>Nick "blocked" nie będzie mógł pisać.</p>
</body>
</html>

2014-12-07 17:48:23 Post #2 Heron

 
To znów ja. Gdy pisałem poprzedni post śpieszyłem się bardzo i teraz widzę, że wygląda tak jakbym kazał komuś go napisać dla mnie i podać jak na tacy.
Jednakże potrzebuje wskazówek, czy innej pomocy.

2014-12-08 08:19:24 Post #3 nospor

 
Nie bardzo rozumiem co chcesz zrobić. Czy moglbys pokazac co juz probowales zrobic, to moze zacznie mi swietac w glowie co kombinujesz?

2014-12-08 12:12:40 Post #4 gość_Heron

 
Pomyliłem wszystko co chciałem przekazać. Jednakże jest to nieaktualne od wczorajszego wieczoru. Buduję coś innego i będę wykorzystywał nowsze techniki (w tym MYSQL PDO).
Nie mniej jednak dziękuje za zainteresowanie i chęć pomocy.

2015-05-08 10:37:26 Post #5 gość_lektor01

 
potrzebuję stronkę z baza danych sklep internetowy z laptopami możliwość dodawania nowych produktów, na sobotę potrzebował bym tylko stronki i kilku funkcji wyszukiwania podstawa żadnych bajerów na e-mail prześle rozpoczętą baze danych i schemat zdjęcia jak rozrysowalem stronkę i jej funkcjonalność i ta stronka musiała by być napisana w ASP. Net ZAPŁACĘ PROSZĘ O WIADOMOŚĆ NA E-MAIL peciodominik@gmail.com

Odpowiedz

Ostatnio na forum

  1. PHP Developer - Gdań... moze kobieta
  2. PHP Developer - Gdań... Tomek ARforce
  3. Hackathon Distribute... aleksandra_c
  4. Klasa obsługi szablo... freeboc
  5. PHP [Symfony] Develo... NewPerspective
  6. [Wrocław][PHP Develo... Software house Amsterdam Standard sp. z o.o.
  7. Senior PHP Developer... Kingit

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer