Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Malutki problem z wysyłaniem formularza
Forum PHP.pl > Forum > PHP
kiepski96
Otóż mam formularz z polami email , username i nazwisko .
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;
      }
   }
   ?>

sadistic_son
A to nie powinno być przypadkiem tak?
  1. $newusername = $_SESSION['username'];
Tak jak Ty miałeś to przy założeniu, że user nazywa się Zenek to $username przybrałoby wartość z $_POST['Zenek'] a wątpię abyś miał w formularzu pole type="text" name="zenek" lub name=$_SESSION['username'].
kiepski96
Już działa,thx
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.