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

Rekomendowane odpowiedzi

Opublikowano

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.

Opublikowano (edytowane)

$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
  • Manager
Opublikowano

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.

Opublikowano (edytowane)

Pozmieniałem, dalej to samo. Dodam że wszystkie pozostałe inputy z tego formularza działają poprawnie.

Edytowane przez Pabi
Opublikowano

<div id='ed-0_wrap' class='editor'>
<textarea name="testowanazwazmiennej" class="input_rte" id="ed-0_textarea" rows="10" cols="60" tabindex="0"></textarea>
</div>

Widzi mi się że poprawnie.

Opublikowano

  	 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:

Opublikowano (edytowane)

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
  • Manager
Opublikowano

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.

Opublikowano (edytowane)

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

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ę.