Nowe pole tekstowe na stronie oraz funkcja zapisz
|
ArkaGdynia |
Dodany dnia 04.03.2010 23:08:54
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Witam od paru dni robię pewną modyfikacja ale oczywiście stanąłem w miejscu i nie wiem jak dodać nowe pole Tekstowe i funkcję zapisz.
Chodzi mi o to że w polu tekstowym bym coś wpisywał klikał zapisz i zawartość była wysyłana do Bazy Danych. Zrobiłem nowe tabele fusion_slowniks a w niej pole slownik_opis i właśnie te pole miało by przetrzymywać wartość z tego pola. Proszę o pomoc myślę, że nie tylko mi by się przydał jakiś wzór jak robić pole tekstowe i funkcję zapisz.
Kod strony na której ma być umieszczone te pole.
<?php
require_once "../maincore.php";
require_once THEMES."templates/admin_header.php";
require_once INCLUDES."html_buttons_include.php";
include LOCALE.LOCALESET."admin/slownik_main.php";
if (!checkrights("S") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { redirect("../index.php"); }
opentable($locale['001']);
echo "<table cellpadding='0' cellspacing='0' class='center'>\n<tr>\n";
echo "<td class='tbl'>".$locale['002']."</td>\n";
echo "<td class='tbl'>".$locale['003']."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' class='tbl'><a href='slownik_pl.php'><img src='images/pl.gif'/></a></td>\n";
echo "<td align='center' class='tbl'><a href='slownik_en.php'><img src='images/en.gif'/></a></td>\n";
echo "</tr>\n</table>\n";
closetable();
require_once THEMES."templates/footer.php";
?>
Zdjęcie
Proszę bardzo o pomoc bo to przeszkadza mi w ukończeniu pewnej modyfikacji.
Edytowane przez ArkaGdynia dnia 04.03.2010 23:09:13
|
|
|
|
Wścibski Gość |
Dodany dnia 26.11.2024 00:20:25
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
poki289 |
Dodany dnia 04.03.2010 23:50:43
|
Początkujący
Postów: 240 Pomógł: 33 Ostrzeżeń: 1
v7.02.07 Data rejestracji: 26.12.2009 05:49
|
Proszę o pomoc myślę, że nie tylko mi by się przydał jakiś wzór jak robić pole tekstowe i funkcję zapisz. Kłaniają się podstawy PHP.
W katalogu administration, możesz sobie zobaczyć jak to wygląda w praktyce.
|
|
|
|
ArkaGdynia |
Dodany dnia 04.03.2010 23:55:48
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
wiem że są tam takie rzeczy próbowałem na ich przykładzie to robić ale za każdym razem jak robię to coś nie gra. Tam są dosyć rozbudowane te pola a mi chodzi tylko o jedno pole żeby było i żeby zapisywało.
Proszę o lepszą pomoc kolego. |
|
|
|
eldiablo |
Dodany dnia 05.03.2010 00:26:43
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Bez sprawdzania czy dana osoba ma prawa do dodania, zwykły najprostszy z możliwych do dodania czegoś do danej tabeli.
Tabela - fusion_cosik
Pole - cosik_ktosik
<?php
require_once "../maincore.php";
require_once THEMES."templates/admin_header.php";
global $cosik_ktosik;
if (isset($_POST['save'])) {
$cosik_ktosik = stripinput($_POST['cosik_ktosik']);
$result = dbquery("INSERT INTO ".DB_PREFIX."cosik (cosik_ktosik) VALUES ('$cosik_ktosik')");
opentable("Dodano");
echo "Cos dodano";
closetable();
}
opentable("Dodajemy cos");
echo "<form name='inputform' method='post' action='' onSubmit='return ValidateForm(this);'>";
echo "<textarea name='cosik_ktosik' cols='50' rows='3'>".$cosik_ktosik."</textarea>";
echo "<input type='submit' name='save' value='zapisz' class='button' />
</form>";
require_once THEMES."templates/footer.php";
?>
A tak przy okazji, @ArkaGdynia budujesz nowego fusiona ?? że co nuż nowy temat z zapytaniem :P |
|
|
|
ArkaGdynia |
Dodany dnia 05.03.2010 01:32:50
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Oki dzięki działa. A jak jeszcze do tego dodać,żeby pokazywało zawartość tego pola cosik_ktosik w tym textarea po kliknięciu na zapis.
Mógłbyś jeszcze luknąć swoim okiem na ten kod powinien on wyświetlać zawartość ale coś nie chce.
opentable($locale['global_036']);
echo stripslashes($cosik['cosik_ktosik'])."\n";
closetable();
błąd:Notice: Undefined variable: cosik in /home/arkagdynia/domains/.....
Tworzę sobie coś podobnego do FAQ tylko bardziej rozbudowanego.
Dzięki za wszelką pomoc:)
Edytowane przez ArkaGdynia dnia 05.03.2010 01:34:27
|
|
|
|
eldiablo |
Dodany dnia 05.03.2010 10:32:23
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Po kiego dajesz
$cosik['cosik_ktosik']
zamiast
$data['cosik_ktosik']
Pomogłem kliknij + :@
Edytowane przez eldiablo dnia 05.03.2010 10:32:34
|
|
|
|
ArkaGdynia |
Dodany dnia 05.03.2010 11:33:24
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Jeszcze błąd wywala niestety.
Kod cały strony na której ma pobierać zawartość tego pola.
<?php
require_once "maincore.php";
require_once THEMES."templates/header.php";
include LOCALE.LOCALESET."slownik.php";
add_to_title($locale['global_203']);
opentable($locale['global_036']);
echo stripslashes($data['cosik_ktosik'])."\n";
closetable();
if (!isset($_GET['cat_id']) || !isnum($_GET['cat_id'])) {
opentable($locale['400']);
echo "<!--pre_slownik_idx-->";
$result = dbquery("SELECT * FROM ".DB_SLOWNIK_CATS." ORDER BY slownik_cat_name");
$rows = dbrows($result);
if ($rows) {
$columns = 2; $counter = 0;
echo "<table cellpadding='0' cellspacing='0' width='100%' class='tbl'>\n<tr>\n";
while($data = dbarray($result)) {
if ($counter != 0 && ($counter % $columns == 0)) { echo "</tr>\n<tr>\n"; }
$num = dbcount("(slownik_id)", DB_SLOWNIKS, "slownik_cat_id='".$data['slownik_cat_id']."'");
echo "<td valign='top' class='slownik_idx_cat_name'><!--slownik_idx_cat_name--><a href='".FUSION_SELF."?cat_id=".$data['slownik_cat_id']."'>".$data['slownik_cat_name']."</a> <span class='small2'>($num)</span>\n";
if ($data['slownik_cat_description']) { echo "<br />\n<span class='small'>".$data['slownik_cat_description']."</span>"; }
echo "</td>\n";
$counter++;
}
echo "</tr>\n</table>\n";
} else {
echo "<div style='text-align:center'><br />\n".$locale['410']."<br /><br />\n</div>\n";
}
echo "<!--sub_slownik_idx-->";
closetable();
} else {
if ($data = dbarray(dbquery("SELECT * FROM ".DB_SLOWNIK_CATS." WHERE slownik_cat_id='".$_GET['cat_id']."'"))) {
add_to_title($locale['global_201'].$data['slownik_cat_name']);
opentable($locale['401'].": ".$data['slownik_cat_name']);
echo "<!--pre_slownik_cat-->";
$rows = dbcount("(slownik_id)", DB_SLOWNIKS, "slownik_cat_id='".$_GET['cat_id']."'");
if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
if ($rows != 0) {
$result = dbquery("SELECT * FROM ".DB_SLOWNIKS." WHERE slownik_cat_id='".$_GET['cat_id']."' ORDER BY slownik_id LIMIT ".$_GET['rowstart'].",15");
$numrows = dbrows($result);
$tbl = 2; $i = 0;
echo "<table cellpadding='0' cellspacing='0' width='100%' class='tbl'>\n<tr>\n";
while ($data = dbarray($result)) {
if ($i != 0 && ($i % $tbl == 0)) { echo "</tr>\n<tr>\n"; }
echo "<td valign='top' class='slownik_idx_cat_name'><strong>".$data['slownik_question']."</strong><br />\n".nl2br(stripslashes($data['slownik_answer']));
echo ($i != $numrows ? "<br /><br />\n" : "\n");
echo "</td>";
$i++;
}
echo "</tr>\n</table>\n";
echo "<!--sub_slownik_cat-->";
closetable();
if ($rows != 0) { echo "<div align='center' style='margin-top:5px;'>".makepagenav($_GET['rowstart'], 15, $rows, 3, FUSION_SELF."?cat_id=".$_GET['cat_id']."&")."\n</div>\n"; }
} else {
echo $locale['411']."\n";
echo "<!--sub_slownik_cat-->";
closetable();
}
} else {
redirect(FUSION_SELF);
}
}
require_once THEMES."templates/footer.php";
?>
Błąd:
Notice: Undefined index: cosik_ktosik
Edytowane przez ArkaGdynia dnia 05.03.2010 11:39:15
|
|
|
|
eldiablo |
Dodany dnia 05.03.2010 12:01:26
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Zapytania
$result = dbquery
masz znacznie później więc "cosik_ktosik" z czego ma być pobrane ?? |
|
|
|
ArkaGdynia |
Dodany dnia 05.03.2010 12:11:18
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Nadal to samo wstawiłem tak :
opentable("COŚ");
$result = dbquery("SELECT * FROM ".DB_cosik." ORDER BY cosik_ktosik");
echo stripslashes($data['cosik_ktosik'])."\n";
closetable();
|
|
|
|
eldiablo |
Dodany dnia 05.03.2010 12:16:43
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
".DB_cosik." ??
Nie wiem co tam będziesz kombinował jeszcze ale dodaj do multisite_include.php
define("DB_COSIK", DB_PREFIX."cosik");
Jeżeli nowa tabela zwie się cosik ;) |
|
|
|
ArkaGdynia |
Dodany dnia 05.03.2010 12:23:24
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Mam dodane do multisite_include.php i nadal wywala to samo wszystko do bazy danych też dodane i niewiem kurcze czemu. to wywala |
|
|
|
kefirek |
Dodany dnia 05.03.2010 13:06:07
|
Zaawansowany
Postów: 1191 Pomógł: 418 Ostrzeżeń: 1
v6.00.xxx Data rejestracji: 06.04.2008 21:59
|
A tak ??
opentable("COŚ");
$result = dbquery("SELECT * FROM ".DB_COSIK." ORDER BY cosik_ktosik");
$data = dbarray($result);
echo stripslashes($data['cosik_ktosik'])."\n";
closetable();
|
|
|
|
ArkaGdynia |
Dodany dnia 05.03.2010 13:27:21
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Zrobiłem tak: opentable("COŚ");
$result = dbquery("SELECT * FROM ".DB_COSIK." ORDER BY cosik_ktosik");
$data = dbarray($result);
echo stripslashes($data['cosik_ktosik'])."\n";
closetable();
Dzięki wszystko działa bez was bym nie dał rady:)
Wiadomość doklejona:
Mam taki kodzik: global $slownik_opis;
if (isset($_POST['save'])) {
$error = 0;
$slownik_opis = descript(stripslash($_POST['slownik_opis']));
$result = dbquery("UPDATE ".DB_SLOWNIKS." SET
slownik_opis='".addslashes(addslashes($slownik_opis))."',
");
opentable("Dodano");
echo "Dodano opis S³ownika";
closetable();
}
$slowniks2 = dbarray(dbquery("SELECT * FROM ".DB_SLOWNIKS));
ob_start();
opentable($locale['004']);
echo "<form name='settingsform' method='post' action='".FUSION_SELF.$aidlink."'>\n";
echo "<table cellpadding='0' cellspacing='0' width='500' class='center'>\n<tr>\n";
echo "<td valign='top' width='50%' class='tbl'>".$locale['004']."</td>\n";
echo "<td width='50%' class='tbl'><textarea name='slownik_opis' cols='50' rows='6' class='textbox' style='width:230px;'>".phpentities(stripslashes($data['slownik_opis']))."</textarea></td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl'><br />";
echo "<input type='submit' name='savesettings' value='".$locale['005']."' class='button' /></td>\n";
echo "</tr>\n</table>\n</form>\n";
closetable();
Jak do tego dodać aby po kliknięciu na zapisz pokazywało się w tym samym oknie zawartość tego co zapisałem.
Bo teraz jest tak że jak kliknę na zapisz to te pole staje się puste.:(
Edytowane przez ArkaGdynia dnia 05.03.2010 15:49:39
|
|
|
|
eldiablo |
Dodany dnia 05.03.2010 16:48:37
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Działa CI ten kod co podałeś ?? Bo widzę że zmieniłeś sobie pole name a w ifie name (save) nie zmieniłeś...
global $slownik_opis;
if (isset($_POST['save'])) {
$error = 0;
$slownik_opis = descript(stripslash($_POST['slownik_opis']));
$result = dbquery("UPDATE ".DB_SLOWNIKS." SET
slownik_opis='".addslashes(addslashes($slownik_opis))."',
");
opentable("Dodano");
echo "Dodano opis S³ownika";
closetable();
} else if (isset($_POST['preview'])) {
$slownik_opis = descript(stripslash($_POST['slownik_opis']));
opentable("Podglad");
echo $slownik_opis;
closetable();
} else {
$slownik_opis = $data['slownik_opis'];
}
$slowniks2 = dbarray(dbquery("SELECT * FROM ".DB_SLOWNIKS));
ob_start();
opentable($locale['004']);
echo "<form name='settingsform' method='post' action='".FUSION_SELF.$aidlink."'>\n";
echo "<table cellpadding='0' cellspacing='0' width='500' class='center'>\n<tr>\n";
echo "<td valign='top' width='50%' class='tbl'>".$locale['004']."</td>\n";
echo "<td width='50%' class='tbl'><textarea name='slownik_opis' cols='50' rows='6' class='textbox' style='width:230px;'>".phpentities(stripslashes($data['slownik_opis']))."</textarea></td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl'><br />";
echo "<input type='submit' name='preview' value='podglad' class='button' />";
echo "<input type='submit' name='save' value='".$locale['005']."' class='button' /></td>\n";
echo "</tr>\n</table>\n</form>\n";
closetable();
|
|
|
|
ArkaGdynia |
Dodany dnia 05.03.2010 17:21:18
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Kolego może będzie łatwiej bo ja już się gubię z tymi kodami. Jak zrobić takie pole jakie jest na PA->Zarządzanie stroną->Główne ustawienia Pole np. Wiadomość powitalna. zamiast całej tej strony tylko te pole ze wszystkimi opcjami. |
|
|
|
eldiablo |
Dodany dnia 05.03.2010 17:39:07
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Tak to już jest, jak się chce przerabiać/dostosować do swoich potrzeb "coś".
A jeżeli chodzi o PA->Zarządzanie stroną->Główne ustawienia Pole np. Wiadomość powitalna -> "tylko te pole ze wszystkimi opcjami."
To pierwszy kod jaki ci podałem + jeżeli chcesz aby wyświetlało się to co podałeś przy następnej edycji + podgląd co wpisałeś to w 51% powinno działać to co ci podałem w przedostatnim moim poście
Edytowane przez eldiablo dnia 05.03.2010 17:39:50
|
|
|
|
ArkaGdynia |
Dodany dnia 05.03.2010 17:49:36
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
No właśnie nie działa bo jak klikam na Podgląd to znika mi cała zawartość tego pola. |
|
|