Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]tworzenie uzytkownika
-KALIS-
post 9.08.2008, 21:17:02
Post #1





Goście







Witam,

Jestem początkujący w php i potrzebuje pilnie rozwiązać problem.
Ten skrypt powinien dodawać do bazy danych ( ustawiona w db.php) tabeli login dane z formularza - utworzyć nowy profil użytkownika ale nie dodaje mimo że błędu nie pokazuje
Prosze o pomoc

<?php
session_start();
require("db.php"); - konfiguracja serwera

if($_POST['create'])
{
$query = "INSERT INTO login VALUES(NULL, '1', '$login',password('$pass'))";
mysql_query(query);
}
?>



<form action="<?php echo $SCRIPT_NAME; ?>" method="POST">
<table>
<tr>
<td> Podaj login </td>
<td><input type="textbox" name="login">
</tr>

<tr>
<td> Podaj hasło </td>
<td><input type="password" name="pass">
</tr>

<tr>
<td></td>
<td><input type="submit" name="create" value="Załóż konto">
</tr>

</table>
</form>
Go to the top of the page
+Quote Post
Pitter
post 9.08.2008, 21:26:17
Post #2





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

Ostrzeżenie: (0%)
-----


Jak na pierwszy rzut oka nie widzę błędu. Jednak najpierw możesz sprawdzić czy wykonywanie skryptu dociera do zapytania mysql. Jak? Wstaw echo 'ok'; w bloku sprawdzenia if($_POST['create']) . Aha i jeszcze napisz do jakiego pola dodajesz wartość null.

To moja wersja skryptu:

Kod
<?php
session_start();
include('db.php');

if($_POST['cmd']=='')
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?cmd=add" method="POST">
<input type="text" name="login">
<input type="password" name="pass">
<input type="submit" value="dodaj">';
}

if($_POST['cmd']=='add')
{
$login = $_POST['login'];
$pass = $_POST['pass'];

$query = "INSERT INTO login VALUES(NULL,'1','$login',password($pass))";
$result = mysql_query($query);
}
?>


Ten post edytował Pitter 9.08.2008, 21:35:24
Go to the top of the page
+Quote Post
-Gość-
post 9.08.2008, 21:31:48
Post #3





Goście







if($_POST['create'])
{
$query = "INSERT INTO login VALUES(NULL, '', '$login', '$pass')";
$wynik=mysql_query(query);
echo 'ok';
}
?>

po naciśnięciu załóż ok pojawią się.

NULL to pole klucza podstawowego id gdzie jest auto_increment
Go to the top of the page
+Quote Post
-KALIS-
post 9.08.2008, 21:56:25
Post #4





Goście







Pitter użyłem Twojego skryptu i dalej nie dopisuje mi do bazy danych.
Co może być tego przyczyną?
Jak dopiszę do if($_POST['create'])
echo $login;
to nie wyskakuje to co wpisałem...
Go to the top of the page
+Quote Post
shazarre
post 9.08.2008, 22:09:40
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 9.08.2008

Ostrzeżenie: (0%)
-----


Nie może, ponieważ zmienna 'create', którą chcesz wywołać w funkcji warunkowej, nie jest w ogóle przesłana! Jeśli koniecznie chcesz tak to rozwiązać, dodaj do formularza ukryte pole:

Kod
<input type="hidden" name="create" value="cokolwiek">


Wtedy powinno działać. A lepiej w ogóle zamiast
Kod
if($_POST['create'])
napisz po prostu
Kod
if($_POST)
Go to the top of the page
+Quote Post
-kalis-
post 9.08.2008, 22:18:12
Post #6





Goście







dzieki teraz działa exclamation.gif!
Go to the top of the page
+Quote Post
-kalis-
post 9.08.2008, 22:20:42
Post #7





Goście







Działało raz a gdy chce dodać teraz to juz nie działa ...
Go to the top of the page
+Quote Post
Pitter
post 10.08.2008, 12:51:18
Post #8





Grupa: Zarejestrowani
Postów: 75
Pomógł: 8
Dołączył: 9.08.2008

Ostrzeżenie: (0%)
-----


Kod
$query = "INSERT INTO login VALUES(NULL, 'co ma być przesłane w tym polu', '$login', '$pass')";


Jeżeli Null to id auto_increment to nigdy nie zadziała. Null oznacza że ma pozostać puste a id auto_increment nigdy nie jest puste. Nie wpisuj null tylko dwa apostrofy ('i tu ma być id ale nic nie wpisuj').
Jak to nie zadziała to sprawdź w połączeniu się z mysql, może tam zrobiłeś błąd.

zapytanie:
Kod
$query = "INSERT INTO login VALUES('', '', '$login', '$pass')";
$wynik=mysql_query(query);
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:53