Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

cenzurisanje pristiglih poruka

[es] :: PHP :: cenzurisanje pristiglih poruka

[ Pregleda: 2522 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ramonakkkk

Član broj: 73731
Poruke: 31
*.ptt.yu.



Profil

icon cenzurisanje pristiglih poruka09.11.2005. u 14:47 - pre 224 meseci
Htela bih da napravim php stranu koja bi bila namenjena cenzurisanju pristiglih poruka pre njihovog objavljivanja na sajtu. Poruke koje su za cenzuru zelim npr da obrisem. Posavila sam <input> u petlju, ali je problem u tome sto on stalno brise poslednju poruku, a ne onu koju mu ja odredim. Ne znam gde gresim.

Hvala.

Code:
<form action='listamat.php' method='post' enctype='multipart/form-data' name='form1'> <?
include ('connect.php');

function check_mysql()
{
   if(mysql_errno() >>0)
  {
   die("<r> mysql error" . mysql_errno() . ": " . mysql_error());
   } 
}
if(!isset($id))
{
$id=0;
$ime="";
$poruka="";
$datum="";
}
}
if (isset($delete))
{
$query="delete from maturanti where id=$id";
$result=mysql_query($query);
check_mysql();
$ime="";
$poruka="";
$datum="";
    
}


$query=mysql_query("select * from maturanti order by id desc"); 
echo "<table>";

while ($row=mysql_fetch_array($query))
{
$ime="$row[1]";
$poruka="$row[2]";
$datum="$row[3]";
$id=$row[0];



echo " <tr class=\"unnamed1\"><td><strong>$row[3]&nbsp;&nbsp;&nbsp;$row[1]</strong>($row[0])<br>$row[2]<input type='hidden' name='id' value='$id'><input name='delete' type='Submit' value='obrisi'><br><br></td></tr>";

        
    }
echo "</table>";
?></form>


[Ovu poruku je menjao noviKorisnik dana 09.11.2005. u 16:48 GMT+1]
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.wxs.nl.



+3 Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 15:25 - pre 224 meseci
probaj umesto:

echo " <tr class=\"unnamed1\"><td><strong>$row[3]&nbsp;&nbsp;&nbsp;$row[1]</strong>($row[0])<br>$row[2]<input type='hidden' name='id' value='$id'><input name='delete' type='Submit' value='obrisi'><br><br></td></tr>";

da stavis:

echo "id = ".$id;
itd.


Mada mislim da je greska u:

<input type='hidden' name='id' value='$id'>

i da umesto $id treba da stavis $row[0]

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 15:41 - pre 224 meseci
ID ne treba da ti bude value nevidljivog inputa, već submit buttona. Hidden polje ti ne treba uopšte.

P.S. Koristi code tagove.
 
Odgovor na temu

ramonakkkk

Član broj: 73731
Poruke: 31
213.137.102.*



Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 19:21 - pre 224 meseci
Hvala na brzom odgovoru, ali ne pomaze...bar ne za sada.

1.
Citat:
jablan: ID ne treba da ti bude value nevidljivog inputa, već submit buttona. Hidden polje ti ne treba uopšte.
>> U ovom slucaju ne radi brisanje uopste. Ako u submit buttom value stavis id onda je to natpis na dugmetu, ali ne resava problem

2.
Koristi code tagove.

>>Kako?

________________________

3. [quote]SmilieBG: probaj umesto:

echo " <tr class=\"unnamed1\"><td><strong>$row[3]&nbsp;&nbsp;&nbsp;$row[1]</strong>($row[0])<br>$row[2]<input type='hidden' name='id' value='$id'><input name='delete' type='Submit' value='obrisi'><br><br></td></tr>";

da stavis:

echo "id = ".$id;
itd.

>>nije mi bas jasno kako ovo da izvedem.

4. Mada mislim da je greska u:

<input type='hidden' name='id' value='$id'>

i da umesto $id treba da stavis $row[0]
>> Ne pomaze.


Pozdrav od Anite
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 19:45 - pre 224 meseci
@jablan - to ne moze, mora da ima hidden, da bi prenela _sta_ da brise, prema tome, ostavi to hidden polje.

A ono na sta sam mislio, jeste da umesto:

Code:

$ime="$row[1]";
$poruka="$row[2]";
$datum="$row[3]";
$id=$row[0];

echo " <tr class=\"unnamed1\"><td><strong>$row[3]&nbsp;&nbsp;&nbsp;$row[1]</strong>
($row[0])<br>$row[2]<input type='hidden' name='id' value='$id'><input name='delete' type='Submit' value='obrisi'><br><br></td></tr>";


stavis, bukvalno sledece samo:

Code:

echo "id = ".$row[0]."<br>";
echo "ime = ".$row[1]."<br>";
echo "poruka = ".$row[2]."<br>";
echo "datum = ".$row[3]."<br>";


na ovaj nacin, prvo proveris da dobijas podatke koji tebi trebaju! Ako u ovom slucaju vidis sve sto treba da vidis, onda radis sledece (umesto prvog koda, stavis sledece):

Code:

echo "
<tr class=\"unnamed1\">
       <td><strong>$row[3]&nbsp;&nbsp;&nbsp;$row[1]</strong>
       ($row[0])<br>$row[2]<input type='hidden' name='id' value=$row[0]>
       <input name='delete' type='Submit' value='obrisi'><br><br></td></tr>";


Primeti, da sam samo promenio $id u $row[0]

Ukoliko ne dobijes u prvom koraku zeljene rezultate, javi... posto je onda negde drugde greska ;)

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

ramonakkkk

Član broj: 73731
Poruke: 31
213.137.102.*



Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 20:44 - pre 224 meseci
Ne radi ni dalje. Ono sto si napisao pomaze za resavanje, jer vidis vrednosti, ali problem je na nekom drugom mestu. Problem je u tome da on iz baze iz nekog svog razloga brise poslednji red, mozda je razlog u tome sto se on tu zaustavlja. Mozda bi resenje bilo da se odgovarajuci ID trazi ponovo u bazi, i da se ponovo pozicionira neposredno pre brisanja. Pokusala sam to da izvedem, ali mi nesto ne ide.
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 21:55 - pre 224 meseci
sta radis u ovoj skripti: listamat.php (ona koju pozivas na submit dugme)?

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

ramonakkkk

Član broj: 73731
Poruke: 31
213.137.102.*



Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 22:00 - pre 224 meseci
TO je isti taj script. Vraca se na isti file.
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 22:44 - pre 224 meseci
eh, sta umor ucini od coveka :)

Malo sam prepravio, ali nemam trenutno nijedan php editor instaliran, pa je vrlo moguce da ima sintaksickih gresaka negde :(

Code:

<?

echo "<form action= $_SERVER['PHPSELF'] method='post' enctype='multipart/form-data'>";

include ('connect.php');

function check_mysql()
{
   if(mysql_errno() >>0)
   {
       die("<r> mysql error" . mysql_errno() . ": " . mysql_error());
   } 
}

if(!isset($GET['$id']))
{
    $id=0;
    $ime="";
    $poruka="";
    $datum="";
}

if ($GET['delete'] = 'da')
{
    $query="delete from maturanti where id=$GET['$id']";

        // savet!! obrisi kometar sledeceg reda, a $result i check_mysql stavi u komentar, pa jednom tako pokreni skriptu
        // echo $query;

    $result=mysql_query($query);
    check_mysql();

    echo "<a href = 'listamat.php'>Nazad</a>";
    exit;
}


$query=mysql_query("select * from maturanti order by id desc"); 
echo "<table>";

while ($row=mysql_fetch_array($query))
{

echo "
<tr class=\"unnamed1\">
    <td>
    <strong>$row[3];$row[1]</strong>($row[0])
    <br>$row[2]
    <input type='hidden' name='id' value='row[0]'>
    <input type='hidden' name='delete' value='da'>
    <input name='delete' type='Submit' value='obrisi'>
    <br><br>
    </td>
</tr>";
}

echo "</table></form>";

?>


Poz,
Sale

[Ovu poruku je menjao SmilieBG dana 09.11.2005. u 23:49 GMT+1]
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: cenzurisanje pristiglih poruka09.11.2005. u 23:32 - pre 224 meseci
Problem je bio što se sve nalazilo u jednom formularu, sa mnogo Submit dugmadi na kojima piše nešto o brisanju, i sa mnogo skrivenih inputa različitih vrednosti koji dele isto ime.

I - šta se dešava kada se prosledi formular? ... Prepozna se poslednji definisani hidden input i briše se ono što mu odgovara.

Da bi to funkcionisalo ovako kako stoji, treba umesto jednog formulara za sve da se napravi po jedan formular za svaku kombinaciju hiddena i submita. To nije teško, zar ne?
Code:
<form action='listamat.php' method='post'>
<input type='hidden' name='id' value='$id' />
<input name='delete' type='Submit' value='obrisi' />
</form>


Ono što je jablan predlagao radi - jedino što nije intuitivno gledati dugme s nekim brojem - "ako klikneš na broj, nestaće poruka" ;-)

Naravno, odradio bih to na sasvim treći način, koje omogućava da se izaberu poruke za brisanje i da se jednim klikom na submit odradi brisanje izabranih poruka. Onda treba samo jedno submit dugme, a umesto hiddena koriste se hiddeni s imenom id[].

Ovo je u petlji
Code:
<input type='checkbox' name='id' value='$id' />

A ovo u formularu van petlje
Code:
<input name='delete' type='Submit' value='obrisi' />


Proces brisanja...
Code:
if ($_SERVER ['REQUEST_METHOD'] == 'POST' && isset ($_POST ['delete']) && isset ($_POST ['id']))
{
    foreach ($_POST ['id'] as $id)
    {
        $query="delete from maturanti where id=$id";
        $result=mysql_query($query);
        check_mysql();
    }
}


... i još nešto... potrudi se da isključiš register_globals i prilagodi tome skripte - čuva od gomile bočnih efekata.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: cenzurisanje pristiglih poruka10.11.2005. u 08:39 - pre 224 meseci
Citat:
noviKorisnik: Ono što je jablan predlagao radi - jedino što nije intuitivno gledati dugme s nekim brojem - "ako klikneš na broj, nestaće poruka" ;-)

Užas... Skroz sam ispao iz fazona...

Da probam da se iskupim:
Code:

<form>
<input type="hidden" name="val">
<?php
if (isset($_REQUEST['val']))
  echo $_REQUEST['val']. " <br />\n";


for ($i = 0; $i < 10; $i++) {
  echo "text$i <input type=submit onclick=\"val.value=$i\" value=\"delete\"> <br/>\n";
}
?>
</form>
 
Odgovor na temu

k0nj!na
Dzowadin Konjosav
Novi Sad

Član broj: 2137
Poruke: 39
*.vdial.verat.net.



Profil

icon Re: cenzurisanje pristiglih poruka10.11.2005. u 13:43 - pre 224 meseci
Da si napisao ovo:

Code:

<form>
<?php
if (isset($_REQUEST['delete']))
  echo $_REQUEST['delete']. " <br />\n";

for ($i = 0; $i < 10; $i++) {
  echo "text$i <input type=submit onclick=\"this.value=$i\" value=\"delete\"> <br/>\n";
}
?>
</form>


iskupio bi se. Ovako ništa.. :)
~ k0nj!na ~
 
Odgovor na temu

ramonakkkk

Član broj: 73731
Poruke: 31
213.137.102.*



Profil

icon Re: cenzurisanje pristiglih poruka10.11.2005. u 15:53 - pre 224 meseci
Havala na pomoci!!! Uspela sam. Najvise mi je pomogla poruka od noviKorisnik. Svaka cast.


Znala sam da je neka sitnica u pitanju, ali zaista mi pomoc puno znaci. Sada dosta stvari mogu da unapredim zahvaljujuci ovome.

I drugi deo sugestije od NK je jako koristan, mozda cu ga upotrebiti bas u tom obliku u kombinaciji sa jos jednim ili dva radio buttona za prikazivanje ili ne prikazivanje poruka.

Hvala svima jos jednom!!!

Pozdrav od Anite
 
Odgovor na temu

[es] :: PHP :: cenzurisanje pristiglih poruka

[ Pregleda: 2522 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.