Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql]rejestrowanie userów
Forum PHP.pl > Forum > Przedszkole
riquelme
Poniższy kod nie zwraca żadnych błędów,po kliknięciu Rejestruj nie dodaje do bazy danych danych.Dlaczego i co należy zmienić??

<?
function polacz()
{
$polaczenie = mysql_connect("localhost", "w", "e");
mysql_select_db("w", $polaczenie) or die ("Nie mozna sie połączyć");
}
function html_header()
{
global $new_win_width, $new_win_height;
?>
<HTML>
<HEAD>

<TITLE>Rejestracja</TITLE>
</HEAD>
<BODY>
<?php
}

function html_footer()
{
?>
</BODY>
</HTML>
<?php
}


function in_use($login)
{
global $users;

$query = "SELECT * FROM $users WHERE login = 'login'";
$result = mysql_query($query);
if(!mysql_num_rows($result)) return 0;
else return 1;
}


function register_form()
{
global $login, $imie,$nazwisko,$email;
global $PHP_SELF;
?>
<CENTER><H3>Utworz swoje konto</H3></CENTER>
<FORM METHOD="post" ACTION="<?php echo $PHP_SELF ?>">
<INPUT TYPE="hidden" NAME="action" VALUE="register">
<DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
<TR>
<TH WIDTH="30%" NOWRAP>Wybrany login</TH>
<TD WIDTH="70%"><INPUT TYPE="text" NAME="login" VALUE="<?php echo $login ?>" SIZE="8" MAXLENGHT="8"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Wybrane hasło</TH>
<TD WIDTH="70%"><INPUT TYPE="password" NAME="haslo" SIZE="15"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Powtórz hasło</TH>
<TD WIDTH="70%"><INPUT TYPE="password" NAME="haslo2" SIZE="15"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Imie </TH>
<TD WIDTH="70%"><INPUT TYPE="text" NAME="imie" VALUE="<?php echo $imie ?>" SIZE="20"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Nazwisko</TH>
<TD WIDTH="70%"><INPUT TYPE="text" NAME="nazwisko" VALUE="<?php echo $nazwisko ?>" SIZE="20"></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Email</TH>
<TD WIDTH="70%"><INPUT TYPE="text" NAME="email" VALUE="<?php echo $email ?>" SIZE="20"></TD>
</TR>
<TR>
<TH WIDTH="30%" COLSPAN="2" NOWRAP>
<INPUT TYPE="submit" VALUE="Rejestruj">
<INPUT TYPE="reset" VALUE="Wyczyść">
</TH>
</TR>
</TABLE>
</CENTER></DIV>
</FORM>
<?php
}


function create_account()
{
global $login, $imie, $nazwisko, $email, $haslo, $haslo2;

$polaczenie = mysql_connect("localhost", "w", "e");

$query = "INSERT INTO users VALUES(NULL, '$login', '$haslo', '$haslo2', '$imie', '$nazwisko', '$email' )";

$result = mysql_query($query);
$usernumber = mysql_insert_id($polaczenie);


html_header();
?>
<CENTER><H3>
<?php echo $imie ?>, dziękujemy za zarejestrowanie się
</H3></CENTER>

<DIV ALIGN="center"><CENTER><TABLE BORDER="1" WIDTH="90%">
<TR>
<TH WIDTH="30%" NOWRAP>Numer użytkonika</TH>
<TD WIDTH="70%"><?php echo $usernumber ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Wybrany login</TH>
<TD WIDTH="70%"><?php echo $login ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Wybrane hasło</TH>
<TD WIDTH="70%"><?php echo $haslo ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Imię </TH>
<TD WIDTH="70%"><?php echo $imie ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Nazwisko </TH>
<TD WIDTH="70%"><?php echo $nazwisko ?></TD>
</TR>
<TR>
<TH WIDTH="30%" NOWRAP>Email </TH>
<TD WIDTH="70%"><?php echo $email ?></TD>
</TR>
</TABLE></CENTER></DIV>
<?php
html_footer();
}
switch($action)
{
case "register":
create_account();
break;
default:
html_header();
register_form();
html_footer();
break;
}
?>
TomASS
A czytałeś może to? Szczególnie mnię ciekawi zachowanie skrytpu jak się skorzysta z punktu 2.
riquelme
Dodałem w 2 miejscach po zapytaniu echo mysql_error(); ,jednak nadal nic nie pokazuje,ani błędów ani nie dopisuje do bazy
destroyerr
no dziwne że nie wywala błedów, przejrzałem na szybko i myślę że błędem jest brak wyboru bazy danych, jest tylko połączenie z serwerem i zaraz po tym zapytanie do bazy
Cysiaczek
  1. <?php
  2. function polacz()
  3. {
  4. $polaczenie = mysql_connect("localhost", "w", "e");
  5. mysql_select_db("w", $polaczenie) or die ("Nie mozna sie połączyć");
  6. }
  7. ?>


No widzisz. A może tak?
  1. <?php
  2. function polacz(){
  3. mysql_connect("localhost", "user", "pass") or die ("TUTAJ nie można się połączyć");
  4. mysql_select_db("db_name") or die ("A tutaj nie można znaleźć bazy danych");
  5. }
  6. ?>

Po drugie:
Deklarujesz funkcję, ale jej NIE wywołujesz (albo jestem ślepy).

Po trzecie: Kod który zaprezentowałeś jest pozbawiony logiki. Po co deklarować funkcję polacz(), skoro jej ni używasz, a o NOWA wywołujesz funkcje mysql_XXX?

Proponuję poczytać manual. NIe dlatego, ż jestem wredny, ale dlatego, że chyba nie do końca wiesz, jak używać funkcji i poco one są (każdy kiedyś nie wiedział).

Po czwarte: używaj BBcode (tak to się nazywa?)
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.