• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

HTML/PHP - Formularz POST

Object Storage Arubacloud
0 głosów
162 wizyt
pytanie zadane 14 kwietnia 2019 w PHP przez Luna Cognita Dyskutant (8,130 p.)

Witam,

Mam pytanie jak przesłać metodą POST pole "description"? bo jak używam tego:

<form action="./index.php?id=clips&act=upload" method="post" enctype="multipart/form-data">
<label for="file"><span>Filename:</span></label>
<input type="file" name="file" />
Description: <input type="text" name="description" required />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

To zwraca array tylko z file, ale pola description już jakby nie przesyła.

Prosze o pomoc, pozdrawiam

komentarz 14 kwietnia 2019 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Jakbyś pokazał kod PHP to łatwiej będzie Ci pomoc w problemie.
komentarz 14 kwietnia 2019 przez Luna Cognita Dyskutant (8,130 p.)
				case 'upload':
					if(!isset($_POST['submit'])){
						require './templates/clips/upload.html.php';
					} else {
						$clips->uploadClip($_FILES);
					}
				break;

 

funkcja: 

		public function uploadClip($data){
			isset($_SESSION['uid']) ? $user = $_SESSION['uid'] : $user = NULL;
	
			if($user != NULL){
				$clipFullName = $data['file']['name'];
				$clipSize = $data['file']['size'];
				$clipTmpName = $data['file']['tmp_name'];

				$clipName = current(explode('.', $clipFullName));
				$clipExtension = strtolower(end(explode('.',$clipFullName)));
				$clipType = current(explode('/', mime_content_type($clipTmpName)));
				$newClipName = sha1(microtime()).'_'.rand(12500, 7259000).'.'.$clipExtension;

				$targetDir = __DIR__."/../files/";
				$targetPath = $targetDir.basename($newClipName);
					
				$acceptTypes = array('video');
				$maxClipWeight = (2048 * 1024 * 1024) * 2; //Maximum weight: 2GB
					
				if(in_array($clipType, $acceptTypes)){
					if($clipSize <= $maxClipWeight){
						$upload = move_uploaded_file($clipTmpName, $targetPath);

						if($upload) {
							$query = $this->conn->prepare('INSERT INTO clips VALUES (NULL, :owner, :name, :weight, :extension, :hash, :description, :price, :ip, :date, :solds, :promotion_left)');
							$query->bindValue(':owner', $user, PDO::PARAM_INT);
							$query->bindValue(':name', $clipName, PDO::PARAM_STR);
							$query->bindValue(':weight', $clipSize, PDO::PARAM_INT);
							$query->bindValue(':extension', $clipExtension, PDO::PARAM_STR);
							$query->bindValue(':hash', $newClipName, PDO::PARAM_STR);
							$query->bindValue(':description', 5, PDO::PARAM_STR);
							$query->bindValue(':price', 10, PDO::PARAM_INT);
							$query->bindValue(':ip', $_SERVER['REMOTE_ADDR'], PDO::PARAM_STR);
							$query->bindValue(':date', time(), PDO::PARAM_INT);
							$query->bindValue(':solds', 15, PDO::PARAM_INT);
							$query->bindValue(':promotion_left', 20, PDO::PARAM_INT);
							$query->execute();

							echo '<div class="alert alert-success"><b>Success!</b> Clip: <b>'.basename($clipName).'</b> has been uploaded correctly!</div>';
							print_r($data);
						} else {
							echo '<div class="alert alert-danger"><b>Error!</b> Unexcepted error while upload clip!</div>';
						}
					} else {
						echo '<div class="alert alert-danger"><b>Error!</b> Weight of uploaded clip is too big! Max: <b>'.round($maxClipWeight / 1024 / 1024, 3).' MB</b></div>';
					}
				} else {
					echo '<div class="alert alert-danger"><b>Error!</b> We accepts only video extensions!</div>';
				}
			} else {
				echo '<div class="alert alert-danger"><b>Error!</b> You must be logged in to upload clips!</div>';
			}
		}

 

komentarz 14 kwietnia 2019 przez Luna Cognita Dyskutant (8,130 p.)
przeniesione 15 kwietnia 2019 przez HaKIM
Nikt nie zna odpowiedzi?

1 odpowiedź

0 głosów
odpowiedź 15 kwietnia 2019 przez Gambr Dyskutant (7,530 p.)
edycja 15 kwietnia 2019 przez Gambr
$query->bindValue(':description', 5, PDO::PARAM_STR);

Dlaczego nie bindujesz opisu do zmiennej tylko do 5?

Ten kod to totalny makaron który jest praktycznie nieczytelny. Plus za angielskie nazwy zmiennych, ale popracuj nad podzieleniem tego na jakiejś mniejsze serwisy. 

Podobne pytania

0 głosów
1 odpowiedź 510 wizyt
pytanie zadane 27 lipca 2018 w PHP przez Olek Szymański Użytkownik (920 p.)
0 głosów
1 odpowiedź 722 wizyt
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 12 lutego 2019 w PHP przez Anetka Początkujący (260 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...