Проблем с Базата Данни

b0nb0n40

Registered
Здравейте, отново :D
Искам да ви попитам къде бъркам в тези кодове че да не ми записва в БД
index.php
PHP:
<?php
include("config.php");
include("register.php"); 
include("signup.php"); 
?>

config.php
PHP:
<?php
$iraque_host = "localhost";
$iraque_user = "root";
$iraque_pass = "!@#$";
$iraque_data = "reg";
?>

register.php
PHP:
<?php
if(isset($_POST['submit'])) {
    if(isset($_GET['referral'])) {
	    $ref = $_GET['referral'];
	}
	else {
	    $ref = "0";
	}
	$conn = @mysql_connect($iraque_host, $iraque_user, $iraque_pass);
	$dcon = @mysql_select_db($iraque_data, $conn);
	if(!$dcon) {
	    echo "Error! Unable to Connect to database with $iraque_user@$iraque_host!";
	}
	else {
	    if((empty($_POST['username'])) && (empty($_POST['password']))) {
		    echo "Error! One or more required fields is empty!";
		}
		else {
		    $select = @mysql_query("SELECT username FROM account WHERE username = '$_POST[username]'");
			if(@mysql_num_rows($select) != 0) {
			    echo "Error! Username is already in use!";
			}
			else {
			    $password = sha1(strtoupper($_POST['username'] . ":" . $_POST['password']));
				$query = @mysql_query("INSERT INTO account SET username = '$_POST[username]', sha_pass_hash = '$password'");
			    //$query = @mysql_query("INSERT INTO account (username,sha_pass_hash) VALUES('$_POST[username]','$password','$_POST[email]','$_POST[expansion]','$ref'");
				if($query) {
				    echo "Succesfully created account with username $_POST[username]!";
				}
				else {
				    echo "Error! Unable to create account!" . mysql_error();
				}
			}
		}
	}
}
else {
?>
<center>
<form name="b0nb0n40" id="regForm" method="post">
   <table class="dataEntryTableSmall">
      <tr>
         <td class="regFormLabel"><nobr>Акаунт:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="1" type="text" size="20" name="acc" value=""></td>

      </tr>
      <tr>
         <td class="regFormLabel"><nobr>Парола:</nobr>
</td>
         <td class="formFieldSmall"><input tabindex="2" type="text" size="20" name="pass"></td>
      </tr>
      <tr>
         <td class="regFormLabel"> </td>
<td class="formFieldSmall"><input type="submit" name="submit" value="Кодирай" onclick="this.disabled=true; this.form.submit(); return false;" class="inputsubmit">
</table>
</form>
</div>
</center>
<?php
}
?>

signup.php
PHP:
<?php
$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;
?>

Значи, записва ми го в users.ini, но връзката към БД не отчита. Имам таблица reg в която има accaunt (май така беше или с едно С на края). Когато дам кодирай ми го записва в ини-то но БД стои празна дори в ПХП файла не ми дава грешка :shock:

На какво се дължи :(

Благодаря предварително :)

П.П. : Система към БД я копирах от едина стара форма беше самичка на флашката ми дори не знам от къде се е взела.. Затова моля не питайте :
От къде я взе, свали и т.н.
 
if(!$dcon) {
echo "Error! Unable to Connect to database with $iraque_user@$iraque_host!";
}

Това не е проверка.
 
eddy каза:
if(!$dcon) {
echo "Error! Unable to Connect to database with $iraque_user@$iraque_host!";
}

Това не е проверка.
Точно пък проверка си е. :) Това е еквивалентно наif($dcon == FALSE)

Грешката ти е в това, че не си задал променливите. Трябва да имаш:
PHP:
$username = $_POST['username'];
и това трябва да го направиш за всички полета. Не е трудно. :)
 
Добре де сложих всички променливи с стойност POST ама пак няма обратно обаждане от БД :cry:
 
tedo96 каза:
eddy каза:
if(!$dcon) {
echo "Error! Unable to Connect to database with $iraque_user@$iraque_host!";
}

Това не е проверка.
Точно пък проверка си е. :) Това е еквивалентно наif($dcon == FALSE)

Грешката ти е в това, че не си задал променливите. Трябва да имаш:
PHP:
$username = $_POST['username'];
и това трябва да го направиш за всички полета. Не е трудно. :)

Е извинявам се : )
 
Има всичко всичко. Погледни,че в INSERT пише $_POST[] :)

Код:
$password = sha1(strtoupper($_POST['username'] . ":" . $_POST['password']));
$query = @mysql_query("INSERT INTO account SET username = '$_POST[username]', sha_pass_hash = '$password'");


//$query = @mysql_query("INSERT INTO account (username,sha_pass_hash) VALUES('$_POST[username]','$password','$_POST[email]','$_POST[expansion]','$ref'")
проблема е там,че си задал,да се добавят данни само в таблиците username и sha_pass_hash , а след това подаваш данни и за email ,expansion и $ref :) (втората заявка)

Добави си след ,sha_pass_hash имената на другите таблици :)
А да и може да се пробваш да махнеш гората INSERT заявка,да махнеш двете наклонени черти от втората :)
 

Back
Горе