Jump to content
php.lv forumi

murgs ar upload skriptu


hackerman

Recommended Posts

<?php
session_start();
include('config.php');

$lietotajvards = $_POST['lietotajvards'];
$parole = md5($_POST['parole']);
$kverijs = "select * from lietotaji where lietotajvards='$lietotajvards' and parole='$parole'";
$iznak = mysql_query($kverijs);

if (mysql_num_rows($iznak) != 1) {
$error = "Nesanaca";
echo "nepareiza parole un/vai lietotajvards!<br>";

} else {
$_SESSION['lietotajvards'] = "$lietotajvards";

include "upload.php";
}

?>


<?
if (empty($_POST["lietotajvards"])) 

die ("<script> alert('Aizpildi visus laukus!'); window.back()</script><br>");

?>
<?
if (empty($_POST["parole"])) 

die ("<script> alert('Aizpildi visus laukus!'); window.back()</script><br>");

?>

 

 

Problēma tā, ka inklūdo to upload.php un, kad spiežu pogu ''upload'', tad man izmet paziņojumu Aizpildi visus laukus!

Pats skripts iet :) Vainīgs ir tas, ka viņš inklūdo to failu upload.php iekš login.php un login.php čeko to, vai ir aizpildīti visi lauki...

 

Kā apiet vai savādāk uzrakstīt to skriptu?

Link to comment
Share on other sites

Šodien centīšos izskaidrot labāk :)

 

login.php:

 

<?php
session_start();
include('config.php');

$lietotajvards = $_POST['lietotajvards'];
$parole = md5($_POST['parole']);
$kverijs = "select * from lietotaji where lietotajvards='$lietotajvards' and parole='$parole'";
$iznak = mysql_query($kverijs);

if (mysql_num_rows($iznak) != 1) {
$error = "Nesanaca";
echo "nepareiza parole un/vai lietotajvards!<br>";

} else {
$_SESSION['lietotajvards'] = "$lietotajvards";

include "upload.php";
}

?>


<?
if (empty($_POST["lietotajvards"]))

die ("<script> alert('Aizpildi visus laukus!'); window.back()</script><br>");

?>
<?
if (empty($_POST["parole"]))

die ("<script> alert('Aizpildi visus laukus!'); window.back()</script><br>");
?>

 

 

Ja informācija ir pareizi ievadīta, tad viņš inklūdo failu upload.php

Ja login informācija nav pareiza, tad kā redzat viņš bļauj ar alert logu, ka nav ievadīts kautkas :)

 

Problēma tā, ka, kad ir inklūdots fails upload.php un es gribu uplodot, man izmetas tas alert logs...

Precīzāk, es nospiežu button pogu "upload" un viņš nez kapēc čeko paroli vai username....

Link to comment
Share on other sites

Neiebraucu. Ja tu vienu skriptu inkludo otrā, tad, protams, ka tas "kļūs par tā sastāvdaļu". A kāpēc tev vispār jāinkludo upload.php iekš login.php ? Nebūtu labāk un loģiskāk, ja lietotājs veiksmīgi ielogojies, tad redirektē uz upload.php ? Galvenais tikai neaizmirsti iestartēt sesiju iekš tā upload.php un pārbaudīt vai vajadzīgie sesijas mainīgie ir uzstādīti.

Link to comment
Share on other sites

Mēģināju redirektēt ar

 

header("Location: upload.php");

 

un atkal errors :D

 

 

Warning: Cannot modify header information - headers already sent by (output started at config.php:2) in login.php on line 17

 

Moška labāk izmantot savādāku redirekta metodi?

Link to comment
Share on other sites

Nē, pārbaudi vai pirms redirekta nenotiek ouputs. Ja nenotiek, bet fails ir UTF8 kodējumā, tad pārbaudi vai tā sākumā nav "maģiskie" BOM simboli (tos var redzēt ar HEX editoru). Paņem, piem, notepad++ un pārseivo to failu bez DOM.

 

Vēl jau arī vari php.ini failā ieslēgt Output_buffering direktīvu uz On.

Link to comment
Share on other sites

Kodu jau iepriekš var�“ja apskatīt, bet ieskaties tom�“r v�“l :) http://paste.php.lv/5243

 

Pārsvarā visu redig�“ju ar notepad++ :) Kod�“jums pirms tam bija ANSI, bet uzliku uz UTF-8 un pienāca klāt nākaimais errors :D

 

 

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ogin.php:1) in login.php on line 2



Warning: Cannot modify header information - headers already sent by (output started at login.php:1) in login.php on line 18

 

 

Nu atliku atpakaļ uz to ansi :) Tagad paskatīšos, kas ir ar to php.ini

 

edited: ieraudzīju to utf without bom :) Tāds pats rezultāts kā bija ar to ansi ..

Edited by hackerman
Link to comment
Share on other sites

×
×
  • Create New...