Малко помощ с DB

b0nb0n40

Registered
Здравейте! Пак се обръщам към вас :D
Как да направя така че в този сайт:
http://b0nb0n40.1gb.bg/ (не е реклама. Моля администратора/модератора да разбере това като ДЕМО)
Когато напиша акаунт и парола се записват в http://b0nb0n40.1gb.bg/users.ini
Как да направя така че да записва не само в този тхт файл ами и в БД в register и след това да извежда грешка когато има вече съществуващ потребител.

2. Искам да попитам как да направя така че от 1 ИП формата да може да се използва по веднъж и да одрежа достъпа на прокси сървърите..

Благодаря предварително :D :P
Поздрави b0nb0n40 :?:
 
Правиш си едно скрито input поле. После на $_POST от това поле му задаваш $_SERVER["REMOTE_ADDR"]; . Цялото го слгаш в една променлива и после записваш в дб и нея. Ето как ще ти стане:
PHP:
<?php
echp '<input type="hidden" name="id" value="'.$_SERVER["REMOTE_ADDR"].'"/>'
$ip = $_POST['ip'];
//Заявката:
$q=mysql_query("INSERT INTO `table` (`user`, `pass`, `flags`, `level`, `ip`) VALUES ('$user', '$pass', '$flags', '$level', '$ip')");
 
Добре къде до го пъхна това скрито поле ?! като формата ми е такава :
Код:
<form name="b0nb0n40" id="loginForm" method="post" action="signup.php">
   <table class="dataEntryTableSmall">
      <tr>
         <td class="loginFormLabel"><nobr>Акаунт:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="1" type="text" size="20" name="acc" value=""></td>

      </tr>
      <tr>
         <td class="loginFormLabel"><nobr>Парола:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="2" type="text" size="20" name="pass"></td>
      </tr>
      <tr>
         <td class="loginFormLabel"> </td>

            <td class="formFieldSmall"><input type="submit" name="" value="Кодирай" onclick="this.disabled=true; this.form.submit(); return false;" class="inputsubmit">
         </td>
      </tr>
   </table>
<input type="hidden" name="b0nb0n40_flag" value="z">
<input type="hidden" name="b0nb0n40_check" value="a">
   </form>

signup.php
PHP:
<?php
header ('Location: ready.html ');
$handle = fopen("users.ini", "a");
foreach($_POST as $variable => $value) {
   fwrite($handle, "\"");
   fwrite($handle, $value);
   fwrite($handle, "\"");
   fwrite($handle, " ");
}
fwrite($handle, "\r\n");
fclose($handle);
exit;
?>

Към @tedo96 - Не искам да ми записва ИП-то в таблицата! Искам да може формата да се използва по 1 път от 1 ИП. Ако можеш и да ми кажеш как да блокирам достъпа на прокси сървърите ще си златен :D
 
За да правиш проверка дали това ip вече е гласувало трябва да го запишеш нали? о.О
Прокситата няма как да ги забраниш. Това е дискутирано тук много. Ако искаш потъеси в търсачката и ще видиш. :)
 
Извади късмет, че днес съм в добро настроение.... :D
PHP:
<form name="b0nb0n40" id="loginForm" method="post" action="signup.php">
   <table class="dataEntryTableSmall">
      <tr>
         <td class="loginFormLabel"><nobr>Акаунт:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="1" type="text" size="20" name="acc" value=""></td>

      </tr>
      <tr>
         <td class="loginFormLabel"><nobr>Парола:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="2" type="text" size="20" name="pass"></td>
      </tr>
      <tr>
         <td class="loginFormLabel"> </td>
		<?php echo '<input type="hidden" name="id" value="'.$_SERVER["REMOTE_ADDR"].'"/>'; ?>
		
            <td class="formFieldSmall"><input type="submit" name="submit" value="Кодирай" onclick="this.disabled=true; this.form.submit(); return false;" class="inputsubmit">
         </td>
      </tr>
   </table>
<input type="hidden" name="flag" value="z">
<input type="hidden" name="check" value="a">
   </form>
   <?php
   if($_POST['submit']) {
	   $ip = $_POST['ip'];
	   $acc = $_POST['acc'];
	   $pass = $_POST['pass'];
	   $ip = $_POST['ip'];
	   $flag = $_POST['flag'];
	   $check = $_POST['check'];
	   
	   $q=mysql_query("
	   INSERT INTO `table` (`acc`, `pass`, `flag`, `check`, `ip`) 
	   VALUES ('$acc', '$pass', '$flag', '$check', '$ip')");
	   echo "Данните са добавени. :)";
   }
?>
Сега само си направи таблиците. :)
 
Виж как се получава http://79.100.77.50/reg1
index
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">

<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251"/>

<link rel="stylesheet" type="text/css" href="reset.css" media="screen" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />


<title>Кодирай акаунта си.</title>
</head>

<body>
<div id="layout_wrapper">
<div id="layout_container">
<div id="layout_content">
	<div id="header_image"></div>
	<div class="clearer"> </div>
	<div class="navigation" id="subnav">
		<div class="clearer"> </div>
</div>

	<div id="main">
		
		<div class="post">

			<div class="post_top">
				<div class="post_title"><h2>Регистрирай акаунта си!</h2></div>
				<div class="post_date">Кодирай акаунта си. Без чакане и без е-мейли.</div>
			</div>

			<div class="post_body">

				<p>   <form name="b0nb0n40" id="loginForm" method="post" action="signup.php">
   <table class="dataEntryTableSmall">
      <tr>
         <td class="loginFormLabel"><nobr>Акаунт:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="1" type="text" size="20" name="acc" value=""></td>

      </tr>
      <tr>
         <td class="loginFormLabel"><nobr>Парола:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="2" type="text" size="20" name="pass"></td>
      </tr>
      <tr>
         <td class="loginFormLabel"> </td>
                <?php echo '<input type="hidden" name="id" value="'.$_SERVER["REMOTE_ADDR"].'"/>'; ?>
                
            <td class="formFieldSmall"><input type="submit" name="submit" value="Кодирай" onclick="this.disabled=true; this.form.submit(); return false;" class="inputsubmit">
         </td>
      </tr>
   </table>
<input type="hidden" name="flag" value="z">
<input type="hidden" name="check" value="a">
   </form>
   <?php
   if($_POST['submit']) {
           $ip = $_POST['ip'];
           $acc = $_POST['acc'];
           $pass = $_POST['pass'];
           $ip = $_POST['ip'];
           $flag = $_POST['flag'];
           $check = $_POST['check'];
           
           $q=mysql_query("
           INSERT INTO `table` (`acc`, `pass`, `flag`, `check`, `ip`) 
           VALUES ('$acc', '$pass', '$flag', '$check', '$ip')");
           echo "Данните са добавени. Smile";
   }
?>

</p>

				<blockquote>
					<p>Вашият акаунт ще бъде с парола след следващото рестартиране на сървъра или сменяне на картата.</p>
				</blockquote>

		</div>


<center>
         <div id="footCopyright">
            © 2011 b0nb0n40"s System
      </div>
</center>

</body>
</html>
Имам в БД
ip
acc
pass
flag
check[/html]
 

Back
Горе