kowal1122
25.05.2005, 19:18:56
a wiec mam problemik najprawdopodobniej z kodem php...
mam plik dodaj.html i dodaj2.php
//dodaj.html
<form name="form1" mehod="post" action="dodaj2.php"> <td><input type="submit" name="submit" value="dodaj wpis "></td>
<?php
//dodaj2.php
include_once(\"./db-init.php\");
or
die(\"Nie można się poł±czyć z serwerem MySQL...\"); or
die(\"Nie można wybrać bazy danych...\");
$query = \"INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '$gosc', '$tekst')\";
if ($qresult != 1) {
die(\"Problem z wykonaniem zapytania do bazy danych\"); };
echo \"dzięki za dodanie wpisu!\";
?>
no a jak otwieram phpmyadmina to pokazuje mi w zapisie tylko date...
co zrobilem zle...
tiraeth
25.05.2005, 19:37:57
zamien $gosc na $_POST['gosc'] i tak dalej.. zmienne globalne....
kowal1122
25.05.2005, 19:49:19
<?php
$query = \"INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '$_POST['gosc']', '$_POST['tekst']')\";
?>
jeśli zrobie superglobalne to mi wyskakuje:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\wamp\www\dodaj2.php on line 16
dr_bonzo
25.05.2005, 20:37:00
OMG:
"....VALUES (NOW(), '" . $_POST['gosc'] . "'........"
kowal1122
26.05.2005, 11:33:01
<?php
$query = \"INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '\" . $_POST['gosc'] . \"','\" . $_POST['tekst'] . \"')\";
?>
tak?
jesli tak, to pisze ze wszystko oki ale cały czas nie ma wpisów w bazie danych.
SongoQ
26.05.2005, 11:45:56
Zrob sobie echo $query i zobacz czy prawidlowo generuje SQLa.
militis
26.05.2005, 12:49:28
kowal1122
26.05.2005, 20:24:18
dzięki za dodanie wpisu!INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '','')
No database selected
wyskakuje taki napis
Liko
26.05.2005, 20:28:52
kowal1122
26.05.2005, 21:21:20
nierozumiem co cie tak śmieszy?
nospor
27.05.2005, 08:27:05
no database selected oznacza, ze nie wybrales bazy w jakiej znajduje sie tabela.
musisz użyc funkcji mysql_select_db, która min. znajduje się w linku , który podal ci @liko
kowal1122
27.05.2005, 12:57:08
przykladzik prosze...
nospor
27.05.2005, 12:59:32
rozbrajasz mnie @kowal. Toć w linku @liko jest przyklad. Oto on (bo ty chyba nie masz internetu i nie możesz wejść w ten link; ale nie czekaj, ty masz internet bo wchodzisdz na to forum

)
<?php
/* Łączenie i wybranie bazy */
$link = mysql_connect(\"localhost\", \"uzytkownik\", \"haslo\") or
die (\"Nie można się połączyć\");print (\"Połączenie nawiązane\");
/* Wysyłanie zapytania SQL */
$query = \"SELECT * FROM tabela\";
$result = mysql_query ($query) or
die (\"Zapytanie zakończone niepowodzeniem\");
/* Wyświetlenie wyników w HTML */
foreach ($line as $col_value) {
print \"tt<td>$col_value</td>n\"; }
}
print \"</table>n\";
/* Zwalnianie pamięci */
/* Rozłączanie */
?>
kowal1122
27.05.2005, 13:07:20
czyli mam juz taki kod:
<?php
include_once(\"db-init.php\");
or
die(\"Nie można się poł±czyć z serwerem MySQL...\"); or
die(\"Nie można wybrać bazy danych...\");
$query = \"INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '\" . $_POST['gosc'] . \"','\" . $_POST['tekst'] . \"')\";
$result = mysql_query ($query) or
die (\"Zapytanie zakończone niepowodzeniem\");
if ($qresult != 1) {
die(\"Problem z wykonaniem zapytania do bazy danych\"); };
echo \"dzięki za dodanie wpisu!\"; ?>
pisze ze wszystko ok. ale w bazie mySQL'a dalej nic nie ma po za datą...
nospor
27.05.2005, 13:10:54
a nie powinno byc tak? $ksiazka = mysql_select_db('ksiazka')
ale co, w tabeli ksiazka masz rekord a wnim tylko data?jesli tak to wartosci z posta są puste.
popraw to co podalem.
kowal1122
27.05.2005, 13:26:01
poprawilem ale bez zmian...
zauważylem tez że do bazy dochodzą 2 wpisy... za jednym razem.
nospor
27.05.2005, 13:30:59
no bo dwa razy wywolujesz mysql_query, wiec sie nie dziw że masz dwa wpisy.
A patrzyles te zmienne $_POST? Daj echo $_POST['gosc'] i zobacz czy cos jest. Bo to niemożliwe zeby wstwial datę a innych wartości nie
kowal1122
27.05.2005, 13:59:42
<?php
include_once(\"db-init.php\");
or
die(\"Nie można się poł±czyć z serwerem MySQL...\"); or
die(\"Nie można wybrać bazy danych...\");
$query = \"INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), echo'\" . $_POST['gosc'] . \"',echo'\" . $_POST['tekst'] . \"')\";
$result = mysql_query ($query) or
die (\"Zapytanie zakończone niepowodzeniem\");
if ($qresult != 1) {
die(\"Problem z wykonaniem zapytania do bazy danych\"); };
echo \"dzięki za dodanie wpisu!\"; ?>
jesli zrobie to to w koncu sie pokazuje "Zapytanie zakończone niepowodzeniem".
a wiec co zle zrobilem?
nospor
27.05.2005, 14:06:41
No dobra, spokojnie i pokolei.
Czy wiesz do czego służy echo? Echo sluzy do wpisania textu z php to przeglądarki (powiedzmy). Z tegoż to powodu echa nie daje się w zapytaniu!!!!
Mialeś dać echo gdzieś inddziej, np na początku skryptu:
<?php
echo 'zawartosc gosc to: '.$_POST['gosc']; ///reszta skryptu
?>
kowal1122
27.05.2005, 14:15:37
nierozumiem...
podaj to w całym skrypcie...
nospor
27.05.2005, 14:20:57
Toć pisze wyrażnie. Na początku skryptu masz dać echo ....
<?php
echo 'zawartosc gosc to: '.$_POST['gosc']; include_once(\"db-init.php\");
or
die(\"Nie można się poł±czyć z serwerem MySQL...\"); or
die(\"Nie można wybrać bazy danych...\");
$query = \"INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '\" . $_POST['gosc'] . \"','\" . $_POST['tekst'] . \"')\";
$result = mysql_query ($query) or
die (\"Zapytanie zakończone niepowodzeniem\");
if ($qresult != 1) {
die(\"Problem z wykonaniem zapytania do bazy danych\"); };
echo \"dzięki za dodanie wpisu!\";
?>
kowal1122
27.05.2005, 14:27:15
zawartosc gosc to: INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '','')dzięki za dodanie wpisu!
ja juz nic z tego nie rozumiem...
nospor
27.05.2005, 14:32:08
dzięki za dodanie wpisu! wyskakuje ci bo masz na koncu echo "dzięki za dodanie wpisu!"
ale czemu zapytanie ci wyswietla to nie mam pojecia. Aczkolwiek w zapytaniu widać ze masz gosc pustego. Pokaż caly kod wlacznie z formularzem. Napisz co skąd pobierasz itp
edit: moze to glupie pytanie, ale czy ty wogóle wypelniasz te pola formularza?
kowal1122
27.05.2005, 14:38:43
no to najpierw
dodaj.php
<?php
// Ustaw tytul strony i naglowek HTML.
$page_title = 'księga go¶ci';
include ('szablony/naglowek.inc');
?>
<form name=\"form1\" mehod=\"post\" action=\"dodaj2.php\">
<table border=\"1\">
<tr>
<td>imię/ksywa:</td>
<td><input type=\"text\" name=\"gosc\"></td>
</tr><tr>
<td>dodaj wpis:</td>
<td><textarea name=\"tekst\" cols=\"100\" rows=\"5\"></textarea></td>
</tr><tr>
<td><input type=\"submit\" name=\"submit\" value=\"dodaj wpis \"></td>
<td> </td>
</tr>
</form>
</table>
<?php
include ('szablony/stopka.inc'); // Dolacz stopke HTML.
?>
teraz plik
dodaj2.php
<?php
// Ustaw tytul strony i naglowek HTML.
$page_title = 'księga go¶ci';
include ('szablony/naglowek.inc');
?>
<?php
include_once(\"db-init.php\");
or
die(\"Nie można się poł±czyć z serwerem MySQL...\"); or
die(\"Nie można wybrać bazy danych...\");
echo $query = \"INSERT INTO ksiazka (data, gosc, tekst) VALUES (NOW(), '\" . $_POST['gosc'] . \"','\" . $_POST['tekst'] . \"')\"; $result = mysql_query ($query) or
die (\"Zapytanie zakończone niepowodzeniem\");
if ($qresult != 1) {
die(\"Problem z wykonaniem zapytania do bazy danych\"); };
echo \"dzięki za dodanie wpisu!\";
include ('szablony/stopka.inc'); // Dolacz stopke HTML.
?>
teraz plik
db-ini.php
<?php
// adres hosta z baz± danych
$DB_HOST=\"localhost\";
// nazwa bazy
$DB_NAME=\"ksiazka\";
// użytkownik bazy
$DB_USER=\"root\";
// hasło użytkownika bazy danych
$DB_PASSWD=\"\";
?>
i to juz wszystko bo pliku otwierającego dodane wpisy niezrobiłem. :roll2:
militis
27.05.2005, 14:44:15
Wy chyba jestescie niepowazni. Koles nie ma zielonego pojecia na temat php, rozumiem, mozna mu _pomóc_, ale tylko pomóc a nie przepisywac mu skrypty! Niech poczyta manuala, bo narazie to kopiuje to co Wy napiszecie w ogole tego nie rozumiejac, a nie rozumie samych podstaw. Ehh...
nospor
27.05.2005, 14:45:04
jest blad: hihi
popraw:
<form name="form1" method="post" action="dodaj2.php">
dales mehod zamiast method
kowal1122
27.05.2005, 19:57:22
dziwne dziwne...
zaczęło działać :]
podziękowania wszystkim w szczególności tobie nospor.
można zamknąć topic
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.