Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]+[mysql] $POST dodajacy sie w kółko
Forum PHP.pl > Forum > Przedszkole
-adek--
Witam
Zrobiłem sobie skrypcik subskrypcji email na stronie (dodaje mi wpisane przez ludzi emaile do bazy) i zawsze gdy dam odśwież ( pokazuje sie monit o danych post data bla bla oraz opcje ok i anuluj) dodaje mi jeszcze raz poprzedni wpis jaki zrobiłem albo pusty wpis jeśli nic nie dodawałem przed odświeżaniem... da sie zrobić tak żeby nie wykonywał posta przy odświeżaniu, a robił to tylko wtedy kiedy są jakieś dane w komórce input??

oto kod mojego skrypciku..
Kod
echo('
        <table id="Subskrypcja" width="230" height="310" border="0" cellpadding="0" cellspacing="0">
    <tr><td><img src="images/dane_01.gif" width="230" height="139" alt=""></td>
    </tr>
    <tr><td><img src="images/dane_02.gif" width="230" height="51" alt=""></td>
    </tr><tr><td background="images/dane_03.gif" width="230" height="52" class="grey_head_menu">

        <form action="'.$PHP_SELF.'" method="post">
        <input type="text" name="add_email" size="20">
        <input type="Submit" value="dodaj">
        </form>  ');
        
$add_email = $_POST['add_email'];
   mysql_select_db('voyage');
   $zapytanie = 'INSERT INTO mailing(adres) VALUES('.$add_email.');';
   mysql_query($zapytanie);    

echo('
      </td></tr><tr><td><img src="images/dane_04.gif" width="230" height="68" alt=""></td>
    </tr>
</table>  ');

pozdrawiam
-adek--
Hmmm tak mi sie robilo jak mialem to w krasnal servie na swoim komputerze, ale jak wrzucilem to na serwer linuxowy - NND to faktyczny problem jest taki ze nie dodaje mi sie jak jest puste pole, moze dlatego ze zmienilem wartosc na NULL w opcji adres... ale teraz nie dodaje mi wpisow z @ czyli np adres@email.pl i nawet nie przyjmuje danych typu asdfasdfa, ale dodaje wszystkie inne typu 111111 i 22222 questionmark.gif Mialem ustawione VARCHAR(20) przestawilem na TEXT i tez nic nie dało... o co chodzi??
Snowak
Odświeżanie strony zależne jest od przeglądarki, i nic na to nie poradzisz, że wysyła te dane ponownie. Co najwyżej możesz do każdego formularza dodać jakieś pole zawierające losową liczbę i po zapisaniu formularza zapisujesz sobie, że ten kod został użyty (oczywiście stare usuwasz etc). A jak kod został użyty, to nie dodawaj newsa..
adek-
A dlaczego dadaje mi tylko wpisy składające się z cyfr??
W tabeli mailing mam 2 komórki
1 "id" tinynt(4) jako index primary z auto incrementem (w koncu muszą dane być pokazywane w jakiejś kolejności! : )
2 "adres" gdzie ustawiłem varchar(20), atrybut nic, NULL jako NULL, domyślnie NULL, dodatkowy nic...
Cyfry dodaja sie super inkrementuje mi id i wchodza nowe wpisy ale gdy zaczynam wpisywac chocaizby aaaaaa to klapa!
Moze cos nie tak w ustawieniach tej tabeli questionmark.gif

edited 2 h poźniej

Hmm dane moge zmienić w phpmyadmini i normalnie wyswietlajami sie w panelu admina na stronie wiec na pewno chodzi o wprowadzanie ich
Może to coś z tym kodem który mi je dodaje do bazy
Kod
        <form action="'.$PHP_SELF.'" method="post">
        <input type="text" name="add_email" size="20">
        <input type="Submit" value="dodaj">
        </form>  ');
        
$add_email = $_POST['add_email'];
   mysql_select_db('voyage');
   $zapytanie = 'INSERT INTO mailing(adres) VALUES('.$add_email.');';
   mysql_query($zapytanie);
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.