Username jest pobierany z sesji.
Aby go dodać do formularza daję to :
Kod
$newusername = $_POST [$_SESSION['username']];
I wszystko działa dobrze,ale jest problem z wyświetlaniem tego username w phpmyadmin .
Ogólnie wszystko to robię, aby zalogowany użytkownik mógł wysłać tylko jeden formularz .
No i działa ok,bo jak koleś się zaloguje i wypełni pola email ,nazwisko i przepisze recaptche to wysyła formularz .
Gdy chce zamówić drugi raz ( zalogowany jest na te same dane co przedtem ) to wyświetla się, że wysłał już formularz .
Tylko potem nie mogę zobaczyć w phpmyadmin jego nicka .
Jest po prostu puste pole .
Nie rozumiem tego .
Proszę o pomoc, bo już parę godzin próbuje i nic .
Mój kod :
Kod
<?php
session_start();
if (!isset($_SESSION['username']))
{
header('Location: ./login.php');
exit;
}
?>
<?php
session_start();
$error_message = "";
$error_message1 = "";
$action = isset($_POST['action']) ? $_POST['action'] : '';
$mysql_server = 'localhost';
$mysql_username = 'xxx';
$mysql_password = 'xxx';
$mysql_database = 'xxx';
$mysql_table = 'nagroda1';
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
mysql_select_db($mysql_database, $db);
$sql = "SELECT id FROM ".$mysql_table;
require_once('libs/recaptchalib.php');
$privatekey = "xxx";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid)
{
$error_message = "Zły kod";
}
$result = mysql_query($sql, $db);
$nagroda1=mysql_num_rows($result);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $nagroda1 >= 2 )
{
$error_message1 = "Brak nagrody";
}
$success_page = './sukces.html';
$error_message = "";
$db=mysql_query("SELECT count(*) as ilerekordow from nagroda1");
$i=mysql_fetch_array($db);
$ilerekordow=$i['ilerekordow'];
if ($ilerekordow >= 3) die('Brak nagrody'); // TUTAJ LICZBA NAGRÓD
if ($action == 'signup')
{
$newusername = $_POST [$_SESSION['username']];
$newemail = $_POST['email'];
$newfullname = $_POST['fullname'];
if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $newfullname))
{
$error_message = 'Popraw dane';
}
else
if (!ereg("^.+@.+\..+$", $newemail))
{
$error_message = 'Popraw dane';
}
if (empty($error_message))
{
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
mysql_select_db($mysql_database, $db);
$sql = "SELECT username FROM ".$mysql_table." WHERE username = '".$newusername."'";
$result = mysql_query($sql, $db);
if ($data = mysql_fetch_array($result))
{
$error_message = 'Zamówiłeś już nagrodę !';
}
}
if (empty($error_message))
{
$sql = "INSERT `".$mysql_table."` (`username`,`fullname`, `email`, `active`) VALUES ('$newusername', '$newfullname', '$newemail', 1)";
$result = mysql_query($sql, $db);
mysql_close($db);
$mailto = $newemail;
$subject = 'Potwierdzenie x';
$message = 'xxx';
$message .= "\r\nUsername: ";
$message .= $newusername;
$message .= "\r\n";
$header = "From: xxx"."\r\n";
$header .= "Reply-To: xxx"."\r\n";
$header .= "MIME-Version: 1.0"."\r\n";
$header .= "Content-Type: text/plain; charset=utf-8"."\r\n";
$header .= "Content-Transfer-Encoding: 8bit"."\r\n";
$header .= "X-Mailer: PHP v".phpversion();
mail($mailto, $subject, $message, $header);
header('Location: '.$success_page);
exit;
}
}
?>
session_start();
if (!isset($_SESSION['username']))
{
header('Location: ./login.php');
exit;
}
?>
<?php
session_start();
$error_message = "";
$error_message1 = "";
$action = isset($_POST['action']) ? $_POST['action'] : '';
$mysql_server = 'localhost';
$mysql_username = 'xxx';
$mysql_password = 'xxx';
$mysql_database = 'xxx';
$mysql_table = 'nagroda1';
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
mysql_select_db($mysql_database, $db);
$sql = "SELECT id FROM ".$mysql_table;
require_once('libs/recaptchalib.php');
$privatekey = "xxx";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid)
{
$error_message = "Zły kod";
}
$result = mysql_query($sql, $db);
$nagroda1=mysql_num_rows($result);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $nagroda1 >= 2 )
{
$error_message1 = "Brak nagrody";
}
$success_page = './sukces.html';
$error_message = "";
$db=mysql_query("SELECT count(*) as ilerekordow from nagroda1");
$i=mysql_fetch_array($db);
$ilerekordow=$i['ilerekordow'];
if ($ilerekordow >= 3) die('Brak nagrody'); // TUTAJ LICZBA NAGRÓD
if ($action == 'signup')
{
$newusername = $_POST [$_SESSION['username']];
$newemail = $_POST['email'];
$newfullname = $_POST['fullname'];
if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $newfullname))
{
$error_message = 'Popraw dane';
}
else
if (!ereg("^.+@.+\..+$", $newemail))
{
$error_message = 'Popraw dane';
}
if (empty($error_message))
{
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
mysql_select_db($mysql_database, $db);
$sql = "SELECT username FROM ".$mysql_table." WHERE username = '".$newusername."'";
$result = mysql_query($sql, $db);
if ($data = mysql_fetch_array($result))
{
$error_message = 'Zamówiłeś już nagrodę !';
}
}
if (empty($error_message))
{
$sql = "INSERT `".$mysql_table."` (`username`,`fullname`, `email`, `active`) VALUES ('$newusername', '$newfullname', '$newemail', 1)";
$result = mysql_query($sql, $db);
mysql_close($db);
$mailto = $newemail;
$subject = 'Potwierdzenie x';
$message = 'xxx';
$message .= "\r\nUsername: ";
$message .= $newusername;
$message .= "\r\n";
$header = "From: xxx"."\r\n";
$header .= "Reply-To: xxx"."\r\n";
$header .= "MIME-Version: 1.0"."\r\n";
$header .= "Content-Type: text/plain; charset=utf-8"."\r\n";
$header .= "Content-Transfer-Encoding: 8bit"."\r\n";
$header .= "X-Mailer: PHP v".phpversion();
mail($mailto, $subject, $message, $header);
header('Location: '.$success_page);
exit;
}
}
?>