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

Zawiesza strone, czemu?

Object Storage Arubacloud
0 głosów
216 wizyt
pytanie zadane 10 października 2017 w PHP przez Raster22 Obywatel (1,640 p.)

Więc tak, mam strone ktora pobeira plik txt. z plliku wyciaga dane i dodaje do tabeli. Dziala to bez odswiezania. Ajax.

XAMP: Jak plik jest w htdocs w folderze z plikami to ladnie wszystko dziala. Ale jesli wezme plik z pulpitu to wywala mi strone  sie wszystko zacina. Dodatkowo jesli te dwa same pliki sa w htdocs i drugi na pulpicie to wtedy z pulpitu plik dziala. Coś jakby nazwe pobieralo ale tresc szukalo w plikach programu. Wiecie przez co tak może być?

<?php
	$polaczenie = @new mysqli("localhost","root","","uczelnia");
	if ($polaczenie->connect_errno!=0)
		{
			echo "Error".$polaczenie->connect_errno;
		}
	else
		{
		function czas_wczyt()
			{ 
				list($usec, $sec) = explode(' ', microtime()); 
				return ((float)$usec + (float)$sec); 
			}
		$time_start = czas_wczyt();
		$tytul = $_FILES["file"]["name"]; 
		$plik=fopen($tytul, "r");  																					
		$zawartosc = '';
		while(!feof($plik))   																						
			{
				$linia = fgets($plik);
				$zawartosc .= $linia;   																							
			}
		$linie = explode("\n", $zawartosc);   										
		for($nr=0; $nr<count($linie); $nr++)         								
			{
				$numer_linii = $linie[$nr];
				if(trim($linie[$nr])==null)																												
			{
				break;																												
			}
		else
			{
				$tablica = explode(";", $numer_linii);
				
				$imie=$tablica[0];
				$nazwisko=$tablica[1];
				$przedmiot=$tablica[2];
				$data=$tablica[3];
				$ocena=$tablica[4];
				$id_ucznia=$tablica[5];
				
				$sprawdz = "select id_ucznia from studenci where id_ucznia='$id_ucznia'";
				$wyslij = $polaczenie->query($sprawdz);
				$wynik = $wyslij->num_rows;
				
		if($wynik == 1)
		{
			$zapytanie = $wyslij = "UPDATE studenci SET imie = '$imie', nazwisko = '$nazwisko', przedmiot = '$przedmiot', data_egzaminu
			= '$data', ocena_egzaminu = '$ocena' WHERE id_ucznia='$id_ucznia'";
		}
		else
		{
			$zapytanie = "INSERT INTO studenci (imie,nazwisko,przedmiot,data_egzaminu,ocena_egzaminu,id_ucznia) VALUES ('$imie','$nazwisko',
			'$przedmiot','$data','$ocena','$id_ucznia')";
		}
		$do_bazy = $polaczenie->query($zapytanie);
		}}
		$time_stop = czas_wczyt();
		$roznica = $time_stop - $time_start;
		
		$liczby = preg_replace('/[^0-9]/', '', $zawartosc);
		$ilosc_liczb= strlen(preg_replace('/[^0-9]/', '', $zawartosc));  
		echo 'W pliku jest <b>'.$ilosc_liczb. '</b> cyfr';
		$cyfry = str_split($liczby, 1);  //
		sort($cyfry);
		$y = count($cyfry);
		$x = ($y / 2 ) ; 
		if($y % 2)
		   $mediana = $cyfry[$x];
		else
		   $mediana = ($cyfry[$x] + $cyfry[$x - 1]) / 2;
		echo " oraz mediana tych cyfr to <b>".$mediana.'</b>'; 
		
		$zapytanie_hist = "INSERT INTO historia (nazwa,czas) VALUES ('$tytul','$roznica')";
		$do_bazy_hist = $polaczenie->query($zapytanie_hist);

	}
	

?>
<?php
include('tlumacz.php');
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
 <body>
	<div id="left_menu">
		  <div id="jezyk">
				<p style="margin-top:4px; padding-bottom:-15px;"><?php  echo translate('wybierz_jezyk'); ?></p>
				<form style="margin-top:-11px;" action="zmiana_jezyka.php">
					<button name="lang" value="pl">Polski</button>
					<button name="lang" value="en">English</button>
				</form>
			
			</div>
			<div id="strefa">
				<p style="margin-top:4px"><?php  echo translate('strefa'); ?>
					<script type="text/javascript">
						var d = new Date();
						var n = d.getTimezoneOffset();
						var y = n/60;
						var x = y.toFixed(2)
						var str = new String(x);
						var tab = str.split(".");
						document.write('UTC ',tab[0],':',tab[1]);
					</script>
					</br>
					<?php  echo translate('jezyk'); ?>
				</p>
			</div>
		<div id="historia">
			<?php include "select.php";
			?>
		</div>
	</div>
	
	<script type="text/javascript">
		setInterval( "refreshShoutbox()", 2000 );
		function refreshShoutbox ( )
		{
		$('#historia').load('select.php');
		}
	</script>
	
	<div id="right_menu">
		<h1> 	<?php  echo translate('witaj'); ?></h1>
		<h2> 	<?php  echo translate('wybierz_plik'); ?> <h2>
	 
		<form action ="skrypt.php" id="dane"  method="post" enctype="multipart/form-data">   
			<div id="file-input" style="">
				<input type="file" name="file" id="file"/>
				<span class="input-value"><?php  echo translate('przegladaj_pliki'); ?> <img id="img" src="image/lupa.png"/></span>
				<script type="text/javascript">
					$(function(){
						$('#file-input > input').on('change',function(){
							var inputValue = $(this).val();
						$('.input-value').html(inputValue);
						});
					});
				</script>
			</div> </br>
			<input type="submit" value="<?php  echo translate('wyslij'); ?>" id="submit"/>
			</br></br>
     
		</form>
    
	<div id="liczby"> </div>
   
    <script type="text/javascript">
		$("#dane").submit(function(){
		 
			var formData = new FormData(this);
		 
			$.ajax({
				url: "skrypt.php",
				type: 'POST',
				data: formData,										
				async: false,
				success: function (data) {
				 document.getElementById("liczby").innerHTML =data;
				},
				cache: false,
				contentType: false,
				processData: false
				});
				return false;
			});
	</script>
	</div>
     
</body>
 
 
</html>

 

1 odpowiedź

+2 głosów
odpowiedź 10 października 2017 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Pierwsze wrażanie jakie mam to nie chce mi się patrzeć na ten kod.
Po pierwsze zrób porządek w kodzie i oddziel kod JS-a od HTML-a, bo ja osobiście nie mogę na to patrzeć.
komentarz 10 października 2017 przez Raster22 Obywatel (1,640 p.)
To nie patrz.
3
komentarz 10 października 2017 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Szanuj czas innych, jak chcesz żeby Ci pomogli.

Bo żeby przebrnąć przez takie spaghetti to potrzeba 3 razy więcej poświęcić czasu, żeby zrozumieć coś z takiego kodu.
komentarz 10 października 2017 przez Raster22 Obywatel (1,640 p.)
problem tkwił w " $tytul = $_FILES["file"]["name"]; " powinno być tmp_name. I sorry, poniosło mnie bo juz sie pierdziele z tym cały dzien :D
komentarz 11 października 2017 przez grzybu Obywatel (1,760 p.)
staraj się na przyszłość utrzymać kod w sposób łatwy do odczytu podzielny na pliki i z komentarzami to pomaga w wyszukiwaniu problemów bo za miesiąc jestem przekonany że sam nie będziesz wiedział o co w tym chodzi.

Polecam też wykonywać małe testy jednostkowe które pomagają zlokalizować błędy od razu

Podobne pytania

0 głosów
1 odpowiedź 227 wizyt
pytanie zadane 27 czerwca 2022 w C i C++ przez MichaelM Bywalec (2,540 p.)
–1 głos
3 odpowiedzi 667 wizyt
pytanie zadane 30 maja 2021 w PHP przez KFC Użytkownik (610 p.)
+1 głos
1 odpowiedź 227 wizyt
pytanie zadane 19 czerwca 2020 w PHP przez Bakkit Dyskutant (7,600 p.)

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

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

...