Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z formularzem w nowszej wersji mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
pkania128
witam, ostatnio zmienili mi wersje mysql z 4 na 5 (PHP4 na PHP5) i formularze ktore do tej pory dzialaly przesaly sie zapisywac do bazy danych. czy mozna na szybko cos poprawic w kodzie mojego formularza lub ustawieniach w phpmy admin by wszystko wrocilo do "normy"
z gory dziekuje za odpowiedz
pk
maly_swd
mozna poprawic skrypt.

Ale musisz podac wiecej informacji
blooregard
A przypadkiem nie miałeś register_globals włączonych na PHP4?
Bo jak miałeś i wszystkie zmienne przesyłane POST i GET odczytwywałeś "globalnie", to czeka Cię dużo pracy.
pkania128
pewnie mialem, nie jestem zaawansowany w tym, potrafie cos zrobic jak mi ktos wytlumaczy jak lub co zepsulem,
czyli prosto nie bedzie?

zamieszcze wiec kod moze jest to jakis prosty blad, lub brak jakiegos przecinka, dodam ze w wersji php 4 dziala bez problemu

formularz zbiera dane wpisywane przez uzytkownika i wysyla je do bazy danych, jednoczesnie uzytkownik dostaje maila z dalsza informacja i na stronie formularza pojawia sie info ze trzeba sprawdzic swoja poczte

  1. <?php
  2. include ("./haslo.php");
  3.  
  4.  
  5. $domena = "www.aaa.pl";
  6. $t_em = "powiadomienia@aaa.pl";
  7. $path = $_SERVER['PHP_SELF'];
  8.  
  9.  
  10.  
  11. if(($_GET['cmd'] == 'add') AND ($act == 't')){
  12.  
  13.     if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$email)){
  14.          
  15.          $blad++;
  16.          
  17.          echo "<span class='style7'><div align='justify'><font color='red'>Bledny adres email!</font></div></span><br />";
  18.  
  19. }
  20.  
  21. if($blad == 0){
  22.      
  23.     $kod = uniqid(rand());
  24.  
  25.     $email = $_POST['email'];
  26.     $imie_nazwisko = $_POST['imie_nazwisko'];
  27.     $data_zgloszenia=date("d m Y H:i:s");
  28.     $data_urodzenia= ("$select2 $select3 $rok");
  29.     $dojazd = $_POST['select5'];
  30.    $ilosc_osob = $_POST['ilosc_osob'];
  31.     $telefon = $_POST['telefon'];
  32.     $uwagi = $_POST['uwagi'];
  33.     $adres= ("$ulica $kod_miasta $miasto");
  34.    
  35.  
  36.     $polacz = mysql_connect($host, $user, $pass);
  37.      
  38.     if($polacz == true) $select = mysql_select_db($baza);
  39.  
  40.     else echo "Blad polaczenia!";
  41.  
  42.     if($select == true) $pytanie = mysql_query("INSERT INTO zgloszenia (email, imie_nazwisko, data_zgloszenia, data_urodzenia, dojazd, termin, ilosc_osob, kod, status) VALUES ('$email', '$imie_nazwisko', '$data_zgloszenia', '$data_urodzenia', '$dojazd', '$wyjazd', '$ilosc_osob', '$kod', '0')");
  43.      
  44.     else echo "Blad wyboru Bazy!";
  45.  
  46. mysql_close($polacz);
  47.  
  48.     if($pytanie){
  49.  
  50.          $q = mail($email, "Potwierdzenie zgloszenia ze strony www.aaa.pl", "Dziekujemy za wypelnienie zgloszenia Aby dokonczyc i potwierdzic dopisanie Twojch danych do listy, kliknij w ponizszy link:\nhttp://$domena/$path?cmd=v&kod=$kod
  51.  
  52. Klikajac w powyzszy link wyrazam zgode na przetwarzanie moich danych osobowych ", "From: <$t_em>");
  53.          
  54.          if($q == true){
  55.  
  56.             echo "<span class='style7'><div align='justify'><font color='red'><b>Aby dokonczyc proces zgloszenia, odbierz poczte z Twojego konta i kliknij w zawarty tam link!</font></b></div></span>";
  57.                
  58.               } else echo "Rejestracja, nie moze zostac dokonczona!";
  59.              
  60.             }
  61.        
  62.         }
  63.    
  64.     }
  65.  
  66.  
  67.  
  68. if($_GET['cmd'] == 'v'){
  69.  
  70.     $polacz = mysql_connect($host, $user, $pass);
  71.  
  72.     if($polacz == true) $select = mysql_select_db($baza); else echo "Blad polaczenia!";
  73.  
  74.     if($select == true) $pytanie = mysql_query("UPDATE zgloszenia SET status='1' WHERE kod='".$_GET['kod']."'");
  75.      
  76.     else echo "Blad wyboru Bazy!";
  77.  
  78.     mysql_close($polacz);
  79.      
  80.     if($pytanie == true) echo "<span class='style7'><div align='justify'><font color='red'>Potwierdzenie zgloszenia, przebieglo pomyslnie! <br>Wkrótce otrzymaja Panstwo dalsze informacje.</font></div></span>";
  81.  
  82.     else echo "<span class='style7'><div align='justify'><font color='red'>Potwierdzenie, NIE zostalo wykonane!</font></div></span>";
  83.  
  84. }
  85. echo "<form action='$path?cmd=add' method='POST'>
  86.  
  87. <table width='100%'  border='1' cellpadding='0' cellspacing='1' bordercolor='#FFFFFF'>
  88. <tr>
  89.              <td bordercolor='#CCCCCC' width='30%'></td>
  90.              <td bordercolor='#CCCCCC' width='70%'>
  91.        <span class='style7'>Data zgloszenia:  "; echo date("d m Y H:i"),"</span>      
  92.     </td>
  93.            </tr>            
  94. <tr>
  95.              <td bordercolor='#CCCCCC' width='30%'><span class='style7'><b>Imie i nazwisko:</b></span></td>
  96.              <td bordercolor='#CCCCCC' width='70%'><input name='imie_nazwisko' type='text' class='style7' id='imie_nazwisko'>
  97.              
  98.              
  99.     </td>
  100.            </tr>
  101.            <tr>
  102.              <td bordercolor='#CCCCCC'><span class='style7'><b>Data Urodzenia:</b></span></td>
  103.              <td bordercolor='#CCCCCC'><select name='select2' class='style7' id='select2'>
  104.                                    <option> 01 </option>
  105.                    <option> 02 </option>
  106.                    <option> 03 </option>
  107.                    <option> 04 </option>
  108.                    <option> 05 </option>
  109.                    <option> 06 </option>
  110.                    <option> 07 </option>
  111.                    <option> 08 </option>
  112.                    <option> 09 </option>
  113.                    <option> 10 </option>
  114.                    <option> 11 </option>
  115.                    <option> 12 </option>
  116.                    <option> 13 </option>
  117.                    <option> 14 </option>
  118.                    <option> 15 </option>
  119.                    <option> 16 </option>
  120.                    <option> 17 </option>
  121.                    <option> 18 </option>
  122.                    <option> 19 </option>
  123.                    <option> 20 </option>
  124.                    <option> 21 </option>
  125.                    <option> 22 </option>
  126.                    <option> 23 </option>
  127.                    <option> 24 </option>
  128.                    <option> 25 </option>
  129.                    <option> 26 </option>
  130.                    <option> 27 </option>
  131.                    <option> 28 </option>
  132.                    <option> 29 </option>
  133.                    <option> 30 </option>
  134.                    <option> 31 </option>
  135.                  </select>
  136. ITD......
  137.  
  138. </form>
  139. ";
  140. ?>
blooregard
Może i miałeś register_globals na on, ale na szczęście z nich nie korzystałeś.
Najprościej będzie tak:
Dodaj na początku skryptu ten kod:
  1. <?php
  2. ini_set('display_errors' , 'on');
  3. ?>

i zobacz, jakie błędy się pojawią.
pkania128
wyrzuca mi blad w dwoch linijkach
przy zaladowaniu strony

Undefined index: cmd in //formularz.php on line 23
Undefined index: cmd in //formularz.php on line 86

i wyrzuca tez jeden blad po wysylaniu formularza
Undefined variable: act in //formularz.php on line 23

linia 23 i 86 wygladaja tak:
  1. <?php
  2. if(($_GET['cmd'] == 'add') AND ($act == 't')){
  3.  
  4.     if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$email)){
  5.          
  6.          $blad++;
  7.          
  8.          echo "<span class='style7'><div align='justify'><font color='red'>Bledny adres email!</font></div></span><br />";
  9.  
  10. }
  11. ?>


  1. <?php
  2. if($_GET['cmd'] == 'v'){
  3.  
  4.     $polacz = mysql_connect($host, $user, $pass);
  5.  
  6.     if($polacz == true) $select = mysql_select_db($baza); else echo "Blad polaczenia!";
  7.  
  8.     if($select == true) $pytanie = mysql_query("UPDATE zgloszenia SET status='1' WHERE kod='".$_GET['kod']."'");
  9.      
  10.     else echo "Blad wyboru Bazy!";
  11.  
  12.     mysql_close($polacz);
  13.      
  14.     if($pytanie == true) echo "<span class='style7'><div align='justify'><font color='red'>Potwierdzenie zgloszenia, przebieglo pomyslnie! <br>Wkr&oacute;tce otrzymaja Panstwo dalsze informacje</font></div></span>";
  15.  
  16.     else echo "<span class='style7'><div align='justify'><font color='red'>Potwierdzenie, NIE zostalo wykonane!</font></div></span>";
  17.  
  18. }
  19. ?>
Darti
  1. <?php
  2. isset ($_GET['cmd']) ? '' : $_GET['cmd']=='';
  3.  
  4. if(($_GET['cmd'] == 'add') AND ($act == 't')){
  5.  
  6.    if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$email)){
  7.        
  8.         $blad++;
  9.        
  10.         echo "<span class='style7'><div align='justify'><font color='red'>Bledny adres email!</font></div></span><br />";
  11.  
  12. }
  13. ?>
pkania128
dzieki, w sumie zadzialalo, z tym ze teraz nie sprawdza czy jest mail podany czy nie i wysyla do bazy wszystko nawet z pustym polem "mail"
Darti
zgaduję
  1. <?php
  2. isset ($_GET['cmd']) ? '' : $_GET['cmd']=='';
  3.  
  4. if(($_GET['cmd'] == 'add') AND ($act == 't')){
  5.  
  6.   if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$_REQUEST['email'])){
  7.      
  8.        $blad++;
  9.      
  10.        echo "<span class='style7'><div align='justify'><font color='red'>Bledny adres email!</font></div></span><br />";
  11.  
  12. }
  13. ?>
pkania128
niestety nic nie pomoglo dalej to samo, moze jest problem w dalszej czesci kodu
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.