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

form & image, html, php, sql,

Object Storage Arubacloud
0 głosów
206 wizyt
pytanie zadane 21 kwietnia 2015 w PHP przez Damianexo Obywatel (1,710 p.)

Od trzech dni próbuję utworzyć formularz, w którym będę mógł wpisać np: Imię i Nazwisko oraz wybrać zdjęcie i zapisać dane do bazy (z tym, że obrazek powędruje do osobnego katalogu a do bazy danych zapisze się jedynie nazwa pliku- moze byc nawet jakas zmieniona nazwa specjalnie-data, no nie wiem).

Pisałem już tutaj na forum lecz nie otrzymałem odpowiedzi prócz linku do artykułu, który nic mi nie wyjaśnił. Przedstawię poniżej kod, który napisałem ale.. no właśnie- na razie jest bez obrazka i mam jeden problem. Jak wchodzę na tę zakładkę (to jest dodaj.php) to automatycznie mi wyświetla, że rekord został dodany :D

<?php
	session_start();
	if (!isset($_SESSION['zalogowany']))
	{
		header('Location: zaloguj.php');
		exit();
	}
	include('connect.php');
?>
<?php
	$current = "dodaj";
	include('header.php');

if(!isset($_SESSION['zalogowany'])/*mozliwe jakies inne warunki do spelnienia*/){
	echo 'Dostęp zabroniony';
} else {
	echo '
	<center>
		<table>
			<form action="dodaj.php" method="post">
				<tr><td>Imię:<input placeholder="Jan" type="text" name="imie" /></td>
				<td>Nazwisko:<input placeholder="Kowalski" ="text" name="nazwisko" /></td></tr>
				<td><input type="submit" value="Zatwierdź" /></td></tr>
			</form>
		</table>
		</center>';
}

// odbieramy dane z formularza
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];


	include('connect.php');
$query = mysqli_query($con, "INSERT INTO uzytkownicy SET imie='$imie',   nazwisko='$nazwisko'"); 
 if($query) echo "Rekord został dodany poprawnie";
    else echo "Nie udało się dodać nowego rekordu";

?>
<?php
 include('footer.php');
?>

 

2 odpowiedzi

0 głosów
odpowiedź 21 kwietnia 2015 przez toaspzoo Dyskutant (8,300 p.)

Wyświetla, bo za każdym odświeżeniem strony, wykonuje zapytanie sql. Zrób tak:

// odbieramy dane z formularza
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
 
 if(!empty($_POST['imie']) && !empty($_POST['nazwisko']))
{


    include('connect.php');
$query = mysqli_query($con, "INSERT INTO uzytkownicy SET imie='$imie',   nazwisko='$nazwisko'"); 
 if($query) echo "Rekord został dodany poprawnie";
    else echo "Nie udało się dodać nowego rekordu";
 


}

 

0 głosów
odpowiedź 21 kwietnia 2015 przez makoso Mądrala (7,380 p.)

Ja się nie przerzuciłem na mysqli bo jakoś dopiero poznałem mysql i nie mam ochoty teraz tego zmieniać -.- łap kod którym robię to co ty chcesz poprostu mysql Sobie pozamieniaj jakoś na mysqli jak tam będziesz chciał :)

 

<?php
//ustawienia ogolne

$siz="3145728";
$znaks="5";
$odst="_";


$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa1 = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];

$f = $_FILES['plik'];
IF($f['type'] == 'image/png' or $f['type'] == 'image/bmp' or $f['type'] == 'image/jpeg' or $f['type'] == 'image/gif')
	{
		
		
		$tabelka = '1234567890'; 
    $id = ''; 
    for ($i=0; $i<7; $i++) // 7 to długość ciągu 
    { 
        $id .= $tabelka[rand()%(strlen($tabelka))]; 
    } 
		
$data = $id; 
$length="$znaks";
$list=array_merge(range(0,9));
shuffle($list);
$string=$data;
$fold=strony;
$plik_nazwa="$string$odst$plik_nazwa1";

if(is_uploaded_file($plik_tmp)) {

$fol = strony;
$i1="<";
$i2=">";
     move_uploaded_file($plik_tmp, "./$folder/$plik_nazwa");
     chmod("./$folder/$plik_nazwa",0777);//0777 to chmod automatycznie pójdzie 477 chyba i nie będziesz mógł wyświetlić obrazka w w treści :) 777 jest niebezpieczne ale u mnie i tak tylko zaufane osoby moge wgrywać :)
}
}


	$marka=$_POST['name_z_formularza'];
	$model=$_POST['name_z_formularza'];
		$opis=$_POST['name_z_formularza'];
$obraz="http://twoja-domena/imgs/".$plik_nazwa;//tutaj masz swój plik
 $connection = @mysql_connect('host', 'login_baza', 'haslo_baza#') 
    or die('Brak połączenia z serwerem MySQL'); 
    $db = @mysql_select_db('baza_nazwa', $connection) 
    or die('Nie mogę połączyć się z bazą danych');

	// przekazujemy wartosci zmiennych do odpowiednich pol w bazie danych
	$zapytanie = "INSERT INTO nazwa_tabeli (kalumna1, kolumna2, kolumna3, kolumna4) VALUES ('$zapis_dokalumna1','$zapis_dokolumna2','$zapis_dokolumna3','$zapis_dokolumna4')" or die(mysql_error());
	// wykonaj zapytanie
	$wynik = mysql_query($zapytanie);

	if ($wynik) {
		header( 'Location: index.php' ) ;//przekierowujesz na jakąś stronę po załadowaniu
	}
 
		
?>

postarałem się trochę opisac zmienne bo odbierania danych z formularza chyba nie musiałem opisać :)

Podobne pytania

+2 głosów
2 odpowiedzi 810 wizyt
pytanie zadane 22 kwietnia 2015 w PHP przez Damianexo Obywatel (1,710 p.)
0 głosów
2 odpowiedzi 320 wizyt
pytanie zadane 14 maja 2015 w PHP przez Damianexo Obywatel (1,710 p.)
+1 głos
1 odpowiedź 436 wizyt
pytanie zadane 20 kwietnia 2015 w PHP przez Damianexo Obywatel (1,710 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 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!

...