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

Pomoć oko izmene Delete Form

[es] :: PHP :: Pomoć oko izmene Delete Form

[ Pregleda: 2012 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Pomoć oko izmene Delete Form02.07.2013. u 14:43 - pre 131 meseci
Hteo bih da izmenim postojeću formu za brisanje postova al mi ne polazi za rukom. Sadašnja forma dobro radi al bih hteo da izmenim jer post koji hoću da obrišem se bira iz select liste. Evo dela koda koji bih da izmenim:
Code:
<h4>Izaberi post koji se briše</h4>
        <form action="delete.php" method="get">
            <select onchange="this.form.submit();" name="id">
               <?php foreach ($articles as $article) {?>
               <option value="<?php echo $article['article_id'];?>"><?php echo $article['article_title'];?></option>
               <?php } ?>
            </select>
            
        </form>


Ja bih sad htio da postove ne biram iz selecta nego da mi budu poređani u tabelu i da pored imam ikonicu za brisanje. Ja sam probao ovako da to uradim:
Code:
<h4>Izaberi post koji se briše</h4>
        <form action="delete.php" method="get">
        <tr name="id">
            <?php foreach ($articles as $article) {?>
            <td><input type="hidden" value="<?php echo $article['article_id'];?>"/><?php echo $article['article_title'];?></td>
            <td><a href="delete.php"><img src="delete.png"/></a></td>
         </tr><br/>
            <?php } ?> 
        </form>

Negde pravim grešku, jer il neće uopšte da briše post il obriše samo poslednji bez obzira na koji ja kliknuo...
Ima li neko ideju gde grešim...
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Pomoć oko izmene Delete Form02.07.2013. u 15:07 - pre 131 meseci
Nigde nisi označio koji post brišeš, pa ti se verovatno zbog toga briše poslednji. HTML ti nije dobar...tr tag se otvara van petlje, a zatvara u petlji.

Code:
<form action="delete.php" method="get">

            <?php foreach ($articles as $article) {?>
        <tr name="id">
            <td><?php echo $article['article_title'];?></td>
            <td><a href="delete.php?id=<?php echo $article['article_id'];?>"><img src="delete.png"/></a></td>
         </tr>
            <?php } ?> 

</form>


I u delete.php brišeš post sa određenim ID -> $_GET["id"]
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Pomoć oko izmene Delete Form02.07.2013. u 16:46 - pre 131 meseci
Hvala Ivane. Biću slobodan pa ću te pitati još nešto oko čeka se petljam da ne postavljam novu temu...
Pored ove forme za brisanje oko koje si mi pomogao, htio bih da napravim i edit.php formu za editovanje postojećih postova. Pokušao sam da iskombinujem add.php i delete.php al ne ide. Znači ona kao i ova oko koje si mi pomogao izlista postove i kad kliknem na edit ucitava mi formu istu kao i ovu na add.php i preko id u naslov ucitam naslov a u sadrzaj sadrzaj. Toliko sam se zapetljao da je bolje da ne postavljam sta sam uradio. Postavicu add.php i delete.php koji rade pa ako može mala pomoć oko izrade edit.php
delete.php
Code:
<?php
session_start();
$article = new Article;

if(isset($_SESSION['logged_in'])){
    if(isset($_GET['id'])){
       $id = $_GET['id'];
       $query = $pdo->prepare('DELETE FROM articles WHERE article_id = ?');
       $query->bindValue(1, $id);
       $query->execute();
       header('Location: delete.php');
       
    }
    $articles = $article->fetch_all();
    
    ?>
    
    <html>
    <head>
    <title></title>
    </head>
<body>
    <div class="container">
        <a href="index.php" id="logo">Admin</a>
        <br/>
        <h4>Select an article to delete</h4>
        <form action="delete.php" method="get">

            <?php foreach ($articles as $article) {?>
        <tr name="id">
            <td><?php echo $article['article_title'];?></td>
            <td><a href="delete.php?id=<?php echo $article['article_id'];?>"><img src="delete.png"/></a></td>
         </tr><br/>
            <?php } ?> 

</form>
        
    </div>
</body>
</html>
    
    <?php
}else {
    header('Location: index.php');
}
?>

add.php
Code:
<?php
session_start();
if(isset($_SESSION['logged_in'])){
    if(isset($_POST['title'], $_POST['content'])){
       $title = $_POST['title'];
       $content = nl2br($_POST['content']);
       
       if(empty($title) or empty($content)){
            $error = 'All fields are required!';
       } else {
         $query = $pdo->prepare('INSERT INTO articles (article_title, article_content, article_timestamp) VALUES (?,?,?)');
         $query->bindValue(1, $title);
         $query->bindValue(2, $content);
         $query->bindValue(3, time());
         $query->execute();
         header('Location: index.php');
       }
    }
    ?>
    <html>
    <head>
    <title>Admin</title>
    </head>
<body>
    <div class="container">
        <a href="index.php" id="logo">Admin</a>
        <br/>
        <h4>Dodaj post</h4>
        <?php if (isset($error)) { ?>
        <small style="color:#aa0000"><?php echo $error; ?></small>
        <br/><br/>
        <?php } ?>
        <form action="add.php" method="post" autocomplete="off">
        <input type="text" name="title" placeholder="Title"/><br/><br/>
        <textarea rows="15" cols="50" name="content" placeholder="Content"></textarea><br/><br/>
        <input type="submit" value="Dodaj post"/>   
        </form>
    </div>
</body>
</html>
    <?php
} else {
    header('Location: index.php');
}

?>
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
89.216.28.*



+44 Profil

icon Re: Pomoć oko izmene Delete Form03.07.2013. u 12:51 - pre 131 meseci
Možeš sve uraditi u okviru jednog fajla, a upite izvršavati u odnosu na zahteve koji su prosleđeni. Mislim na to da ne moraš za svaki kreirati novi fajl (add, edit, delete itd).

Npr:
post_edit.php

Code:
<?php 

//BRISANJE
if ( isset($_GET["delete"]) AND is_numeric($_GET["delete"]) ) {
  $id = (int) $_GET["delete"];
  //KOD ZA BRISANJE POSTA -> $id
}

//DODAVANJE/UREĐIVANJE
if ( isset($_GET["add"]) ) {
   
  //EDITOVANJE
   if ( isset($_GET["edit"]) AND is_numeric($_GET["edit"]) ) {
   $id = (int) $_POST["id"];
   //KOD ZA SELECT WHERE article_id = $id
   $article_id = $row["article_id"];
   $article_title= $row["article_title"];
   $article_text= $row["article_text"]; // ili kako vec ide naziv tog polja...
   } else {
     $article_id = ""; 
     $article_title = "";
   }
   ?>
   <h2>Dodaj novi post</h2>
  <form action="" method="post">
   <table>
      <tr>
        <td>Post name: </td>
        <td><input type="text" value="<?= $article_title?>" name="article_title" /></td>
      </tr>
      <tr>
        <td>Text: </td>
        <td><textarea name="article_text"><?=$article_text?></textarea></td>
      </tr>
      <tr>
        <td></td>
        <td><input type="submit" value="Dodaj/Izmeni" name="post_add"  /></td>
      </tr>
   </table> 
   </form>
   <?php
}
?>


To ti je neka osnovna forma za unos/editovanje postova. Naravno, potrebno je da je izmeniš tako da polja i nazivi polja budu odgovarajući. Bitno je da shvatiš suštinu.

Potrebno je još da dodaš kod za dodavanje tj. editovanje postova (na samom početku ovog fajla):

Code:
if ( isset($_POST["post_add"]) AND isset($_POST["article_title"]) AND isset($_POST["article_text"])) {
   $article_title= $_POST["article_title"];
   $article_text= $_POST["article_text"];

  //Dodavanje ili editovanje posta
  
  //dodavanje:
  if ( !isset($_GET["edit"]) ) {
   //OVDE IDE INSERT 
  } else {
   $id = (int) $_GET["edit"]; 
   //OVDE IDE UPDATE GDE JE POST ID -> $id
  }
}


I tako za delete isto...
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Pomoć oko izmene Delete Form03.07.2013. u 14:31 - pre 131 meseci
Hvala, nemoj se čuditi mojim pitanjima jer sam počernik...video sam da može da se to odradi u jednom fajlu al sam izbegavao jer nisam znao kako da onda pozovem ili dam privilegije
npr u kodu oko kog si mi pomogao pozivao sam jednostavno sa delete.php
Code:
<form action="delete.php" method="get">
.
.
.
<td><a href="delete.php?id=<?php echo $article['article_id'];?>"><img src="delete.png"/></a></td>


Ne znam kako bih to uradio da su mi npr u istom fajlu bili i kod za delete i edit i....
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Pomoć oko izmene Delete Form03.07.2013. u 15:17 - pre 131 meseci
Jednostavnom proverom.

Ako je u pitanju editovanje, koristiš $_GET["edit"]:

if ( isset($_GET["edit"]) AND is_numeric($_GET["edit"]) ) {
//FORMA ZA EDITOVANJE POST-a GDE JE id = $_GET["id"]
}

if ( isset($_GET["add"]) ) {
//FORMA ZA DODAVANJE POSTA
}

if ( isset($_GET["delete"]) AND is_numeric($_GET["delete"]) ) {
//FORMA ZA BRISANJE POST-a GDE JE id = $_GET["delete"]
}

Slanje zahteva $_POST metoda:
U formi imaš:
<input type="text" name="article_title" value="" />

Kada se pošalje zahtev:
if ( isset($_POST["article_title"]) ) {
$article_title = $_POST["article_title"]; // <--- NASLOV
}
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Pomoć oko izmene Delete Form03.07.2013. u 19:30 - pre 131 meseci
Napravio sam kao neku formu (za sad u posebnom fajlu) za edit. uspeva mi da izaberem post al nikako da mi u formu ucita naslov i sadrzaj. Sigurno nisam dobro odradio deo
Code:
"select * from addd where id='$id'"
al ne znam gde...
Evo to što sam do sad napisao
edit.php
Code:
<?php
session_start();
include_once('../includes/conection.php');
include_once('../includes/article.php');
$article = new Article;

if(isset($_SESSION['logged_in'])){
    if(isset($_GET['id'])){
       $id = $_GET['id'];
       if(isset($_POST['title'], $_POST['content'])){
       $title = $_POST['title'];
       $content = $_POST['content'];
       $query = $pdo->prepare("UPDATE articles set artice_title='$title', article_content='$content' where article_id='$id'");
       $query->execute();{
       header('Location: edit.php');
       }
       }
       $query1 = $pdo->prepare("select * from addd where id='$id'");
       $query1->execute(array($_GET['id']));
       $rows = $query1->fetch();
    ?>
    <html>
    <head>
    <title>CMS</title>
    <link href="../assets/style.css" rel="stylesheet"/>
    </head>
<body>
    <div class="container">
        <a href="index.php" id="logo">CMS</a>
        <br/>
        <h4>Edit Article</h4>
        <form action="" method="post" autocomplete="off">
        <input type="text" name="title" value="<?php echo $rows['article_title']; ?>"/><br/><br/>
        <textarea rows="15" cols="50" name="content"><?php echo $rows['article_content']; ?></textarea><br/><br/>
        <input type="submit" value="Edit Article"/>   
        </form>
    </div>
</body>
</html>
    <?php
}$articles = $article->fetch_all();
    
    ?>
    
    <html>
    <head>
    <title></title>
    </head>
<body>
    <div class="container">
        <a href="index.php" id="logo">CMS</a>
        <br/>
        <h4>Select an article to edit</h4>
        <form action="" method="get">

            <?php foreach ($articles as $article) {?>
        <tr name="id">
            <td><?php echo $article['article_title'];?></td>
            <td><a href="edit.php?id=<?php echo $article['article_id'];?>"><img src="edit.png"/></a></td>
         </tr>
            <?php } ?> 

</form>
        
    </div>
</body>
</html>
    
    <?php
}else {
    header('Location: index.php');
}
?>
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Pomoć oko izmene Delete Form03.07.2013. u 19:46 - pre 131 meseci
Čemu ovo

$query1->execute(array($_GET['id']));

Stavi:
Code:
$result = $query1->execute();
$rows = $sth->fetch(PDO::FETCH_ASSOC);


Takodje, redirekcija ti nije dobra jer nemaš id od post-a

Code:
header('Location: edit.php?id='. $id );
exit;

I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Pomoć oko izmene Delete Form03.07.2013. u 20:03 - pre 131 meseci
To sam vidio i promenio ($query1 umesto $sth), al kad stavim i ovo ponovo mi ne ucitava naslov i sadrzaj u formu...

[Ovu poruku je menjao timberman dana 03.07.2013. u 21:40 GMT+1]
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 209

ICQ: 491318095


+33 Profil

icon Re: Pomoć oko izmene Delete Form03.07.2013. u 20:18 - pre 131 meseci
Pretpostavljam da je typo
Citat:
ivan.a:
Stavi:
Code:

$result = $query1->execute();
$rows  = $query1->fetch(PDO::FETCH_ASSOC);


Pregledaj primjere, uporedi. Igraj se malo sa kodom - mijenjaj...

-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

[es] :: PHP :: Pomoć oko izmene Delete Form

[ Pregleda: 2012 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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