Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Problem ze skryptem na dodawanie rekordów do bazy danych
Aerowild
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2008

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


  1. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1--><?
  2.        
  3.        $polaczenie = mysql_connect("xxxx","xxxx",""); 
  4.        if(!$polaczenie) {echo"blad"; exit;}
  5.        $baza=mysql_select_db("xxxx", $polaczenie); 
  6.        if(!$baza) {echo"blad1"; exit;}
  7.        
  8.        
  9.        
  10.        if ($data && $style && $wynik && $kto && $result && $score && $scr1 && $scr2 && $scr3 && $scr4) {
  11.                $dodanie = "INSERT INTO mecze ( mecz_id , data , style , wynik , kto , result , score , scr1 , scr2 , scr3
     , scr4 ) "
    ;
  12.                $dodanie .= "VALUES ('', '$data', '$style', '$wynik', '$kto', '$result', '$score', '$scr1', '$scr2', '$scr3', '$scr4');";
  13.                $wyniki = mysql_query ($dodanie);
  14.            }
  15.        
  16.        
  17.        echo'<form method="post">Dodaj mecz:<input type="hidden" name="co" value="dodaj"><table>
  18.            <tr><td>Data:</td><td><input type="text" name="data"></td></tr>
  19.            <tr><td>Style:</td><td>
  20.            <select size="1" name="style" onFocus="ON(this)" onBlur="OFF(this)" class="form">
  21.                                <option>CTF</option>
  22.                                <option>TDM</option>
  23.                                <option>GPD</option>
  24.                                <option>PLCTF</option>
  25.                                <option>TNL</option>
  26.                                <option>OTHER</option>
  27.            </select></td></tr>
  28.            <tr><td>Wynik</td><td>
  29.            <select size="1" name="wynik" onFocus="ON(this)" onBlur="OFF(this)" class="form">
  30.                                <option>WIN</option>
  31.                                <option>TIE</option>
  32.                                <option>LOST</option>
  33.            </select></td></tr>
  34.            
  35.            <tr><td>Przeciwko:</td><td><input type="text" name="kto">
  36.            
  37.            </td></tr>
  38.            <tr><td>Ogolny wynik</td><td><input type="text" name="result"></td></tr>
  39.            <tr><td>Flagi</td><td><input type="text" name="score"></td></tr>
  40.            <tr><td>Adres URL 1-szego screena:</td><td><input type="text" name="scr1"></td></tr>
  41.            <tr><td>Adres URL 2-giego screena:</td><td><input type="text" name="scr2"></td></tr>
  42.            <tr><td>Adres URL 3-ciego screena:</td><td><input type="text" name="scr3"></td></tr>
  43.            <tr><td>Adres URL 4-ego screena:</td><td><input type="text" name="scr4"></td></tr>
  44.            </table><input type="submit" value="Dodaj"></form>';
  45.           
  46.             mysql_close($polaczenie);
  47.              
  48.        
  49.          ?><!--c2--></div><!--ec2-->


No więc kiedyś zajmowałem się bazami danych, ale było to bardzo dawno i na chwilę obecną nie pamiętam praktycznie nic. Skrypt powyżej działał bo nie raz go używałem (jakieś 2 lata temu). Ostatnio znów okazał się przydatny, ale nie działa. Nie mam pojęcia dlaczego, gdyż nic w nim nie zmieniałem. Prosiłbym o pomoc w miarę możliwości.

Ten post edytował Aerowild 2.03.2008, 16:12:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Xniver
post
Post #2





Grupa: Zarejestrowani
Postów: 108
Pomógł: 26
Dołączył: 29.02.2008

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


Pewnie masz wyłączoną opcję w php.ini "register_globals". Musisz użyć $_GET

Ten post edytował Xniver 1.03.2008, 14:50:08
Go to the top of the page
+Quote Post
goozer
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 7
Dołączył: 29.02.2008

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


$_POST bo form ma method POST.
na przyklad - $data powinno wygladac tak: $_POST['data'].

No a poza wydaje mi sie ze pola wyboru select nie beda dzialac bo dla opcji nie jest przypisywana wartosc. Ale nie jestem pewien.

G
Go to the top of the page
+Quote Post
Aerowild
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2008

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


No więc udało mi sie włączyć opcję register_globals. Ale skrypt wciąż nie działa. Próbowałem również Twojej wersji goozer, ale wciąż nic. Zmieniłem nawet pola wyboru select na normalne pola text, ale to również nie pomogło. Czy ma ktoś jakieś inne pomysły ?
Go to the top of the page
+Quote Post
likedat
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 1.03.2008

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


Co konkretnie nie działa? Może spróbuj wyświetlić mysql_error() po dodaniu rekordu do bazy? Możesz też dodać jakieś echo wewnątrz warunku if ($data && $style, aby sprawdzić, czy on w ogóle przechodzi. I wyłącz register globals, nie warto (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Aerowild
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.03.2008

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


Likedat: Skrypt wygląda tak. Jest on dość stary ( z przed 2 lat) wiem, że wtedy działał, a nic w nim nie zmieniałem. Na serwerze włączone jest register_globals (tak wiem, że nie powinno być). Gdy wpiszę wszystkie dane w formularz i klikne dodaj wszystko jest ok, ale rekord nie jest dodawany do bazy. Wiesz może z jakiego powodu? Czy jest jakiś błąd w kodzie?

  1. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1--><?
  2.    
  3.    $polaczenie = mysql_connect("sql.boo.pl","xxxx","xxxx");
  4.    if(!$polaczenie) {echo"blad"; exit;}
  5.    $baza=mysql_select_db("xxxx", $polaczenie);
  6.    if(!$baza) {echo"blad1"; exit;}
  7.    
  8.    
  9.    
  10.    if ($type && $clan && $date && $lineup && $result && $wtl) {
  11.            $dodanie = "INSERT INTO clanwars ( id , clan , type , date , lineup , result , wtl ) ";
  12.            $dodanie .= "VALUES ('', '$type', '$clan', '$date', '$lineup', '$tryb', '$result', '$wtl');";
  13.            $wyniki = mysql_query ($dodanie);
  14.        }
  15.    
  16.    
  17.    echo'<form method="post" target="_self"><font size="1" color="black" face="Arial">Dodaj mecz:</font><input type="hidden" name="co" value="dodaj"><table>
  18.            <tr><td class="text">Type:</td><td><input type="text" name="type"></td></tr>
  19.            <tr><td class="text">Clan:</td><td><input type="text" name="clan"></td></tr>
  20.            <tr><td class="text">Date:</td><td><input type="text" name="date"></td></tr>
  21.            <tr><td class="text">Lineup:</td><td><input type="text" name="lineup"></td></tr>
  22.            <tr><td class="text">Result:</td><td><input type="text" name="result"></td></tr>
  23.            <tr><td class="text">W/T/L:</td><td><input type="text" name="wtl"></td></tr>
  24.        </table><input type="submit" value="Dodaj"></form>';
  25.    
  26.         mysql_close($polaczenie);
  27.    
  28.    
  29.      ?><!--c2--></div><!--ec2-->


Ten post edytował Aerowild 2.03.2008, 16:13:11
Go to the top of the page
+Quote Post
Sabistik
post
Post #7


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Proszę o poprawę tematu na zgodny z regulaminem działu przedszkole inaczej zostanie zamknięty. To samo dotyczy bbcode.
Go to the top of the page
+Quote Post
marcio
post
Post #8





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?
  2. //lacz sie tak
  3. if($polaczenie = mysql_connect("sql.boo.pl","xxxx","xxxx")) {
  4.  
  5. //najpier form a potem sprawdzenie chyba logiczne
  6.  
  7. echo'<form method="post" action="'.$_SERVER['PHP_SELF'].'"><font size="1" color="black" face="Arial">Dodaj mecz:</font><input type="hidden" name="co" value="dodaj"><table>
  8.  <tr><td class="text">Type:</td><td><input type="text" name="type"></td></tr>
  9.  <tr><td class="text">Clan:</td><td><input type="text" name="clan"></td></tr>
  10.  <tr><td class="text">Date:</td><td><input type="text" name="date"></td></tr>
  11.  <tr><td class="text">Lineup:</td><td><input type="text" name="lineup"></td></tr>
  12.  <tr><td class="text">Result:</td><td><input type="text" name="result"></td></tr>
  13.  <tr><td class="text">W/T/L:</td><td><input type="text" name="wtl"></td></tr>
  14.  </table><input type="submit" value="Dodaj"></form>';
  15.  
  16. if (!empty($_POST['type']) && !empty($_POST['clan']) && !empty($_POST['date']) && !empty($_POST['lineup']) && !empty($_POST['result']) && !empty($_POST['wtl'])) {
  17.  
  18. //P.S tutaj przypisuje dla kazdej zmiennej z forma cos takiego
  19. $type = $_POST['type'];
  20. //I tak dla kazdej
  21.  
  22. $dodanie = ("INSERT INTO clanwars (clan,type,date,lineup,result,wtl) values('$clan', '$type', '$date', '$lineup', '$result', '$wtl')");
  23.  
  24. if(mysql_query($dodanie, $polaczenie) {
  25. echo('Dodano');
  26.  mysql_close($polaczenie);
  27. }
  28.  
  29. else echo('Blad podczas dodawania');
  30.  
  31.  }
  32. }
  33.  
  34. ?>

Pisane na szybko ale mniej wiecej cos takiego

P.S mailes zle zapytanie i jedna tabele za duzo a o 1 zmienna za malo i miales je zle rozstawione

Ten post edytował marcio 2.03.2008, 16:11:14
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 01:14