Stergere informatii din baza de date cu php

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Liviu91
Mesaje:5

Stergere informatii din baza de date cu php

Vreau sa sterg o inregistrare din baza de date si vreua sa stiu cum ar trebui sa arate pagina de stergere si parerea mea ar fi sa am o pagina special pt asta adica apas pe stergere si ma trimite la o alta pagina gen esti sigur ca vrei sa stergi:................. da si nu in caz ca apasa pe da sa ii stearga inregistrarea in caz ca apasa pe nu sa se intoarca inapoi.

MarPlo Mesaje:4343
Salut
Adauga codul pe care l-ai facut pentru acea pagina, si unde nu te descurci.
Daca nu stii cum sa incepi, vezi lectiile si tutorialele de pe site, apoi incearca sa faci.

Ca indicatii:
-Sintaxa sql de stergere e asa:

Cod: Selectaţi tot

DELETE FROM nume_tabel WHERE conditie
Unde conditie poate fi de exemplu: "... WHERE id = $id "
- ID-ul poate fi transmis printr-un camp de formular, ascuns:

Cod: Selectaţi tot

<form action="pagina.php" method="post" target="_blank">
<input type="hidden" name="id" value="1" />
<input type="submit" value="Sterge" />
</form>
Iar in "pagina.php" se preia id-ul cu:

Cod: Selectaţi tot

$id = $_POST['id'];
 
- Asta ca baza, dar se aadauga si masuri de securitate, cum ar fi, intai logare si verificare sesiune de logare, ca sa nu stearga orcine daca nu e autentificat; plus filtrarea datelor primite, de exemplu pt. id sa fie numai numar intreg:

Cod: Selectaţi tot

$id = intval($_POST['id']);
 

Liviu91 Mesaje:5
am scris codu asta si imi da eroare.idei unde am gresit?

Cod: Selectaţi tot

<?php        
if(isset($_GET['id']))
{
    $sql_con = mysql_connect("localhost","root","","aplicatie") or die(mysql_error());
    $sql = "SELECT * FROM `aplicatie`.`testimoniale` WHERE id=" . mysql_real_escape_string($_GET['id']);
    $result = mysql_query($sql);

    if(mysql_num_rows($result) == 1)
    {
        $row = mysql_fetch_assoc($result);
        // aici imi arata frumos 
        
        //deci ne afiseaza titlul

        if(empty($_SESSION['titlu']) && empty($_SESSION['descriere'])){
    //    if(empty($_POST['submit'])){    
        ?>
            <form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
                <input type="text" name="titlu" value="<?php echo $row['titlu']; ?>" />
                <input type="text" name="descriere" value="<?php echo $row['descriere']; ?>" />
                <input type="submit" name="submit" value="Sterge" />
            </form>
            <?php
    if(isset($_GET['id'])) {
                          $stergereid = mysql_real_escape_string($_GET['id']);
                          
                          //Stergere id 
                          $stergere = mysql_query("DELETE FROM `testimoniale` WHERE id = '".$stergereid."'");?>

MarPlo Mesaje:4343
Nu sunt adaugate acoladele de inchidere "}" la codurile din if()-uri deschise cu "{", inainte de "?>" .
In plus, unde se lucreaza cu $_SESSION trebuie la inceputul scriptului sa fie session_start(); .

Cod: Selectaţi tot

<?php
if(!isset($_SESSION)) session_start();

if(isset($_GET['id'])) {
  // cod php
}
?>

Subiecte similare