Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ajax prototype + mysql
mercii
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 1.05.2006

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


Witam
Od kilku dni bawię się Ajaxem a dokładniej frameworkiem Protype.
Napisałem już kilka skryptów jednak z jednym mam pewien kłopot.
Jest to dodawanie danych do bazy Mysql.
Wszystko chodzi ładnie tzn wpisuje pozycje do formularza dane się dodają do bazy jednak zawsze pokazuje błąd że użytkownik nie został dodany.
Dziwną sprawą jest to że jeżeli nie wypełnię pierwszego pola formularza (imie) to wszystko zadziała jak powinno.
Oto fragmenty kodu:
plik panel.html
CODE
function dodaj3()
{
Dialog.confirm($('dodaj').innerHTML, { className:"alphacube", width:400, okLabel: "dodaj", cancelLabel: "cancel", onOk:function(win)
{
new Ajax.Request('dodaj.php',
{

parameters: { nazwisko: $F('nazwisko'), imie: $F('imie'), ulica: $F('ulica'), numerdomu: $F('nr_Dom'),
numerlokal: $F('nr_Lokal'), telefon: $F('nr_Telefon'), pesel: $F('nrpesel'), login: $F('login'), haslo: $F('haslo') },
onSuccess: function(transport)
{
var notice = $('login_error_msg');

if (transport.responseText == "OK")
{

window.location = "http://localhost/panel.html";

return false;
}
else
{
notice.innerHTML='Nie udało się dodać nowego klienta';
setTimeout('Windows.focusedWindow.close()', 2000);
}

notice.show();

Windows.focusedWindow.updateHeight();
new Effect.Shake(Windows.focusedWindow.getId()); return false;
},
onFailure: function()
{
alert("Bl±d w poł±czeniu z serwerem!");
}
});
}});
}
</script>
<div id="dodaj" style="display:none"> <p><span id='login_error_msg' class="login_error" style="display:none"> </span></p>
<div style="clear:both"></div>
<p><span class="login_label">Imie</span> <span class="login_input"><input type="text" id="imie"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Nazwisko</span> <span class="login_input"><input type="text" id="nazwisko"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Ulica</span> <span class="login_input"><input type="text" id="ulica"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Numer domu</span> <span class="login_input"><input type="text" id="nr_Dom"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Numer mieszkania</span> <span class="login_input"><input type="text" id="nr_Lokal"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Telefon</span> <span class="login_input"><input type="text" id="nr_Telefon"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Pesel</span> <span class="login_input"><input type="text" id="nrpesel"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Login</span> <span class="login_input"><input type="text" id="login"/></span></p>
<div style="clear:both"></div>
<p><span class="login_label">Hasło</span> <span class="login_input"><input type="text" id="haslo"/></span></p>
<div style="clear:both"></div>

plik dodaj.php
CODE
<?php
$imie = $_POST["imie"];
$nazwisko = $_POST["nazwisko"];
$ulica = $_POST["ulica"];
$nr_dom = $_POST["numerdomu"];
$nr_lokal = $_POST["numerlokal"];
$telefon = $_POST["telefon"];
$pesel = $_POST["pesel"];
$login = $_POST["login"];
$haslo = $_POST["haslo"];
echo $imie;
$db_lnk = mysql_connect("localhost","root","krasnal");
mysql_select_db('stacja', $db_lnk);
$query = "INSERT INTO klient VALUES('','$imie','$nazwisko','$ulica','$nr_dom','$nr_lokal','$telefon','$pesel','1','$login','$haslo')";
if(!$rezultat = mysql_query($query, $db_lnk)){
@mysql_close();
echo "false";
}
else
{
@mysql_close();
echo "OK";
}
?>

Bardzo proszę o pomoc ponieważ jestem laikiem jeżeli chodzi o ajax a ten problem zatrzymał mnie w dalszym poznawaniu tego systemu.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


a zrób alert na
Kod
transport.responseText


czy zwraca false.

A tak ogólnie to obstawiam zapytanie mysql, dodaj jeszcze or die, i spradź czy przypadkiem błędu nie ma, ale skoro twierdzisz żen iby wiersze w bazie się dodają ... .

Ten post edytował melkorm 24.03.2009, 16:28:26


--------------------
Go to the top of the page
+Quote Post
mercii
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 1.05.2006

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


Problem rozwiązany :
CODE
$haslo = $_POST["haslo"];
echo $imie;

tego echo nie powinno tam być ponieważ skryp po wykonaniu zwracał np TomekOK a bez imienia było juz OK.smile.gifsmile.gif
A znasz może Kolego jakąś dobra stronę z przykładem jak pobierać AJAXEM dane z bazy i wyświetlać je w tabelach.
Z góry dzięki
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(mercii @ 24.03.2009, 17:03:16 ) *
Problem rozwiązany :
CODE
$haslo = $_POST["haslo"];
echo $imie;

tego echo nie powinno tam być ponieważ skryp po wykonaniu zwracał np TomekOK a bez imienia było juz OK. smile.gif smile.gif
A znasz może Kolego jakąś dobra stronę z przykładem jak pobierać AJAXEM dane z bazy i wyświetlać je w tabelach.
Z góry dzięki


Ajax może wywołać np. skrypt php w tle ale sam raczej nie pobierze informacji z bazy.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
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 Aktualny czas: 20.08.2025 - 12:06