Ето го скрипта:
Проблема е, че нещо не работи както трябва, уж имам един потребител "test" среща се в датабазата в посочените таблици, но не показва формата за смяна на ник, а трябва да я показва (не го намира ли ... де да знам)
Това е първото нещо.
Второто нещо е, че искам ако може да се добави "проверка за вече съществуващ" ник, ако ника test се смени с ника "milen" (а него вече го има в дб-то) - да показва някакво echo, че ника вече го има и не може да се използва.
Третото нещо е, че не променя всичко. Пример давам с:
AND phpbb_topics.topic_first_poster_name = '$oldnick'
AND phpbb_topics.topic_last_poster_name='$oldnick'
В таблицата phpbb_topics и на тези 2- колони по точно ника "milen" се среща 1800 пъти, но скрипта сменя около 1400, а другите 400 остават не-променени. (не знам защо е така)
Четвъртото нещо е максимум допустими стойности за символите, примерно (20) - ако може да се направи някаква дефиниция най-отгоре в скрипта която да е = 20 за да може да се променя по-лесно.
Другото нещо е "trim" функция която да следи за празните места (да няма такива)
Благодаря!
Код:
<?php
$username = $phpbb_user->data['username'];
include "forum/config.php";
$dbconn = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
if (!$dbconn)
{
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db("$dbname", $dbconn);
if (!$db_selected)
{
die ('Can\'t use foo : ' . mysql_error());
}
mysql_query("SET NAMES UTF8");
if (!$_POST['changenick'])
{
$our = mysql_query("SELECT * FROM
phpbb_forums,
phpbb_moderator_cache,
phpbb_topics,
phpbb_users
WHERE
phpbb_forums.forum_last_poster_name='$username'
AND phpbb_moderator_cache.username='$username'
AND phpbb_topics.topic_first_poster_name='$username'
AND phpbb_topics.topic_last_poster_name='$username'
AND phpbb_users.username='$username'
AND phpbb_users.username_clean='$username'
LIMIT 0,1");
while($r=mysql_fetch_assoc($our)){
?>
<form method='POST'>
<b>Настоящт ник:</b><br /> <input type='text' name='oldnick' maxlength='30' style='width:200px;' readonly='readonly' value='$username'/><br />
<b>Нов ник:</b><br /> <input type='text' name='newnick' style='width:200px;'><br />
<b>SMS Код:</b><br /> <input type='text' name='smscod' style='width:200px;'><br />
<input name='changenick' type='submit' value='Промени!' class='button'>
</form>
<?
}
}
else{
$oldnick = $_POST['oldnick'];
$newnick = $_POST['newnick'];
$oldnick = htmlspecialchars($oldnick);
$newnick = htmlspecialchars($newnick);
echo "<meta http-equiv=\"refresh\" content=\"1; url=changenick.php\">";
function mobio_checkcode($servID, $smscod, $debug=0) {
$res_lines = file("http://www.mobio.bg/code/checkcode.php?servID=$servID&code=$smscod");
$ret = 0;
if($res_lines) {
if(strstr($res_lines[0], "PAYBG=OK")) {
$ret = 1;
}else{
if($debug)
echo $line."\n";
}
}else{
if($debug)
echo "Unable to connect to mobio.bg server.\n";
$ret = 0;
}
return $ret;
}
$servID = 14733;
$smscod = $_REQUEST["smscod"];
if(mobio_checkcode($servID, $smscod, 0) == 1) {
$update = mysql_query("Update
phpbb_forums,
phpbb_moderator_cache,
phpbb_topics,
phpbb_users
SET
phpbb_forums.forum_last_poster_name = '$newnick',
phpbb_moderator_cache.username = '$newnick',
phpbb_topics.topic_first_poster_name = '$newnick',
phpbb_topics.topic_last_poster_name = '$newnick',
phpbb_users.username = '$newnick',
phpbb_users.username_clean = '$newnick'
WHERE
phpbb_forums.forum_last_poster_name = '$oldnick'
AND phpbb_moderator_cache.username ='$oldnick'
AND phpbb_topics.topic_first_poster_name = '$oldnick'
AND phpbb_topics.topic_last_poster_name='$oldnick'
AND phpbb_users.username = '$oldnick'
AND phpbb_users.username_clean='$oldnick'
");
echo "Успешно промени ника си!";
}else{
echo "Грешен или неправилно попълен код!";
}
}
?>
Проблема е, че нещо не работи както трябва, уж имам един потребител "test" среща се в датабазата в посочените таблици, но не показва формата за смяна на ник, а трябва да я показва (не го намира ли ... де да знам)
Това е първото нещо.
Второто нещо е, че искам ако може да се добави "проверка за вече съществуващ" ник, ако ника test се смени с ника "milen" (а него вече го има в дб-то) - да показва някакво echo, че ника вече го има и не може да се използва.
Третото нещо е, че не променя всичко. Пример давам с:
AND phpbb_topics.topic_first_poster_name = '$oldnick'
AND phpbb_topics.topic_last_poster_name='$oldnick'
В таблицата phpbb_topics и на тези 2- колони по точно ника "milen" се среща 1800 пъти, но скрипта сменя около 1400, а другите 400 остават не-променени. (не знам защо е така)
Четвъртото нещо е максимум допустими стойности за символите, примерно (20) - ако може да се направи някаква дефиниция най-отгоре в скрипта която да е = 20 за да може да се променя по-лесно.
Другото нещо е "trim" функция която да следи за празните места (да няма такива)
Благодаря!