Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Mój kod ie dodaje wpisu do bazy
Luke_Star
post
Post #1





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

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


Mam problem ze skryptem poniewaz zdaje mi sie ze wszystko jest OK niestewty nie daodaj mi wpisu do bazy i nie wiem dlaczego, moze wy pomozecie
  1. <?
  2. if (isset($_POST['submit_autor'])&& isset($_POST['submit_text']))
  3. {
  4. $connect=@mysql_connect("localhost","root","");
  5.  
  6. $submit_autor=$_POST['submit_autor'];
  7. $submit_text=$_POST['submit_text'];
  8.  
  9. $query='INSERT INTO oficial_cytaty VALUES(\"$submit_autor\",\"$submit_text\")';
  10. $write=mysql_query ($query)
  11.  
  12. echo 'Teść autora $submit_autor została pomyślnie dodana';
  13. }
  14. else {
  15. echo "BŁĄD W TRAKCIE WYKONYWANIA SKRYPTU"; }
  16.  
  17. if (isset($_GET['panel']) && $_GET['panel']=="submit") {
  18. ?>
  19. <form action="panel.php" method="post">
  20. <input type="text" name="submit_autor" size="30">
  21. textarea name="submit_text" wrap="VIRTUAL"></textarea>
  22. <input type="submit" value="Dodaj">
  23. </form>
  24. <?
  25. }
  26. else {
  27.  
  28. echo "Błędny Parametr lub zła ścieżka tongue.gif";
  29. }
  30. ?>


--------------------
Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
--------------------------------------
Portal Literacki: ( |||------- ) 30%
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $query='INSERT INTO oficial_cytaty VALUES(\"$submit_autor\",\"$submit_text\")';
  3. ?>
Odnosnie tego kodu, polecam lekturę:
http://pl.php.net/manual/pl/language.types.string.php
http://pl.php.net/manual/pl/language.operators.string.php

na przyszlosc też uzywaj wyswietlania bledow oraz koncz instrukcje srednikiem:
  1. <?php
  2. $write=mysql_query ($query) or die (mysql_error());
  3. ?>
smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zbig13
post
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


Tak na pierwszy rzut oka to nie pasuje mi wiersz 10:
  1. <?php
  2. $query='INSERT INTO oficial_cytaty VALUES(\"$submit_autor\",\"$submit_text\")';
  3. ?>

po co dajesz \ przed cudzysłowem? Jeżeli cały zapytanie byłoby objęte znakami " ", to wtedy tak, ale zapytanie masz objęte apostrofami więc nie trzeba. Poza tym bezpieczniej zrobić tak:
  1. <?php
  2. $query="INSERT INTO oficial_cytaty VALUES('".$submit_autor."', '".$submit_text."')";
  3. ?>


Poczytaj trochę o stosowaniu zmiennych w stringach.

PS. jak nie pójdzie to wyłącz wyciszanie błedów przed mysql_connect (usuń znak @).

Edit: no nie, @nospor mnie uprzedził tongue.gif

Ten post edytował zbig13 28.03.2006, 20:00:30
Go to the top of the page
+Quote Post
Luke_Star
post
Post #4





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

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


tak faktycznie chyba bede musiał poszerzyc swoja wiedze :] Czyli ogólnie to ze skrypt nie odpowiada jest wina złego stosowania stringów?


--------------------
Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
--------------------------------------
Portal Literacki: ( |||------- ) 30%
Go to the top of the page
+Quote Post
zbig13
post
Post #5





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


Nie widzę żadnych innych błędów w kodzie, więc raczej to te złe stosowanie stringów jest przyczyną. Zresztą sprawdź to zapytanie co Ci napisałem i zobacz czy działa. Poza tym przejrzyj te linki co podał Ci nospor, masz tam opisane jak poprawnie stosować łańcuchy znaków.
Go to the top of the page
+Quote Post
Luke_Star
post
Post #6





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

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


kurde cos nie umiem sobie z tym poradzić :/ Czy nie byłoby w złym guście poprosic o pokazanie naprawionego kodu sad.gif Bo albo ja nie myśle albo coś...


--------------------
Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
--------------------------------------
Portal Literacki: ( |||------- ) 30%
Go to the top of the page
+Quote Post
zbig13
post
Post #7





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


Ehh no przecież napisałem Ci jak powinno wyglądać to zapytanie:
  1. <?php
  2. $query="INSERT INTO oficial_cytaty VALUES('".$submit_autor."', '".$submit_text."')";
  3. ?>


A jak mimo to dalej nie będzie działać, to weź usuń znak @ z przed mysql_connect, to może wyrzuci jakiś błąd.

Teraz zauważyłem jeszcze że w formularzu brakuje znaku < przed textarea (linia 22)
Kod
<input type="text" name="submit_autor" size="30">

textarea name="submit_text" wrap="VIRTUAL"></textarea>

<input type="submit" value="Dodaj">


Popraw te wszystkie błędy i napisz czy działa smile.gif
Go to the top of the page
+Quote Post
Luke_Star
post
Post #8





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

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


własnie w tym problem że nie działa :| Dlatego sobie nie racze :| To wygląda troche tak jakby apache nie przekazywał wartość $_POST :| Mam serwa na kompie (PHPtriad) pod winde

P>S Brak jakichkolwiek błedów :|

Ten post edytował Luke_Star 29.03.2006, 10:43:32


--------------------
Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
--------------------------------------
Portal Literacki: ( |||------- ) 30%
Go to the top of the page
+Quote Post
pEbE
post
Post #9





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

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


  1. <?php
  2. if (isset($_POST['submit_autor']) && isset($_POST['submit_text']))
  3. {
  4. $connect=mysql_connect("localhost","root","");
  5.  
  6. $submit_autor=$_POST['submit_autor'];
  7. $submit_text=$_POST['submit_text'];
  8.  
  9. $query="INSERT INTO oficial_cytaty VALUES ('$submit_autor', '$submit_text')";
  10. $write=mysql_query($query);
  11.  
  12. if($write) {
  13. echo 'Treść autora '.$submit_autor.' została pomyślnie dodana';
  14. }
  15. else {
  16. echo 'BŁĄD W TRAKCIE WYKONYWANIA SKRYPTU';
  17. }
  18. }
  19.  
  20. if (isset($_GET['panel']) && $_GET['panel']=='submit') {
  21. ?>
  22. <form action="panel.php" method="post">
  23. <input type="text" name="submit_autor" size="30">
  24. <textarea name="submit_text" wrap="VIRTUAL"></textarea>
  25. <input type="submit" value="Dodaj">
  26. </form>
  27. <?
  28. }
  29. else {
  30.  
  31. echo "Błędny Parametr lub zła ścieżka tongue.gif";
  32. }
  33. ?>


Ten post edytował pEbE 29.03.2006, 17:10:41
Go to the top of the page
+Quote Post
Luke_Star
post
Post #10





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

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


Wiem że może zanudzam... ale to nie trybi :| i nie wiem dlaczego. Jeżeli zrobi skrypt który tylko i wyłacznie łaczy i wysyła wpisane dane (bez formularza, dane jako zmienne) wszystko trybi ślicznie. Jak chce przekazac przez post :| To już nic....

Nawet jak zrobie na metode GET to mam to samo :|


--------------------
Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
--------------------------------------
Portal Literacki: ( |||------- ) 30%
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: 19.08.2025 - 12:55