07-11-2009, 22:32
Witam
Mam skrypt (bardzo ubogi ale chodzi tylko o przykład)
form.php - zawiera formularz do rejestracji
submit_account - przetwarza formularz i wstawia dane do BD
następnie
view_user.php[/quote] - pokazuje użytkownika
no i get_img.php - do wczytania emblematu - kodu już nie będę przytaczał
wszystko ładnie chodzi i tu pojawia się moje pytanie
bo za pomocą powyższego skryptu w pasku adresu pojawia się
i wyświetla się się prowizoryczny profil użytkownika a
chciałbym otrzymać coś takiego
gdzie po wpisaniu czegoś takiego pojawił by się profil użytkownika zoom24
Byłbym wdzięczny za wszystkie sugestie jak to osiągnąć.
Mam skrypt (bardzo ubogi ale chodzi tylko o przykład)
form.php - zawiera formularz do rejestracji
submit_account - przetwarza formularz i wstawia dane do BD
Kod PHP:
<?php // submit_account
require_once('dbinfo.inc');
function super_escape_string($in_string, $in_conn)
{
$str = $in_conn->real_escape_string($in_string);
return ereg_replace('([%;])', '\\\1',$in_string);
}
$uname = isset($_POST['UserName']) ? $_POST['UserName'] : '';
$fname = isset($_POST['fullName']) ? $_POST['fullName'] : '';
$pw1 = isset($_POST['password1']) ? $_POST['password2'] : '';
$pw2 = isset($_POST['password2']) ? $_POST['password2'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
if ($pw1 != $pw2)
echo "Hasla sie roznia ";
// czy przeslanie pliku jest ok
if($_FILES['avatarfile']['error'] == UPLOAD_ERR_OK)
{
$ext = strtolower(pathinfo($_FILES['avatarfile']['name'], PATHINFO_EXTENSION));
switch($ext)
{
case 'jpg': case 'jpeg':
$fileType = 'image/jpeg';
break;
case 'gif':
$fileType = 'image/gif';
break;
case 'png':
$fileType = 'image/png';
break;
case 'bmp':
$fileType = 'image/bmp';
break;
default:
echo "Zly typ pliku";
}
$f = @fopen($_FILES['avatarfile']['tmp_name'], 'r');
if($f === NULL)
echo "Nie mozna otworzyc obrazka";
$fsize = @filesize($_FILES['avatarfile']['tmp_name']);
var_dump($fsize);
$fileData = addslashes(fread($f,$fsize));
$fileSize = intval($_FILES['avatarfile']['size']);
if(intval($_FILES['avatarfile']['size']) > 50000)
echo "Za duzy rozmiar pliku ";
}
else
{
echo "Problem z uploadem pliku";
}
$conn = @new mysqli(DB_SERVER,DB_USERNAME,DB_PW,DB_DB);
if(mysqli_connect_errno() !== 0)
echo "Nie mozna polaczyc sie z baza danych ";
$uname = super_escape_string($uname,$conn);
$fname = super_escape_string($fname,$conn);
$pw = md5($pw1);
$email = super_escape_string($email,$conn);
$query = <<<EOQUERY
INSERT INTO AvatarSample
(user_name, full_name, password, email,
avatar_image, file_type, file_size)
VALUES('$uname', '$fname', '$pw', '$email',
'$fileData', '$fileType', $fileSize)
EOQUERY;
$results = @$conn->query($query);
if($results === FALSE)
{
$msg = $conn->error;
$conn->close();
echo "Blad w zapytaniu";
}
$userid = $conn->insert_id;
$conn->close();
// zobacz uzytkownika
echo <<<EOM
<a href='view_user.php?uid=$userid'>Zobacz dane uzytkownika</a>
EOM;
?>
następnie
view_user.php[/quote] - pokazuje użytkownika
Kod PHP:
<?php
require_once('dbinfo.inc');
function emitUserInfo($in_dbrow)
{
echo <<<EOINFO
<b>Nazwa uzytkownika:</b> {$in_dbrow['user_name']}<br/>
<b>Nazwisko i imie:</b> {$in_dbrow['full_name']}<br/>
<b>E-mail:</b> {$in_dbrow['email']}<br/>
<img border='0' src='get_img.php?uid={$in_dbrow['user_id']}'/>
<br/>
EOINFO;
}
if (!isset($_GET) and !isset($_GET['uid']))
die('potrzebny identyfikator użytkownika');
$uid = intval($_GET['uid']);
// połączenie z bazą danych.
$conn = @new mysqli(DB_SERVER, DB_USERNAME, DB_PW, DB_DB);
if (mysqli_connect_errno() !== 0)
echo "Blad polaczenia";
// pobranie rekordu.
$query = <<<EOQUERY
SELECT user_id, user_name, full_name, email FROM AvatarSample
WHERE user_id = $uid
EOQUERY;
$results = @$conn->query($query);
if ($results === FALSE)
{
$msg = $conn->error;
$conn->close();
echo "Blad z baza danych";
}
while (($row = @$results->fetch_assoc()) !== NULL)
{
if ($row['user_id'] == $uid)
{
emitUserInfo($row);
break;
}
}
$results->close();
$conn->close();
?>
no i get_img.php - do wczytania emblematu - kodu już nie będę przytaczał
wszystko ładnie chodzi i tu pojawia się moje pytanie
bo za pomocą powyższego skryptu w pasku adresu pojawia się
Kod PHP:
http://localhost//view_user.php?uid=1
i wyświetla się się prowizoryczny profil użytkownika a
chciałbym otrzymać coś takiego
Kod PHP:
http://localhost//profil/zoom24
gdzie po wpisaniu czegoś takiego pojawił by się profil użytkownika zoom24
Byłbym wdzięczny za wszystkie sugestie jak to osiągnąć.