Jump to content
GIGN Forum

Php/mysql Ieteikumi Specifiskai Lapai


ANALGINS
 Share

Recommended Posts

pirmkart nepatik tas ka daru ar db lapam, konkretak es tipa gribu inkludot piemeram pkp.php ieks table.php kur visi linki k stuff redzami, to taks noteikti varetu uztaisit ta ka piemeram nospiezhot uz linka izpildas konkretais select`s un paradas konkretas tabulas saturs..

<?php
$con = mysql_connect("localhost","usr","usrpass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("baaze", $con);

$result = mysql_query("SELECT * FROM table1");

shis ir katram no 3 failiem ierakstits, kas no mana viedokla pret db droshibu nav pienjemams.. jo nemaku savienot loginu ar parejo lapas dalju lidz galam..

pie tam liekas ka paroles nehashojas, jo P un p liekas ka viens un tas pats..

jautajums ir ka sho te

if(logins_ir_korekts){include('table.php');} else { header("Location:login.php");}//vai ari neko nedarit var bez else

parvest dziive?

Edited by ANAL-GINS
Link to comment
Share on other sites

  • Replies 81
  • Created
  • Last Reply

Top Posters In This Topic

Koda arhitektūra, kas nāk ar pieredzi.

config_inc.php

<?
  $db=(object)array(
    "host"=>"localhost",
    "user"=>"",
    "pass"=>"",
    "name"=>"",
  );
  
  // paareejie suudi
  session_start();
?>

page_inc.php

// te čekojam sesijas un skatamies, ko inklūdot

index.php

<?
include("config_inc.php");
include("functions_inc.php");
mysql_connect($db->host,$db->user,$db->pass)or die("Database error");
mysql_select_db($db->name)or die("Database error");
?>
<html>
<head>
  ...
</head>
<body>
<?
  include("page_inc.php");
?>
</body>
</html>

Link to comment
Share on other sites

koda lielo pusi nosperu no kada tuta, un sho to pieliku klat no citurienes..

kam butu jabut ieks functions_inc.php? noraditam tabulam kas jainkludo ?

vispar tas 1337 links ir tas no kurienes esmu nograbis to kodu..

Edited by ANAL-GINS
Link to comment
Share on other sites

nu kr4 ta 4as tabulas

1 tabula "auth" kura ietverti visi logini usei

parejas 3 tabulas ar mainigajiem, ierpu izmeriem n stuff...

ir nepilnigs php kods, kuru vaig pielabot.. ta lai ielogojoties redz visas tabulas(spiezhot uzlinkiem) bet kad nav ielogojies un spiezh uz linkiem nevar atvert piemeram pkp.php....

vaig teiksim 4o leet failu, caur kuru varetu labot/dzest konkrets3 tabulas... tipa (aizmirsu ka tiesi sauc) nu kr4 ka uzspiez uz izvelnes lodzinja izvelas starp 3 tabulam kuras velas editot.. un tad ievada infu, teiksim izvelas pkp bazi un ievada atiecigas riepas n sttuff.. tas ir vis ko vaig..

Link to comment
Share on other sites

ar abiem

ar loginiem ir ta ka ja neielogojas un uzraksta table.php var redzet tas saturu, un tad jau atkrit dajebkada tolka no logina.. to vaig nofixot..

es varetu iedot db un kodu ko esmu uzmocijis lidz shim un tad varbutas kads labvelis varetu pasmieties par manam kludam, un varbutas pateikt/izlabot tas ?

Edited by ANAL-GINS
Link to comment
Share on other sites

nu vis jau buutu zaibis, javien es saprastu sho kodu

if  ($ir_ielogojies == 1){
print 'tev ir pieej';
}else {print 'tev nav pieej';}

es nesaprotu kas jaliek ieks $ir_ielogojies, parejais algoritms itka butu saprotams

varbutas tu varetu papetit esoso kodu un pateikt ? savadak man tumsha bilde..

Link to comment
Share on other sites

Pie ielogošanās, kad tu salīdzini klienta ievadītos datus ar datubāzē esošajiem datiem... pozitīva rezultāta gadījumā tev ir jāieseto kautkāds globāls mainīgais, kuram jāsatur lietotāja identifikators (visbiežāk tā būs sesija). Tālāk pārbaudi vai šis mainīgais ir iesetots un korekts.

Link to comment
Share on other sites

pienjemu ka tas ir shis koda gabals..

if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}

tad man butu jaraksta shadi ?

if  ($count==1){
print 'tev ir pieeja';
}else {'print 'tev nav pieej';}

shito kodu iebaroju, un tagad netieku gudrs kapec pie logina mani redirekte uz index un nelaizh ieksa.. tiklidz iznjem ara ta vis aiziet..

kods ieks forsham lapam

<?php
if($count == 1){include('dailrade.php');} else { header("Location:error.html");}//vai ari neko nedarit var bez else
?>

bet ka ielogojas ta met uz error lapu.. WTF?

Edited by ANAL-GINS
Link to comment
Share on other sites

wap1337, iesaku pašam saprast, ko tu dari un pēctam citiem nedot līkus kodus.

ANAL-GINS, es jau teicu - autorizējot lietotāju iestādi globālu mainīgo ar lietotāja identifikatoru un pēc tam pārbaudi vai mainīgais ir iesetots un atbilst patiesībai.

Pie ielogošanās, kad esi salīdzinājis ievadītos datus ar datubāzi, es darītu kkā tml

PHP

<?

  

function make_authid(){

      

$key=md5(time()+rand(10000,99999));

      

$sql="SELECT COUNT(*) AS c FROM `users` WHERE auth_id='".mysql_real_escape_string($key)."'";

      

$res=mysql_query($sql);

      

$row=mysql_fetch_object($res);

      return 

$row->c>0?make_authid():$key;

  }

  

$authid=make_authid();

  

mysql_query("UPDATE `users` SET auth_id='".mysql_real_escape_string($authid)."' WHERE id='".intval($uid)."'");

  

setcookie("authid",$authid,null,"/");

?>

Kautkādā globālā failā (kurš tiek visur inklūdots), paskatamies vai ir cepums, ja ir tad izselektējam no datubāzes lietotāja datus, kur auth_id ir $_COOKIE['authid']

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share


×
×
  • Create New...