formularz , mysql , php , xhtml

Forum przeznaczone dla MySql - bazy danych.
alan-it
Początkujący
Początkujący
Posty: 10
Dołączył(a): czwartek, 15 października 2009, 15:25

formularz , mysql , php , xhtml

Post przez alan-it »

Witam mam problem z dodaniem uzytkownika o nazwie klient do bazy danych mysql do bazy klienci tabela klienci.
Najsmieszniejsze jest to ze nie wyskakuje zaden blad a jednak uzytkownik dodany z formularza sie nie dodaje w bazie danych :(

kod html wyglada tak

Code: Zaznacz cały


  <div id="prawy_bloczek" style="float: left; padding-right: 0px;  width: 650px; height: 790px; ">
             <form action="rejestracja.php" method="post" enctype="multipart/form-data">
			 <fieldset><legend align="center" style="color: white">  Zarejestruj sie</br></legend>
			 </br>
			 <div>
             	Imie:         <input name="imie" type="text"  size="23" maxlength="20"/></br>
				Nazwisko:     <input name="nazwisko" type="text"  size="43" maxlength="40"/></br>
				Login:        <input name="login" type="text"  size="23" maxlength="20"/></br>
				Haslo:        <input name="haslo" type="password"  size="12" maxlength="10"/></br>
				<label for="mail">e-mail:</label>
				              <input name="mail" type="text"  size="53" maxlength="50" id="mail"/>
							  
										  <script type="text/javascript">
											document.getElementById('mail').onchange = function() {
											   var WzorMaila = /^[0-9a-z_.-]+@[0-9a-z.-]+\.[a-z]{2,3}$/i
											   if (!WzorMaila.test(this.value)) {
											    alert("Błędny mail!");
											   } else {
											    alert('Twój mail to: ' + this.value);
											}
											}
											</script> 

							  
							  
							  
							  </br>
				gadu-gadu:    <input name="gadu" type="text"  size="13" maxlength="10"/></br>
				Miejscowosc:  <input name="miejscowosc" type="text" size="33" maxlength="30"/></br>
				Wojewodztwo:   <select name="wojewodztwo"> 
					<option value="dolnoslaskie">dolnoslaskie</option>
					<option value="slaskie">slaskie</option>
					<option value="malopolskie">malopolskie</option>
					<option value="wielkopolskie">wielkopolskie</option>
					<option value="kujawsko-pomorskie">kujawsko-pomorskie</option>
					<option value="lubelskie">lubelskie</option>
					<option value="lubuskie">lubuskie</option>
					<option value="lodzkie">lodzkie</option>
					<option value="mazowieckie">mazowieckie</option>
					<option value="opolskie">opolskie</option>
					<option value="podkarpackie">podkarpackie</option>
					<option value="podlaskie">podlaskie</option>
					<option value="pomorskie">pomorskie</option>
					<option value="swietokrzyskie">swietokrzyskie</option>
					<option value="warminsko-mazurskie">warminsko-mazurskie</option>
					<option value="zachodniopomorskie">zachodniopomorskie</option>
					</select>
				</br></br></br>
				
				 
<input type='checkbox' name='one'> Wyrazam zgode na przesylanie informacji handlowych firmy Alan-IT <br/> 
<input type='checkbox' name='two'> Akceptuje regulamin
</br>
				
				<button type="submit" name="wyslij">
  				<img src="duzy-czerwony-przycisk.png" alt="Zapisz" />
 				</button>

                <Button type="reset" value="Czysc" />
				<img src="duzy-czerwony-przycisk.png" alt="Reset" />
 				</button>
				
             </div></fieldset>
            </form>
			             </div>
			
			
</div>

kod php wyglada tak

Code: Zaznacz cały

     if ((isset($_POST['imie']) && isset($_POST['nazwisko']) && isset($_POST['login']) && isset($_POST['haslo']) && isset($_POST['mail']) && isset($_POST['gadu']) && isset($_POST['miejscowosc'])))
   {
     	$_POST['imie'] = addslashes(strip_tags($_POST['imie']));
        $_POST['nazwisko'] = addslashes(strip_tags($_POST['nazwisko']));
        $_POST['login'] = addslashes(strip_tags($_POST['login']));
        $_POST['haslo'] = addslashes(strip_tags($_POST['haslo']));
        $_POST['mail'] = addslashes(strip_tags($_POST['mail']));
        $_POST['gadu'] = addslashes(strip_tags($_POST['gadu']));
        $_POST['miejscowosc'] = addslashes(strip_tags($_POST['miejscowosc']));
        $_POST['wojewodztwo'] = addslashes(strip_tags($_POST['wojewodztwo']));

   	if ((!empty($_POST['imie']) && !empty($_POST['nazwisko']) && !empty($_POST['login']) && !empty($_POST['haslo']) && !empty($_POST['mail']) && !empty($_POST['gadu']) && !empty($_POST['miejscowosc'])))
   	{
   		echo "</br>mozesz sie zarejestrowac</br>";

                $polacz=@mysql_connect('localhost','root') or die ("nie udalo mi sie polaczyc z serwerem"); //laczenie z serwerem

                @mysql_select_db('klienci') or die ("nie udalo sie polaczyc z baza danych klienci");    //laczenie z bd "klienci"
                

                
        $imie        = trim($_POST['imie']);
        $nazwisko    = trim($_POST['nazwisko']);
        $login       = trim($_POST['login'])  ;
        $haslo       = trim($_POST['haslo']) ;
        $mail        = trim($_POST['mail']);
        $gadu        = trim($_POST['gadu'] ) ;
        $miejscowosc = trim($_POST['miejscowosc']);
        $wojewodztwo = trim($_POST['wojewodztwo']);

     /**********************************REJESTRACJA UZYTKOWNIKA z formularza********************************************************/
               /*
                $wstaw = "INSERT INTO klienci set imie='$imie',nazwisko='$nazwisko',login='$login',haslo='$haslo',mail='$mail',gadu='$gadu',miejscowosc='$miejscowosc',wojewodztwo='$wojewodztwo' ";

                mysql_query($wstaw) or die ("nie udalo mi sie zarejestrowac uzytkownika");
                */
                mysql_query("
                           INSERT INTO `klienci`.`klienci` ('imie',
                                                            'nazwisko',
                                                            'login',
                                                            'haslo',
                                                            'mail',
                                                            'gadu',
                                                            'miejscowosc'
                                                            )
                           VALUES
                                                (
                                                            '$imie',
                                                            '$nazwisko',
                                                            '$login',
                                                            '$haslo',
                                                            '$mail',
                                                            '$gadu',
                                                            '$miejscowosc'
                                                )
                           ") or die ("nic nie dodano");



Pozdrawiam i prosze o pomoc :)
Tomek
Alan IT

www.alan-it.pl
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: formularz , mysql , php , xhtml

Post przez Morfidon »

Witam,

Prawidłowe zapytanie do wpisywania do bazy danych powinno wyglądać tak:

Code: Zaznacz cały

     mysql_query("
                           INSERT INTO klienci (imie,
                                                            nazwisko,
                                                            login,
                                                            haslo,
                                                            mail,
                                                            gadu,
                                                            miejscowosc
                                                            )
                           VALUES
                                                (
                                                            '$imie',
                                                            '$nazwisko',
                                                            '$login',
                                                            '$haslo',
                                                            '$mail',
                                                            '$gadu',
                                                            '$miejscowosc'
                                                )
                           ") or die ("nic nie dodano");

Po INSTERT INTO klienci nie powinno się używać apostrofów.

Pozdrawiam,

Arkadiusz
alan-it
Początkujący
Początkujący
Posty: 10
Dołączył(a): czwartek, 15 października 2009, 15:25

Re: formularz , mysql , php , xhtml

Post przez alan-it »

Niestety to nie pomaga :(
juz przechodze zalamanie....
2 dni nad tym siedze :(
Tomek
Alan IT

www.alan-it.pl
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: formularz , mysql , php , xhtml

Post przez Morfidon »

Przetestowałem z tym co poprawiłem - u mnie wszystko działa. A może pracujesz non stop na rejestracja.php ? Pamiętaj, że wysyłasz tam przy pomocy zmiennej tablicowej $_POST, wartości z poprzedniego pliku, także najpierw musisz uruchomić plik z rozszerzeniem .html lub .htm
alan-it
Początkujący
Początkujący
Posty: 10
Dołączył(a): czwartek, 15 października 2009, 15:25

Re: formularz , mysql , php , xhtml

Post przez alan-it »

Czyli powinienem zrestartowac serwer? Dziekuje bardzo za pomoc :)
Tomek
Alan IT

www.alan-it.pl
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: formularz , mysql , php , xhtml

Post przez Morfidon »

Nie musisz restartować serwera, wystarczy, że wyślesz nowe wartości dla tablicy asocjacyjnej $_POST z pliku o rozszerzeniu .html lub .htm
alan-it
Początkujący
Początkujący
Posty: 10
Dołączył(a): czwartek, 15 października 2009, 15:25

Re: formularz , mysql , php , xhtml

Post przez alan-it »

I dodaje do bazy danych u Ciebie??
Tomek
Alan IT

www.alan-it.pl
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: formularz , mysql , php , xhtml

Post przez Morfidon »

Tak u mnie wszystko działa w porządku po zmianie, którą przedstawiłem powyżej.

Jeżeli dalej Ci nie działa spróbuj więcej zrobić linii od debugowania, aż wykryjesz błąd. Może źle tabelka zrobiona, ID nie ustawione jako auto_increment i jako klucz etc.

PS kod który skopiowałem od Ciebie nie miał na końcu dwóch znaków "}", ale to pewnie omyłka przy kopiowaniu M.
alan-it
Początkujący
Początkujący
Posty: 10
Dołączył(a): czwartek, 15 października 2009, 15:25

Re: formularz , mysql , php , xhtml

Post przez alan-it »

Dzieki bardzo za pomoc, juz dziala :))))))

klucz wykasowalem i dalem jeszcze raz i juz jest ok :)

Mam jeszcze problem z wojewodztwami bo tam jest pole wyboru (select/option)

Niestety w bd mi nie dodaje tego co wybiore.

Ale baaardzo dzieki za pomoc

Pozdrawiam
Tomek
Tomek
Alan IT

www.alan-it.pl
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: formularz , mysql , php , xhtml

Post przez Morfidon »

Hmm, tak samo się odczytuje wartość z rozwijalnej listy "select", z tego co widzę analizując Twój kod to omyłkowo chyba zapomniałeś dodać w drugim "insercie" województwo.

Notabene pisząc wszelakiego rodzaju programy trzeba się wczuć w komputer i zniżyć się do jego poziomu, niestety, czy też "stety" na razie maszyny nie mają super sztucznej inteligencji i nie domyślają się naszych zamiarów ;) Także informatyczne panaceum na niepopełnianie błędów to czytanie linijka po linijce, co często jest niestety męczące i czasochłonne ;)

Pozdrawiam,

Arkadiusz
Post Reply