Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wykonanie zapytania po kliknięciu
apathedosheu
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 1
Dołączył: 4.02.2012

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


Mam problem z dodaniem odpowiednich wartości do bazy danych MySQL przy użyciu zapytania. Wypełniam formularz i klikam przycisk, wszystko działa dobrze, ale pojawia się problem przy wejściu na stronę na której znajduję się formularz tzn. wchodzę na admin.php i od razy dodaje puste rekordy...

  1. <form action="admin.php" method="post">
  2. Tytuł:<br> <input type="text" name="tytul"><br><br>
  3. Autor:<br> <input type="text" name="autor"><br><br>
  4. Treść:<br> <textarea name="tresc" rows="10" cols="50"></textarea><br><br>
  5. <input type="submit" value="Dodaj"></form>


  1. <?php
  2. $query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
  3. ?>


Ten post edytował apathedosheu 9.03.2012, 07:53:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
poli25
post
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


W spróbuj sprawdzić czy masz coś w tych zmiennych przed dodaniem do bazy użyj funkcji echo.

p.s. sprobuj w phpmyadminie wsadzis wiersz do bazy z pusta kolumna pierwsza, tak chciales ? pierwsz a kolumne pusta?

Ten post edytował poli25 9.03.2012, 08:02:47
Go to the top of the page
+Quote Post
--huberthc--
post
Post #3





Goście







Sprawdź np funkcję isset().
Go to the top of the page
+Quote Post
apathedosheu
post
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 1
Dołączył: 4.02.2012

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


Zrobiłem tak, ale według mnie nie wydaje mi się on dobrym pomysłem, sami zobaczcie

  1. <form action="admin.php" method="post">
  2. Tytuł:<br> <input type="text" name="tytul"><br><br>
  3. Autor:<br> <input type="text" name="autor"><br><br>
  4. Treść:<br> <textarea name="tresc" rows="10" cols="50"></textarea><br><br>
  5. <input type="submit" value="Dodaj"></form>


  1. <?php
  2. $zmienna = ($_POST['tytul']);
  3. if( isset($zmienna) ) {
  4. echo '<br>Dodano, <a href="demo.php">kliknij aby zobaczyć newsa.</a>';
  5. $query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
  6. }
  7. ?>
Go to the top of the page
+Quote Post
Novy.
post
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

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


  1. <form action="admin.php?act=dodaj" method="post">
  2. Tytuł:<br> <input type="text" name="tytul"><br><br>
  3. Autor:<br> <input type="text" name="autor"><br><br>
  4. Treść:<br> <textarea name="tresc" rows="10" cols="50"></textarea><br><br>
  5. <input type="submit" name="dodaj" value="Dodaj"></form>


  1.  
  2. <?php
  3. if($_GET['act'] == 'dodaj' && isset($_POST['dodaj'])){
  4. // jeśli tylko ty będziesz używał skryptu to filtorwanie danych jest nie potrzebne, bo raczej nie będziesz głupot wpisywał
  5. if(empty($_POST['tytul']) || empty($_POST['autor']) || empty($_POST['tresc'])){
  6. echo 'Wszystkie pola muszą być wypełnione';
  7. }
  8. else{
  9. $query = mysql_query("INSERT INTO `news` VALUES('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
  10. if($query){
  11. echo 'Dodano pomyślnie';
  12. }
  13. else{
  14. echo 'Błąd.';
  15. }
  16. }
  17. }
  18. ?>


Tak chyba jest dobrze (IMG:style_emoticons/default/smile.gif)

Jeśli ktoś inny ma dostęp do formularza warto przefiltrować wszystkie dane.

Ten post edytował Novy. 9.03.2012, 09:26:47
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: 22.08.2025 - 17:29