..:: slovenska php stran ::..
uporabniško ime:
geslo:
- napiši
- arhiv
- sveže
- napiši
- arhiv
- Spletni ko...
- MySql Iska...
- Preprosta ...
- PHP - dina...
- Google - i...
- Števec obi...
- PHP - krat...
- PHP in MYS...
- mail skrip...
- prva stran
- izmenjava pasic
- pozabili geslo
slo-site.com
www.matjazev.net
Smrkec.com - Mnogo stvari na enem mestu
Pikslar.com
100si
stran: [1]
headpetrol
član

št. sporočil: 17
datum: 26.06.2010 | čas: 12:02

Pozdravljeni!

Sem preiskal forum in želel sam poiskati rešitev za mojo težavo, ampak brez uspeha. Naredil sem lasten forum  in registracijo z mysql bazo in težava je
sedaj v tem, ker ne vem kako naj nastavim, da bi lahko kometirali le prijavljeni. Plus me zanima kako naredim, da se mi izpiše ime uporabnika v
obrazec, ki dodaja text v bazo. Tako kot je tukaj na forumu, ki se izpiše uporabniško ime, da je v mojem primeru headpetrol dodal to temo.

Že v naprej se vam zahvaljujem za kakršnokoli pomoč!

Lp.




Ice-Heki
član

št. sporočil: 407
datum: 26.06.2010 | čas: 13:33

Ko se uporabnik prijavi v tvoj forum zagotovo dobi cookie ali session. Torej naredi preverjanje, če eno od tega obstaja: če obstaja, potem uporabniku prikažeš možnost vnosa komentarja, drugače ne.
V session lahko shraniš tudi ID uporabnika in potem, ko zapisuješ podatek v bazo, na tak način dobiš ID tvojega uporabnika, ki ga zapišeš zraven komentarja. Ko bereš podatke iz baze, pa greš v tabelo "uporabniki" preverit, kateremu uporabniku pripada izbran ID in namesto njegove številke (npr. 3585) prikažeš njegovo uporabniško ime (npr. headpetrol).




Nenehna vprašanja so prvi ključ do modrosti.
(Abelard)
headpetrol
član

št. sporočil: 17
datum: 26.06.2010 | čas: 23:55

Poskusil sem z nekaj takega, ampak ne gre.


Koda:

if(isset($_COOKIE['uporabnik_uporabnik']))
{
$uporabnik = $_COOKIE['uporabnik_uporabnik'];
$uid = $_COOKIE['uporabnik_id'];

$poizvedba = mysql_query("SELECT * FROM uporabniki WHERE id = '$uid' AND uporabnik = '$uporabnik'") or die(mysql_error());
while($vrstica = mysql_fetch_object($poizvedba))
{
if ($vrstica->id =='$uid')
{
if ($vrstica->uporabnik =='$uporabnik')
{
   echo "<form method=post action=novica.php?id=<?php echo $id ?>><br>
   $uporabnik<br>
<textarea name=komentar>




black
član


št. sporočil: 75
datum: 02.07.2010 | čas: 13:11

psevdo ampak se kr pravilna koda za login:

if (isset($_COOKIE['PHPSESSID']) {
    session_start();
}

// recimo, da je uid=1 nek Anonymous user, ce ni prijave
$user_id = isset($_SESSION['login_uid']) ? $_SESSION['login_uid'] : 1;

if ($_GET['op']=="login") {
   // preveri U/P v bazi in nastavi nekaj takega:
   if (list($uid) = mysql_fetch_row(mysql_query("select id from uporabniki where uporabnik='".mysql_escape_string($_POST['username'])."' and passwd='".mysql_escape_string($_POST['passwd'])."'"))) {
       session_start();
       $_SESSION['login_uid'] = $user_id = $uid;
   }
}
if ($_GET['op']=="logout") {
   // ob logoutu unici session podatke, nastavi userja na anonimnega
   $user_id = 1;
   session_destroy();
}

$is_logged_in = ($user_id>1);

... okvirno bi moral bit sistem za prijavo nekaj takega zgoraj. session_start() sem dodal notr sele ob prijavi (ali ce obstaja COOKIE od PHPSESSID), da se za razne google crawlerje in druge anonimne dostope ne delajo sessioni za brezveze. session_destroy() naj bi po spominu tudi odstranil ta cookie, poleg podatkov sessiona ...).

itak pa magic_quotes=Off in pa mysql_escape_string za vsak parameter SQL queryjem, da ne bos mel kaksnih "bobby'; drop table uporabniki; ---" uporabniških imen :)




fighting for peace is like fucking for virginity...
headpetrol
član

št. sporočil: 17
datum: 02.07.2010 | čas: 15:06

Hvala Black za še eno rešitev moje težave. Sam sem naredil tako, da sem datoteko in v njo sem nakazal v katerih mapah naj bi veljal cookie in v katerih ne.
Ne vem, če je to dobra ali slaba rešitev, zadeva dela. Sicer pa imam še eno vprašanje, ki se sicer ne tiče obstoječega problem, ampak ne želim odpirati nove teme
samo zaradi tega. Izdelujem navigacijo strani in uporabljam switch in težava pa nastane ko bi želel v switch dodati tudi novico iz baze. Primer:

<?php
$stran = $_GET['pg'];

switch($stran) {

case "prvastran":
$content = "prvastran/prva.php";
break;

case "novica":
$content ="prvastran/druga.php";  *
break;

default:
$content = "prvastran/prva.php";
break;
}
include($content);
?>

* Na tej strani se mi odpirajo novice
<?php
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM novice WHERE id = '$id'") or die (mysql_error());
$izpis = mysql_fetch_object($sql);

?>

Kako sedaj naredim, da mi ostane index.php stran in v željeno polje doda še novico
sem poskusil, da bi v $content = "prvastran/druga.php?id=$izpis->id"; ampak ne dela. Je
to kar želim narediti sploh možno.

Že v naprej se vsem zahvaljujem za pomoč pri tej težavi.




pubi
član

št. sporočil: 1346
datum: 03.07.2010 | čas: 10:51

index.php?pg=drugastran&id=1



lp
PUBI
headpetrol
član

št. sporočil: 17
datum: 03.07.2010 | čas: 11:44

Hvala pubi! Sedaj dela! Lp.



headpetrol
član

št. sporočil: 17
datum: 07.07.2010 | čas: 19:52

Še ena težava se je pojavila in nočem nove teme odpirati ker sem že eno in bom to izkoristil za vse moje "probleme". Želel bi, da obiskovalci lahko komentirajo novice, ampak mi ne uspe. Izpis mi deluje
ker sem prek phpmyadmina dodal nekaj komentarjev in mi jih izpisuje novih prek form pa ne vpiše v bazo in ne vem kako na form se izvede na isti strani.


Koda:

<?php
   include ("con.php");
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM novice WHERE id = '$id'") or die (mysql_error());
$izpis = mysql_fetch_object($sql);
   echo "<div id=podstrancontent><div id=podstranimenu><span class=naslovnice><br />
.: Ostale novice</span>";
   include 'novice.php';
   echo "</div>";
   echo "<div id=podstrantext> <div id=naslovnovice><h2>.: $izpis->naslov</h2><div id=datumnovice>$izpis->datum</div>
   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <br />
</div>
    <div id=clanek><img src='slike/$izpis->foto'>$izpis->novica";
   echo "<div id=komentar>";
$komentar = $_POST['komentar'];
$avtor = $_POST['avtor'];
$datum = $_POST['datum'];
if (!empty($komentar) && !empty($novica))
   {
    mysql_query ("INSERT INTO novice_komentarji (novicaID, komentar, avtor, datum) VALUES ('$id', '$komentar', '$avtor', '$datum')") or die (mysql_error());
    }
?>
<form method="post" action="index.php?pg=novica&id=$id">
<input type="hidden" name="datum" value="<?php echo (date('d.m.Y')); ?>" />
<input type="text" name="avtor" />
<textarea name="komentar"></textarea>
<input type="submit" name="submit" value="Dodaj komentar" />
</form>
<?php
   $sqlkomentarji = mysql_query("SELECT * FROM novice_komentarji WHERE novicaID = '$id' ORDER BY id DESC ") or die (mysql_error());
while ($izpiskomentarja = mysql_fetch_object($sqlkomentarji))
   {
   echo "<table width=100% cellpadding=10 cellspacing=1>
  <tr>
    <td valign=top width=20 bgcolor=#9a9a9a>$izpiskomentarja->avtor<br />
   $izpiskomentarja->datum</td>
    <td valign=top witdth=70% bgcolor=#FFFFFF bordercolor=#FFFFFF><span class=komentarji>$izpiskomentarja->komentar</span></td>
  </tr>
</table>";
   }
echo "</div></div>";
   
   echo "</div>";
   
   ?>






bole
član

št. sporočil: 123
datum: 07.07.2010 | čas: 21:12

ni sicer direkt povezano s problemom, ampak
<input type="hidden" name="datum" value="<?php echo (date('d.m.Y')); ?>"
$datum = $_POST['datum'];

seriously?

ok pa sm naredu tabelco novice_komentarji da vidmo kaj rata (select od novice in izpis sm zakomentiru)
Notice: Undefined index: komentar in omgwtf.php on line 16
Notice: Undefined index: avtor in omgwtf.php on line 17
Notice: Undefined index: datum in omgwtf.php on line 18

to je to:
$komentar = $_POST['komentar'];
$avtor = $_POST['avtor'];
$datum = $_POST['datum'];


jst bi prvo naredu
if ( !empty ($_POST['komentar'] ) && !empty( $_POST['avtor'] )  && !empty(  $_POST['datum'] ) )
da preveriš če je človek vsaj poslal komentar

no pa sm poskušal naredit komentar, avtomatsko me pošlje na ?pg=novica&id=$id <-FAIL
pa poglejmo
<form method="post" action="index.php?pg=novica&id=$id">  <- se ti ne zdi da če imaš HTML IZVEN php-ja da bi mogu to dat v php kodo posebi?
<form method="post" action="index.php?pg=novica&id=<?php echo $id ?>">  nekak tako

poglejmo naprej.. zdej uspešno pošlje, a shrani ne

pa poglejmo IF stavek pred insertom:
if (!empty($komentar) && !empty($novica))
say what? zdej zahtevaš $novica prej si pa $komentar naštimal? whoa!

ok, da ti mal olajšam življenje


tistih par vrstic popravljenih:



Citiram:

"if ( !empty ($_POST['komentar'] ) && !empty( $_POST['avtor'] )  && !empty(  $_POST['datum'] ) )
    {
        $komentar = $_POST['komentar'];
        $avtor = $_POST['avtor'];
        $datum = $_POST['datum'];

         mysql_query ("INSERT INTO novice_komentarji (novicaID, komentar, avtor, datum) VALUES ('$id', '$komentar', '$avtor', '$datum')") or die (mysql_error());
   
    }
?>
<form method="post" action="?pg=novica&id=<?php echo $id ?>"> "



še zmeri me moti datum

lp


sporočilo je spremenil bole [07.07.2010 ob 21:14]

headpetrol
član

št. sporočil: 17
datum: 15.07.2010 | čas: 00:13

tokrat imam bolj vprašanje kot problem, ki se je pojavilo. Gre za form, ki pošlje mail uporabniku s pozabljenim geslom.
Če form postavim tako :


Koda:

<form method="get" action="uporabniki/pozabljenogeslo.php">
<input type="text" name="mail">
<input type="submit" value="pošlji e-mail">
</form> 




mi zadeva deluje in pošlje mail, če pa uporabljam link s parametri kot tukaj:


Koda:

<form method="get" action="index.php?pg=pozabljenogeslo">
<input type="text" name="mail">
<input type="submit" value="pošlji e-mail">
</form>




pa mi ne dela, kaj to pomeni, da metoda get ne deluje s parametri, ampak le s posamezno stran.

Lp.




MrM
član

št. sporočil: 2078
datum: 15.07.2010 | čas: 01:26


Koda:

<form method="get" action="index.php">
  <input type="hidden" name="pg" value="pozabljenogeslo" />
  <input type="text" name="mail" />
  <input type="submit" value="pošlji e-mail" />
</form>






God is real, unless declared integer.
bole
član

št. sporočil: 123
datum: 17.07.2010 | čas: 09:02

Zakaj uporabljas GET?
naredi s POST pa je cist kul


Koda:

<form method="post" action="index.php?pg=pozabljenogeslo">
<input type="text" name="mail">
<input type="submit" value="pošlji e-mail">
</form> 






headpetrol
član

št. sporočil: 17
datum: 19.07.2010 | čas: 23:44

še zadnja težava se mi je pojavila in potem sem končal. Rad bi, da bi mi na prvi strani poleg napovedi novice se izpisalo kolikokrat je bila novica komentirana,
ampak zaenkrat nisem uspel rešiti to zagato.
Tukaj je moja koda:

Koda:

include ('povezava.php');
   $novicke = mysql_query ("SELECT * FROM novice") or die (mysql_error());
   $n = mysql_fetch_object($novicke);
   $pid = $n->id;
   $query = mysql_query("SELECT * FROM novice_komentarji WHERE novicaID = '$pid'") or die (mysql_error());
   $row = mysql_num_rows($query);
   
   $id = $_GET['id'];
   $sql = mysql_query("SELECT * FROM novice
   LEFT JOIN (SELECT MAX(id) MAXid FROM novice) M ON id = M.MAXid
   WHERE M.MAXid IS NULL ORDER BY id DESC LIMIT 5") or die (mysql_error());
   while($urejanje = mysql_fetch_object($sql))
   {
   $text = $urejanje->novica;
   $newtext = substr($text, 0,76);
   echo "<span class=povezave>
   <p>$urejanje->naslov<br />
   <span class=poddatum>$urejanje->datum</span></p>
   <span class=imgnovice><img src='slike/$izpis->foto'></span>
$newtext... <a href=index.php?pg=novica&id=$urejanje->id>ve&#269<br /></a></span><span class=comment>Komentarji($row)</span><br>";
   }




že v naprej se vam zahvaljujem za pomoč pri tej težavi in ostalim že rešenim težavam, ki so se mi pojavila pri izdelovanju.




Ice-Heki
član

št. sporočil: 407
datum: 20.07.2010 | čas: 06:22

Poskusi takole:

mysql_query("SELECT COUNT(*) FROM novice_komentarji WHERE novicaID='$pid'");




Nenehna vprašanja so prvi ključ do modrosti.
(Abelard)
headpetrol
član

št. sporočil: 17
datum: 20.07.2010 | čas: 09:07


Citiram:

" Poskusi takole:

mysql_query("SELECT COUNT(*) FROM novice_komentarji WHERE novicaID='$pid'"); "



Ice-Heki hvala za predlog, ampak še vedno ne deluje pri vseh novicah izpiše ničlo.




headpetrol
član

št. sporočil: 17
datum: 21.07.2010 | čas: 10:23

Še vedno nisem našel rešitve za mojo zadnjo težavo. Naredil sem korak bližje cilju kar prikazuje spodnja koda.


Koda:

$asql = mysql_query("SELECT novice.id,COUNT(novicaID) FROM novice,novice_komentarji WHERE novice.id = novice_komentarji.novicaID  GROUP BY novice_komentarji.novicaID ORDER BY novice_komentarji.novicaID DESC LIMIT 5") or die (mysql_error());
   while ($abc = mysql_fetch_array($asql)) {
   echo $abc['COUNT(novicaID)'];
   }




V tabeli novice_komentarji imam tako, da ima prva novica 5 komentarjev, druga 2 komentarja tretja 0 in četrta 5 komentarjev. Po zagonu kode v brskalniku se izpišejo številke 552 moralo pa bi se 5205. Upam, da mi lahko kdo pomaga, da rešim še to in objavim potem mojo spletno stran.

Lp.




pubi
član

št. sporočil: 1346
datum: 21.07.2010 | čas: 16:15

moral bi ti delati prej omenjeni count in tudi prvi primer, ki si ga ti napisal.  Tukaj pa ne vem kaj te moti. A te moti ker imaš vrstni red 552 in ne 5205, al je problem v tem, ker ne izpiše nule?

Za prvo odstrani order by, za drugo pa dodaj if pogoj:

Koda:

 
while ($abc = mysql_fetch_array($asql)) {

     if($abc['COUNT(novicaID)']>0)
         echo $abc['COUNT(novicaID)'];
    else
       echo '0';
   }






lp
PUBI
headpetrol
član

št. sporočil: 17
datum: 21.07.2010 | čas: 23:13

Pubi sem poskusil s tvojim nasvetom, ampak sedaj mi izpisuje 255. Kar hočem doseči je to:

Naslov 4
tekst 4 več
komentarji (5)

Naslov 3
tekst 3 več
komentarji (2)

Naslov 2
tekst 2 več
komentarji (0)

Naslov 1
tekst 1 več
komentarji (5)

Sicer pa je sem že zgoraj navedel, da pri izpisu teh novic izpustim zadnjo dodano novico in se mi le od 4 proti prvemu vpisu.
kar potrjuje ta koda:


Koda:

$id = $_GET['id'];
   $sql = mysql_query("SELECT * FROM novice
   LEFT JOIN (SELECT MAX(id) MAXid FROM novice) M ON id = M.MAXid
   WHERE M.MAXid IS NULL ORDER BY id DESC LIMIT 5") or die (mysql_error());
   while($urejanje = mysql_fetch_object($sql))
   {
   $text = $urejanje->novica;
   $newtext = substr($text, 0,76);
   echo "<span class=povezave>
   <p>$urejanje->naslov<br />
   <span class=poddatum>$urejanje->datum</span></p>
   <span class=imgnovice><img src='slike/$izpis->foto'></span>
$newtext... <a href=index.php?pg=novica&id=$urejanje->id>ve&#269<br /></a></span><span class=comment>Komentarji($row)</span><br>";
   }




Enostavno ne vem več kaj bi moral narediti, da bi mi naredilo kar si želim.

Lp.




headpetrol
član

št. sporočil: 17
datum: 23.07.2010 | čas: 18:51

Naredil sem korak bližje cilju, sedaj mi izpisuje po vrstnem redu novic, ampak problem je v tem, da preskoči tam kjer
ni komentarjev kar pomeni, da izpise 525 in ne 5205 kar je v bazi. Mogoče nekaterim grem že počasi na živce, ampak
res bi še to rešil in potem vas pustim na miru in bom sam poskušal ostalim pomagati pri podobnih situacijah ker bom
vedel kako rešiti zadevo. Tukaj je koda:


Koda:

$asql = mysql_query("SELECT novice.id, COUNT(novicaID) FROM novice,novice_komentarji WHERE novice_komentarji.novicaID = novice.id
GROUP BY novice.id ORDER BY novice_komentarji.novicaID = novice.id ") or die (mysql_error());
$abc = mysql_fetch_array($asql);
     if($abc['COUNT(novicaID)']>0) {
         echo "Komentarji:"; echo $abc['COUNT(novicaID)'];   }
    else {
       echo "Komentarji: 0";
   }




Lp.




stran: [1]
stran je še vedno v izdelavi zato nekatere stvari manjkajo oz. niso dokončane
forum -
teme zadnjih 24h -
iskanje -
statistika -
pravila -
Ali ste veseli nove ankete?

Itak!
Ne!
Anketa?

0.0126600265503
Število obiskov od 19.julija 2002: 1.284.186
php-si.com ne odgovarja za prispevke članov.
Copyright © 2002 php-si.com. Vse pravice pridržane