Присвоить идентификатор имени пользователя в PHP - PullRequest
0 голосов
/ 05 декабря 2010

Когда пользователь вводит x.com/y.php?username=z, я хотел бы использовать это имя пользователя в качестве аргумента для генерации идентификатора и связать его с этим именем пользователя, записав его в таблицу.Однако до сих пор я получаю только ошибки 500 при вводе имени пользователя.

(третий день в этом)

<?php
error_reporting(E_ALL);
$con = mysql_connect("localhost","&&&&&","&&&&&");
if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("wp", $con);

Function RandomString()
{
    $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for ($i = 0; $i < 20; $i++) 
    {
        $randstring.= $characters[rand(0, strlen($characters))];
    }
    return $randstring;
}

if (isset($_GET["username"]) && !empty($_GET["username"])) 
{
    $username = $_GET['username'];

    $usercheck = mysql_query("SELECT COUNT(*) AS a FROM wp_users WHERE user_login=".$username."",$con);
    $res1 = $usercheck->fetch();
    $usercheck->closeCursor();

    if (empty($res1["a"]))
    {
        $log = "genlog.txt";
        $fh = fopen($log, 'a') or die("can't open file");
        $date = date("m/d/Y");
        $stringData = "Database write failed at ".time()." -- .\n Data entered was: ".$username."\n";
        fwrite($fh, $stringData);
        fclose($fh);
        die('ERROR: Username does not exist.');
    }   
    else
    {
        $n = 1;
        while($n != 0)
        {
            $randstring = "live_".RandomString();
            echo $randstring;
            $req0 = mysql_query("SELECT COUNT(*) AS n, streamer_id FROM streamer_ids WHERE streamer_id=".$randstring."",$con);
            $res0 = $req0->fetch();
            $req0->closeCursor();
            $n = $res0["n"];
        }
        $temp = mysql_query("INSERT INTO streamer_ids (username,streamer_id,premium) VALUES('".$username.",".$randstring.",0')",$con);
        $temp->closeCursor();
    }
}
else
echo "Wrong:".$username.""
?>

1 Ответ

0 голосов
/ 05 декабря 2010

Попробуйте, были некоторые синтаксические ошибки, и запросы MySql были выполнены неправильно, не уверен, что вы используете другой модуль, но я изменяю его для работы в общей настройке.

<?php
error_reporting(E_ALL);
$con = mysql_connect("localhost","root","123");
if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("wp_test", $con);

Function RandomString()
{
    $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for ($i = 0; $i < 20; $i++)
    {
        $randstring.= $characters[rand(0, strlen($characters))];
    }
    return $randstring;
}

if (isset($_GET["username"]) && !empty($_GET["username"]))
{
    $username = $_GET['username'];

    $result = mysql_query("SELECT COUNT(*) AS a FROM wp_users WHERE user_login='".$username."'",$con);
    $res1 = mysql_fetch_assoc($result);
//    $usercheck->closeCursor();

    if (empty($res1["a"]))
    {
        $log = "genlog.txt";
        $fh = fopen($log, 'a') or die("can't open file");
        $date = date("m/d/Y");
        $stringData = "Database write failed at ".time()." -- .\n Data entered was: ".$username."\n";
        fwrite($fh, $stringData);
        fclose($fh);
        die('ERROR: Username does not exist.');
    }
    else
    {
        $n = 1;
        while($n != 0)
        {
            $randstring = "live_".RandomString();
            echo $randstring;
            $result = mysql_query("SELECT COUNT(*) AS n, streamer_id FROM streamer_ids WHERE streamer_id='".$randstring."'",$con);
            $res0 = mysql_fetch_assoc($result);
//            $req0->closeCursor();
            $n = $res0["n"];
        }
        $temp = mysql_query("INSERT INTO streamer_ids (username,streamer_id,premium) VALUES('".$username."', '".$randstring."',0)",$con);
//        $temp->closeCursor();
    }
}
else
echo "Wrong:".$username.""
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...