Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Wczytywanie tekstu


Pabi

Rekomendowane odpowiedzi

Cześć, jednak mam mały problem z tym edytorem. Nie mogę wczytać z niego tekstu do zmiennej, tzn gdy używam funkcji $_POST nic mi nie zwraca. Nazwę dla textarea mam dobrze ustawioną, próbowałem różnych wygibasów z tą drugą funkcją zawartą w dokumentacji ale ona też nie działa.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Zacznij podawać konkretne kody, jakie tworzysz, bo inaczej to możemy sobie jedynie pogdybać.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

$editor = IPSText::getTextClass( 'editor' )->showEditor( '', 'desc' );

Do wyświetlania edytoru tekstu, $editor podaje dalej do bitu a tam w odpowiednim miejscu {$editor}, oczywiście w odpowiednich tagach (<form> :ninja: ).

$desc = $_POST['desc'];

Gdy próbuje tak odebrać tekst z tego edytora nie zwraca mi nic, tzn daje pustą zmienną.

$desc = IPSText::getTextClass( 'editor' )->processRawPost( 'desc' );

To samo co powyżej, zwraca pustą zmienną.

Następnym razem będę wiedział że trza podawać kod, ale myślałem że to oczywiste jaki jest kod po treści posta xD

Edytowane przez Pabi
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

No to rzeczywiście dziwna sytuacja.. Próbowałeś zamiast desc dać coś innego? Może jest inna taka sama nazwa zmiennej i się resetuje?

Kod jest na pewno dobry, zresztą, jak ktoś kumaty nie ma opcji, by go 'spsuć'.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

W trakcie wypełniania formularza sprawdź w kodzie (CTRL+U) jak to wygląda od środka ten textarea..

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Tak. Na tę chwilę wszystko jest poprawnie.. Jakbyś dał czy opisał coś więcej tę Twoją aplikację/moda. Bo pewnie gdzieś po drodze się to gubi.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  	 if( $_GET['step'] == 3 )
	{
		$itemID = $_POST['item'];
		$lengthoftime = $_POST['lengthoftime'];
		$buynow = $_POST['buynow'];
		$bidprice = $_POST['bidprice'];
		$descc = $_POST['testowanazwazmiennej'];
		$charID = $_POST['charid'];
		$itemType = $_POST['itemtype'];

		if( empty( $itemID ) || empty( $lengthoftime ) ) die("nopermission"); //gdy nie wybrał czasu i przedmiotu
		if( empty( $buynow ) || empty( $bidprice ) ) die("nopermission"); //gdy kup teraz i wywoławcza są puste

		$db = ipsRegistry::DB();
		if( $itemType == 1 ) //pojazdy
		{
			$db->query("SELECT nickname FROM samp_chars WHERE uid='".$charID."' LIMIT 1");
			$row = $db->fetch();
			$charName = explode("_", $row['nickname']);

			$db->query("SELECT vehName FROM samp_vehicles WHERE id='".$itemID."' LIMIT 1");
			$row = $db->fetch();
			$itemName = $row['vehName'];

			$db->query("INSERT INTO samp_marketplace (`globalacc`, `global_name`, `char_uid`, `char_name`, `price`, `bid_price`, `type`, `item_id`, `item_name`,
			`start_data`, `end_data`, `description`)
			VALUES ('".$this->memberData['member_id']."',
			'".$this->memberData['name']."',
			'".$charID."',
			'".$charName[0]." ".$charName[1]."',
			'".$buynow."',
			'".$bidprice."',
			'".$itemType."',
			'".$itemID."',
			'".$itemName."',
			'0',
			'0',
			'".$descc."')");
		}


	}

To cały kod tej podstrony, nie wyśmiewaj, pisałem to z 10 minut i stanąłem na tym problemie :ninja:

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

To jak rozumiem ma być w IP.Board? Toż to czysty PHP, nijak mający wspólnego z IP.Board. Ale nie o tym mowa.

Spróbuj wszystkie $_GET i $_POST zamienić na $this->request.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Bez zmian, to samo.

  	 if( $this->request['step'] == 3 )
	{
		$itemID = $this->request['item'];;
		$lengthoftime = $this->request['lengthoftime'];
		$buynow = $this->request['buynow'];
		$bidprice = $this->request['bidprice'];
		$descc = $this->request['testowanazwazmiennej'];
		$charID = $this->request['charid'];
		$itemType = $this->request['itemtype'];

		if( empty( $itemID ) || empty( $lengthoftime ) ) die("nopermission"); //gdy nie wybrał czasu i przedmiotu
		if( empty( $buynow ) || empty( $bidprice ) ) die("nopermission"); //gdy kup teraz i wywoławcza są puste

		$db = ipsRegistry::DB();
		if( $itemType == 1 ) //pojazdy
		{
			$db->query("SELECT nickname FROM samp_chars WHERE uid='".$charID."' LIMIT 1");
			$row = $db->fetch();
			$charName = explode("_", $row['nickname']);

			$db->query("SELECT vehName FROM samp_vehicles WHERE id='".$itemID."' LIMIT 1");
			$row = $db->fetch();
			$itemName = $row['vehName'];

			$db->query("INSERT INTO samp_marketplace (`globalacc`, `global_name`, `char_uid`, `char_name`, `price`, `bid_price`, `type`, `item_id`, `item_name`,
			`start_data`, `end_data`, `description`)
			VALUES ('".$this->memberData['member_id']."',
			'".$this->memberData['name']."',
			'".$charID."',
			'".$charName[0]." ".$charName[1]."',
			'".$buynow."',
			'".$bidprice."',
			'".$itemType."',
			'".$itemID."',
			'".$itemName."',
			'0',
			'0',
			'".$descc."')");
		}


	}

Co za różnica czy czysty php czy funkcje z IPB? Z resztą to chyba normalne, że jak się zaczyna pracę z nowym silnikiem to nie odrazu zna się wszystkie funkcje.

Edytowane przez Pabi
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Może nie od razu, ale ta pusta zmienna nie jest normalna i w kodzie nie widzę nic co mogłoby właśnie powodować taki błąd..

Zatem napisz coś więcej o używaniu owego kodu - gdzie on jest, jak się go wywołuje itd.. Sam kod semantycznie jest poprawny.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Zawartość całego bitu z formularzem:

<div class='ipsBox'>
<div class='ipsLayout ipsLayout_withleft ipsLayout_smallleft ipsVerticalTabbed clearfix usercp_body'>

	<div class='ipsVerticalTabbed_tabs ipsLayout_left'>
		<ul>
			<li><a href="index.php?app=samp">Informacje</a></li>
			<li><a href="#">Grupy</a></li>
			<li><a href="#">Mapa świata</a></li>
			<li class='active'><a href="index.php?app=samp&module=marketplace">Rynek</a></li>
			<li><a href="#">Premium</a></li>
		</ul>
	</div>

	<div class="ipsVerticalTabbed_content ipsLayout_content">		
		<div class="ipsSteps clearfix">
			<ul>

				<li class="">
					<strong class="ipsSteps_title">Krok 1</strong>
					<span class="ipsSteps_desc">Wstępne ustawienia</span>

					<span class="ipsSteps_arrow"> </span>
					<!--Don't delete: 1-->
				</li>
				<li class="ipsSteps_active">
					<strong class="ipsSteps_title">Krok 2</strong>
					<span class="ipsSteps_desc">Finalizacja</span>
					<span class="ipsSteps_arrow"> </span>
				</li>
			</ul>
		</div>

		<h1 class="maintitle">
				Finalizacja aukcji
		</h1>

		<div class="ipsBox_container ipsPad" style="">

			<div class="general_box clearfix">
				<h3>Wprowadź szczegółowe dane twojej aukcji</h3>
			</div>
			<div class="ipsSettings_section ipsTextBlock">
				<ul class="ipsForm ipsForm_horizontal">
					<li class="ipsField ">
						<label class="ipsField_title">Wybierz przedmiot:</label>

						<p class="ipsField_content">
						  <form action="index.php?app=samp&module=marketplace&do=newauction&step=3" method="POST">
							<input type="hidden" value="{$charID}" name="charid" />
							<input type="hidden" value="{$itemType}" name="itemtype" />
							<select name="item">
								<option value="0" disabled="disabled" selected="selected">Wybierz..</option>
								{$content}
							</select>
							<br />
							<span class="desc lighter">Wybierz przedmiot który chcesz wystawić na aukcje.</span>
						</p>
					</li>	

					<li class="ipsField ">
						<label class="ipsField_title">Ilość dni:</label>

						<p class="ipsField_content">
							<select name="lengthoftime" >
								<option value="0" disabled="disabled" selected="selected">Wybierz..</option>
								<option value="1">1 dzień (10$)</option>
								<option value="2">2 dni (20$)</option>
								<option value="3">3 dni (30$)</option>
								<option value="4">4 dni (40$)</option>
								<option value="5">5 dni (50$)</option>
								<option value="6">6 dni (60$)</option>
								<option value="7">7 dni (70$)</option>
							</select>
							<br />
							<span class="desc lighter">Ustaw czas trwania twojej aukcji.</span>
						</p>
					</li>	

					<li class="ipsField ">
						<label class="ipsField_title">Cena "Kup teraz":</label>

						<p class="ipsField_content">
							<input class="input_text" id="display_name" size="45" maxlength="26" value="" name="buynow" type="text">
							<br />
							<span class="desc lighter">Podaj cenę "Kup teraz" twojej aukcji, jeżeli nie chcesz opcji "Kup teraz" pozostaw puste.</span>
						</p>
					</li>	

					<li class="ipsField ">
						<label class="ipsField_title">Cena minimalna:</label>

						<p class="ipsField_content">
							<input class="input_text" id="display_name" size="45" maxlength="26" value="" name="bidprice" type="text">
							<br />
							<span class="desc lighter">Podaj cenę minimalną twojej aukcji, jeżeli aukcja ma być tylko na "Kup teraz" pozostaw puste.</span>
						</p>
					</li>
				</ul>
			</div>

			<div class="general_box clearfix">
				<h3>Opis aukcji</h3>
			</div>	
			<div style="width: 800px; margin-left: auto; margin-right: auto; text-align: center;">
					{$editor}
					<br />
					<input class="ipsButton" value="Wyślij" type="submit">
				</form>
			</div>
		</div>

	</div>		
</div>				
</div>

Zawartość php wcześniejszej podstrony, tej w której pokazuje edytor i wywołuje bit który dałem wyżej:

  	 if( $this->request['step'] == 2 )
	{
		$charID = $this->request['char_id'];
		$itemType =$this->request['item_type'];

		if( empty( $charID ) || empty( $itemType ) ) die("nopermission");

		$db = ipsRegistry::DB();
		$content = " ";

		if( $itemType == 1 ) //pojazdy
		{
			$db->query("SELECT id, vehName FROM samp_vehicles WHERE vehOwner='".$charID."'");
			$db->execute();
			if( $db->getTotalRows() == 0 ) die("nopermission");

			while( $row = $db->fetch() )
			{
				$content .= "<option value=\"".$row['id']."\">".$row['vehName']."</option>";
			}

		}

		$editor = IPSText::getTextClass( 'editor' )->showEditor( ' ', 'testowanazwazmiennej' );
		$template = $this->registry->output->getTemplate('samp')->trade_newauction_step2($editor, $content, $charID, $itemType);
		$this->registry->getClass('output')->addContent($template);		
	}

Jest to moduł publiczny, działanie widać po kodzie.. Nie mam pojęcia co bym jeszcze ci mógł zapodać tu :ninja:

Edytowane przez Pabi
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.