Avatar billede Kallesen Juniormester
09. marts 2017 - 15:29 Der er 28 kommentarer og
2 løsninger

Kan ikke slette en mail med dette script

Hej Eksperter.

Jeg sidder med et lille problem, jeg har forsøgt mig at lave et lille internet mail system, og jeg kan sende, se, modtage og åbne, men jeg kan ikke få lov til at slette mails, og jeg har virkelig forsøgt mange forskellige ting. Det jeg er kommet frem til er dette script, men den sletter ikke noget.

How to do?
<?php
    if($action == 'Delete') {
        $id = $_GET['mail_id'];
        $query = sprintf("UPDATE mail SET 'Deleted' = 1 WHERE mail_id='%s' LIMIT 1",
                    mysql_real_escape_string($id));
       
        if(!$query) {
            echo "The message wasn\'t deleted";
        } else {
            header("Location: mail.php");
?>
Jeg kan ikke se mig ud af, hvor jeg har mistet forbindelsen :)
Avatar billede acore Ekspert
09. marts 2017 - 15:39 #1
Din kode har 3 x { og 1 x } - umiddelbart ikke godt.

Du eksekverer ikke dit query - du sætter bare $query - så der mangler en linie.

Hvis det ikke er nok, så læg en udskrift ind, så du er sikker på, at den kommer ind i den første if(...).
Avatar billede Kallesen Juniormester
09. marts 2017 - 15:42 #2
Dem er der sumidelbart styr på, de er bare længere oppe i min kode.
Det er bare lige den lille part der af min kode som ikke vil fungere for mig :) - Hvis du forstår?
Avatar billede acore Ekspert
09. marts 2017 - 15:46 #3
Det gør jeg. Det var mere for at signalere, at det er svært at finde fejl i en ukomplet kode. Håber dog, at de er længere NEDE.

Men som jeg skriver: Du mangler en sætning med

$query = mysql_query($query);

eller hvad for et mysql API du nu bruger.
Avatar billede Kallesen Juniormester
09. marts 2017 - 17:13 #4
<?php

   
   
    include("include/session.php");
   
    if(!$session->logged_in){
        header("Location: ".$session->referrer);
    }
   
    if($_POST){
      $_POST = $session->cleanInput($_POST);
    }
   

?>

<!DOCTYPE html>
<html lang="da">
<head>
    <meta charset="utf-8">
    <title>Sitel - Share the service</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet">
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <link href="style.css" rel="stylesheet">
    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="https://use.fontawesome.com/c2a0ea7762.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
 
</head>
<body>



<!-- Header -->
<nav class="navbar navbar-default">
  <div class="container-fluid">
 
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Sitel - Share the service!</a>
    </div>

 
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="index.php"><span class="glyphicon glyphicon-home" aria-hidden="true"></span></a></li>
        <li><a href="mail.php"><span class="glyphicon glyphicon-inbox" aria-hidden="true"></span></a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Menu<span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="product_index.php"><span class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></span> Prisoversigt</a></li>
            <li><a href="#"><i class="fa fa-handshake-o" aria-hidden="true"></i> Kundetilbud (Virker ikke endnu)</a></li>
            <li><a href="#">Kommer senere</a></li>
            <li class="divider"></li>
            <li><a href="#">Kommer senere</a></li>
            <li class="divider"></li>
            <li><a href="#">Kommer senere</a></li>
          </ul>
        </li>
      </ul>



    </div>
  </div>
</nav>
<!-- /Header -->

<!-- Main -->
<?php
include("mainmenu.php");
?>
         
      <hr>
     
      <a href="#"><strong><i class="glyphicon glyphicon-link"></i> Resources</strong></a> 
     
      <hr>
     
      <ul class="nav nav-pills nav-stacked">
        <li class="nav-header"></li>
        <li><a href="#"><i class="glyphicon glyphicon-list"></i> Layouts &amp; Templates</a></li>
        <li><a href="#"><i class="glyphicon glyphicon-briefcase"></i> Toolbox</a></li>
        <li><a href="#"><i class="glyphicon glyphicon-link"></i> Widgets</a></li>
        <li><a href="#"><i class="glyphicon glyphicon-list-alt"></i> Reports</a></li>
        <li><a href="#"><i class="glyphicon glyphicon-book"></i> Pages</a></li>
        <li><a href="#"><i class="glyphicon glyphicon-star"></i> Social Media</a></li>
      </ul>
     
      <hr>
      <ul class="nav nav-stacked">
        <li class="active"><a href="http://bootply.com" title="The Bootstrap Playground" target="ext">Playground</a></li>
        <li><a href="/tagged/bootstrap-3">Bootstrap 3</a></li>
        <li><a href="/61518" title="Bootstrap 3 Panel">Panels</a></li>
        <li><a href="/61521" title="Bootstrap 3 Icons">Glyphicons</a></li>
        <li><a href="/61523" title="Bootstrap 3 ListGroup">List Groups</a></li>
        <li><a href="#">GitHub</a></li>
        <li><a href="/61518" title="Bootstrap 3 Slider">Carousel</a></li>
        <li><a href="/62603">Layout</a></li>
      </ul>

      <hr>
      </div><!-- /col-3 -->
    <div class="col-md-9">
         
      <!-- column 2 -->   
      <ul class="list-inline pull-right">
        <li><a href="#"><i class="glyphicon glyphicon-cog"></i></a></li>
        <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-comment"></i><span class="count">3</span></a><ul class="dropdown-menu" role="menu"><li><a href="#">1. Is there a way..</a></li><li><a href="#">2. Hello, admin. I would..</a></li><li><a href="#"><strong>All messages</strong></a></li></ul></li>
        <li><a href="#"><i class="glyphicon glyphicon-user"></i></a></li>
        <li><a title="Add Widget" data-toggle="modal" href="#addWidgetModal"><span class="glyphicon glyphicon-plus-sign"></span> Add Widget</a></li>
      </ul>
      <a href="#"><strong><i class="glyphicon glyphicon-dashboard"></i> My Dashboard</strong></a> 
     
          <hr>
     
        <div class="row">
         
           
         
  <!-- center left-->   
            <div class="col-md-6">
              <div class="well">Velkommen <b><?php echo $session->username; ?></b>, du er nu online</div>
             
              <hr>
             
                        <?php
              include("usermenu.php");
              ?>
             
              <hr>
             
              <div class="panel panel-default">
                  <div class="panel-heading"><h4>Online medlemmer</h4></div>
                  <div class="panel-body">
               

                      <br>Her er  <?php echo $database->num_active_users; ?> medlemer og <?php $database->num_active_guests; ?> besøgende lige nu:<br><br></p>
   
    <?php
    include("include/view_active.php");
    ?>

                  </div><!--/panel-body-->
              </div><!--/panel-->
   
              <hr>             

              <!--tabs-->
              <div class="container">
                <div class="col-md-4">
                <ul class="nav nav-tabs" id="myTab">
                  <li class="active"><a href="#profile" data-toggle="tab">Profile</a></li>
                  <li><a href="#messages" data-toggle="tab">Messages</a></li>
                  <li><a href="#settings" data-toggle="tab">Settings</a></li>
                </ul>
               
                <div class="tab-content">
                  <div class="tab-pane active" id="profile">
                    <h4><i class="glyphicon glyphicon-user"></i></h4>
                    Lorem profile dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
                    <p>Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
                      dolor, in sagittis nisi.</p>
                  </div>
                  <div class="tab-pane" id="messages">
                    <h4><i class="glyphicon glyphicon-comment"></i></h4>
                    Message ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
                    <p>Quisque mauris augu.</p>
                  </div>
                  <div class="tab-pane" id="settings">
                    <h4><i class="glyphicon glyphicon-cog"></i></h4>
                    Lorem settings dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
                    <p>Quisque mauris augue, molestie.</p>
                  </div>
                </div>
                  </div>
              </div> 
             
              <!--/tabs-->
             
              <hr>
             
              <div class="panel panel-default">
                  <div class="panel-heading"><h4>New Requests</h4></div>
                  <div class="panel-body">
                    <div class="list-group">
                    <a href="#" class="list-group-item active">Hosting virtual mailbox serv..</a>
                    <a href="#" class="list-group-item">Dedicated server doesn't..</a>
                    <a href="#" class="list-group-item">RHEL 6 install on new..</a>
                    </div>
                  </div>
              </div>
 
              </div><!--/col-->
            <div class="col-md-6">
                <div class="panel panel-default">
                  <div class="panel-heading"><h4>Beskedcenter</h4></div>
       
           
    <form method="post" action="mail.php">
        <input type="submit" class="btn btn-primary btn-default btn-sm" name="mailAction" value="Compose" /><input type="submit" class="btn btn-primary btn-default btn-sm" name="mailAction" value="Inbox" />
    </form>

<?php

    if(!empty($_POST['mailAction']) && isset($_POST['mailAction'])){
        $action = $_POST['mailAction'];
    } else {
        $action = 'Inbox';
    }



    if(($action == 'Compose') || ($action == 'Reply')) {
   
        if(isset($_POST['mailSubject']) && !empty($_POST['mailSubject'])){
            $mailSubject = 'Re: '.$_POST['mailSubject'];
        } else {
            $mailSubject = "";
        }
       
        if(isset($_POST['mailFrom']) && !empty($_POST['mailFrom'])){
            $mailTo = $_POST['mailFrom'];
        } else {
            $mailTo = "";
        }
       
       
        ?>
            <form action="mail.php" class="navbar-form navbar-right" method='post' id="signin">
                <div id="compose">
                    <p class="grid_2"><div class="input-group"><span class="input-group-addon"><i class="glyphicon glyphicon-user" aria-hidden="true"></i></span><input class="form-control" type='text' name='mailTo' size='20' value='<?php echo $mailTo; ?>' placeholder="To.:"></p>
                    <div class="clear"></div></div>
                    <p class="grid_2"><div class="input-group"><span class="input-group-addon"><i class="fa fa-text-width"></i></span><input class="form-control" type='text' name='mailSubject' size='20' value='<?php echo $mailSubject; ?>' placeholder="Emne:"></p>
                    <div class="clear"></div></div><br></br>
                    <p class="grid_4"><textarea rows='16' cols='45' name='mailMessage' placeholder="Skriv din besked"></textarea></p>
                    <div class="clear"></div>
                    <p class="grid_1"><input type="submit" class="btn btn-primary btn-default btn-sm" name="mailAction" value="Send" /></p>
                </div>
            </form>
        <?php
    }
   
   
    if($action == 'Send') {
           
        if(empty($_POST['mailSubject']) || !isset($_POST['mailSubject'])){
            echo "Subject Blank";
        } else {
            $subject = $_POST['mailSubject'];
        }
       
        if(empty($_POST['mailTo']) || !isset($_POST['mailTo'])){
            echo "To Blank";
        } else {
            $mailTo = $_POST['mailTo'];
        }
       
        if(empty($_POST['mailMessage']) || !isset($_POST['mailMessage'])){
            echo "Message Blank";
        } else {
            $message = $_POST['mailMessage'];
        }
       
        $date = date('m.d.y"')." at ".date('H:i:s');
       
        $q = sprintf("INSERT INTO mail (UserTo, UserFrom, Subject, Message, SentDate, status) VALUES ('%s','$session->username','%s','%s','%s','ulæst')",
              mysql_real_escape_string($mailTo),
              mysql_real_escape_string($subject),
              mysql_real_escape_string($message),
              mysql_real_escape_string($date));
        if(!($send = $database->query($q))){
            echo "Vi kunne ikke sende din besked ".$mailTo."!";
        } else {
            echo "Beskeden er sendt til: ".$mailTo."!";
        }
       
    }
   
   
    if($action == "Inbox") {
   
        $user = $session->username;
        $q = sprintf("SELECT * FROM mail WHERE UserTo = '%s' ORDER BY SentDate DESC",
              mysql_real_escape_string($user));
        $getMail = $database->query($q) or die(mysql_error());

        echo "<div id='inbox'>";
       
        if(mysql_num_rows($getMail) == 0){
            echo "<p>Du har ingen mails</p><br /><br />";
        } else {           
            ?>
            <table class='table table-responsive'>
                <tr class="title">
                    <td colspan="2" align="center">Action</td>
                    <td>Status</td>
                    <td>From</td>
                    <td>Subject</td>
                    <td>Time</td>
                </tr>
            </div>
            <?php
            echo "<form action='mail.php' method='post'>";
            while($mail = mysql_fetch_array($getMail)){
                ?>
                    <tr>
                        <input type="hidden" name="mail_id" value="<?php echo $mail['mail_id']; ?>" />
                        <td align="center"><input type="submit" class="btn btn-success btn-sm" name="mailAction" value='View' /></td>
                        <td align="center"><input type="submit" class="btn btn-primary btn-danger btn-sm" name="mailAction" value="Delete" /></td>
                        <td><?php echo $mail['status']; ?></td>
                        <td><?php echo $mail['UserFrom']; ?></td>
                        <td><?php echo $mail['Subject']; ?></td>
                        <td><?php echo $mail['SentDate']; ?></td>
                    </tr>
                <?php
            }

            echo "</form>";
        }           
        echo "</table>";
   
    }
   
   
    if($action == "View") {
   
       
        $mail_id = $_POST['mail_id'];
        $user = $session->username;
        $q = sprintf("SELECT * FROM mail WHERE UserTo = '%s' AND mail_id = '%s'",
              mysql_real_escape_string($user),
              mysql_real_escape_string($mail_id));
        $result = $database->query($q) or die (mysql_error());
        $row = mysql_fetch_array($result);
       
       
        if($row['UserTo'] != $session->username) {
            echo "<font face=verdana><b>This isn't your mail!";
            exit;
        }
        $q = "UPDATE mail SET status='læst' WHERE UserTo='$session->username' AND mail_id='$row[mail_id]'";
        $database->query($q) or die("An error occurred resulting that this message has not been marked read.");
       
        ?>
        <hr>
            <form method="post" action="mail.php">
                <div id="single">
                    <p class="grid_1"><div class="panel-heading"><strong>Afsender:</strong> </p><p class="grid_2"><?php echo $row['UserFrom']; ?><input type="hidden" name="mailFrom" value="<?php echo $row['UserFrom']; ?>" /></p></div>
                    <p class="grid_1 clear"><div class="panel-heading"><strong>Emne:</strong></p><p class="grid_2"><?php echo $row['Subject']; ?><input type="hidden" name="mailSubject" value="<?php echo$row['Subject']; ?>" /></p></div>
              <p class="grid_4 clear"><div class="panel-heading"><strong>Besked:</strong> <br /><?php echo $row['Message']; ?><br /></p></div>
                    <p class="grid_4 clear" align="right"><input type="submit" class="btn btn-primary btn-default btn-sm" name="mailAction" value="Reply" /></p>
                </div>
            </form>
        <?php
    }
   
   
    if($action == 'Delete') {
        $id = $_GET['mail_id'];
        $query = sprintf("UPDATE mail SET 'Deleted' = [Value 1] WHERE mail_id='%s' LIMIT 1",
                    mysql_real_escape_string($id));
       
        if(!$query) {
            echo "The message wasn\'t deleted";
        } else {
            header("Location: mail.php");
        }
    }
echo "<div class='clear'>";
echo "[<a href=\"index.php\">Forsiden</a>]&nbsp;";
echo "[<a href=\"userinfo.php?user=$session->username\">Min Konto</a>]&nbsp;";
echo "[<a href=\"process.php\">Log ud</a>]";
echo "</div>";
?>
               
               
             
                </div><!--/panel-->
             
                  <div class="panel panel-default">
                  <div class="panel-heading"><div class="panel-title"><h4>Søg medarbejder</h4></div></div>
                  <div class="panel-body">   
                      <div class="col-xs-4 text-center"><img src="http://placehold.it/80/BBBBBB/FFF" class="img-circle img-responsive"></div>
                    <div class="col-xs-4 text-center"><img src="http://placehold.it/80/EFEFEF/555" class="img-circle img-responsive"></div>
                    <div class="col-xs-4 text-center"><img src="http://placehold.it/80/EEEEEE/222" class="img-circle img-responsive"></div>
                  </div>
              </div><!--/panel-->
             
            </div><!--/col-span-6-->
   
      </div><!--/row-->
     
      <hr>
     
     
      </div><!--/col-span-9-->
</div>
</div>
<!-- /Main -->

<footer class="text-center">Made by <a href="http://kallesen.nu"><strong>Kallesen.nu</strong></a></footer>

<div class="modal" id="addWidgetModal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h4 class="modal-title">Add Widget</h4>
      </div>
      <div class="modal-body">
        <p>Add a widget stuff here..</p>
      </div>
      <div class="modal-footer">
        <a href="#" data-dismiss="modal" class="btn">Close</a>
        <a href="#" class="btn btn-primary">Save changes</a>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dalog -->
</div><!-- /.modal -->


<div class="modal" id="ShowMail">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h4 class="modal-title">Add Widget</h4>
      </div>
      <div class="modal-body">
        <p>Add a widget stuff here..</p>
      </div>
      <div class="modal-footer">
        <a href="#" data-dismiss="modal" class="btn">Close</a>
        <a href="#" class="btn btn-primary">Save changes</a>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dalog -->
</div><!-- /.modal -->


 
<script type="text/javascript">
$(".alert").addClass("in").fadeOut(4500);

/* swap open/close side menu icons */
$('[data-toggle=collapse]').click(function(){
      // toggle icon
      $(this).find("i").toggleClass("glyphicon-chevron-right glyphicon-chevron-down");
});
</script>
</body>
</html


Komplet kode, dog er meget af det, langt fra kodet færdigt, dog er ALT PHP færdiglavet, men jeg er HELT tabt lige der midt i koden :)
Avatar billede acore Ekspert
09. marts 2017 - 17:34 #5
Læs #3 - der står hvad fejlen er.
Avatar billede Kallesen Juniormester
10. marts 2017 - 09:33 #6
Jeg har været igang, og ændret det til:

    if($action == 'Delete') {
        $id = $_GET['mail_id'];
        $query = sprintf("UPDATE mail SET 'Deleted' = 1 WHERE mail_id='%s' LIMIT 1", mysql_real_escape_string($id));
    $query=mysql_query($query) or die ('Failed to update');

Men så får jeg kun DB fejlen "Failed to update" ... Jeg må jo overse noget, og jeg er gået helt i sort.. :s
Avatar billede acore Ekspert
10. marts 2017 - 10:01 #7
Du er da ikke gået i sort - det går da fremad :)

Prøv at indsætte linien

echo($query);

så du kan se hvad du prøver på. Check syntax og tabelnavn og feltnavne ift til din database. Post evt resultatet her.
Avatar billede Kallesen Juniormester
10. marts 2017 - 10:21 #8
haha, jeg er glad for din optimisme, for lige nu synes jeg godt nok at jeg har givet slip i den lange ende :)

UPDATE mail SET 'Deleted' = 1 WHERE mail_id='' LIMIT 1The message wasn\'t deleted

Det e hvad jeg får når jeg laver et echo på den.
Avatar billede acore Ekspert
10. marts 2017 - 10:27 #9
Fejlen ser ud til at være, at $id = $_GET['mail_id'] ikke indeholder id. Mon ikke det skal være $id = $_POST['mail_id']?
Avatar billede Kallesen Juniormester
10. marts 2017 - 10:36 #10
Den havde jeg prøvet igår, men gik tilbage til GET. Nu kommer der ingen fejl frem, men den vil stadig ikke opdatere databasen når jeg bruger =$_POST
Avatar billede acore Ekspert
10. marts 2017 - 11:12 #11
Prøv med

echo( $_GET['mail_id']);
og
echo( $_POST['mail_id']);

Uden id i en af dem, er der noget andet galt.
Avatar billede Kallesen Juniormester
10. marts 2017 - 11:38 #12
Nu prøvede jeg at ændre echo "The message ...." til det du foreslog.

Der skete intet, overhovedet.
Avatar billede acore Ekspert
10. marts 2017 - 12:02 #13
Prøv med

echo("G: [".$_GET['mail_id']."]");
echo("P: [".$_POST['mail_id']."]");

inden $query=...
Avatar billede Kallesen Juniormester
10. marts 2017 - 12:42 #14
Sådan, nu sker der noget konstruktivt.

G: []P: [10] den skriver dette.
Avatar billede acore Ekspert
10. marts 2017 - 12:46 #15
Brug $_POST og vis udskriften fra #8 igen.
Avatar billede Kallesen Juniormester
10. marts 2017 - 12:51 #16
UPDATE mail SET 'Deleted' = 1 WHERE mail_id='10' LIMIT 1

Når jeg bruger:

    if($action == 'Delete') {
        $id = $_POST['mail_id'];
        $query = sprintf("UPDATE mail SET 'Deleted' = 1 WHERE mail_id='%s' LIMIT 1", mysql_real_escape_string($id));
echo($query);
Avatar billede acore Ekspert
10. marts 2017 - 12:57 #17
Får du nogen fejl fra dit query nu? Før fik du "Failed to update".

Hvis ingen fejl: Rettes Deleted til 1 i databasen?
Avatar billede acore Ekspert
10. marts 2017 - 13:00 #18
Ser lige at du skriver

UPDATE mail SET 'Deleted' = 1

skal være

UPDATE mail SET Deleted = '1'
Avatar billede Kallesen Juniormester
10. marts 2017 - 13:22 #19
Der rettes ikke til 1, og jeg har rettet den til som du lige har skrevet.
Avatar billede olsensweb.dk Ekspert
10. marts 2017 - 13:32 #20
må jeg henvise til https://dev.mysql.com/doc/refman/5.7/en/keywords.html

DELETE er et reseveret ord i SQL

UPDATE mail SET Deleted = '1'
skal være
UPDATE mail SET `Deleted` = '1'

læg mærketil backtick omkring delete.

men ellers prøv din sql inde i phpmyadmin.
Avatar billede acore Ekspert
10. marts 2017 - 13:41 #21
Olsen: Der står Deleted med D til sidst. Burde ikke være et issue.

Kallesen: Er der en kolonne i tabellen 'mail', der hedder 'Deleted'? Er du helt sikker?
Avatar billede olsensweb.dk Ekspert
10. marts 2017 - 13:42 #22
sorry, havde ikke lige set d i Deleted
men afprøv dit sql udtryk i phpmyadmin, så kan du se om det er det der er fejlen.

prøv feks det udtruk du har i #16 om det virker i phpmyadmin
UPDATE mail SET  Deleted = '1' WHERE mail_id='10' LIMIT 1
Avatar billede Kallesen Juniormester
10. marts 2017 - 13:43 #23
CREATE TABLE IF NOT EXISTS `mail` (
  `Deleted` tinyint(1) NOT NULL DEFAULT '0',
  `UserTo` tinytext NOT NULL,
  `UserFrom` tinytext NOT NULL,
  `Subject` mediumtext NOT NULL,
  `Message` longtext NOT NULL,
  `status` text NOT NULL,
  `SentDate` text NOT NULL,
`mail_id` int(80) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;

Dette er min tabel, så ja, der er en kolonne som hedder det :)
Avatar billede Kallesen Juniormester
10. marts 2017 - 13:46 #24
SÅDAN! - Nu ændre den Deleted til 1, men viser stadig mailen i mit script.. Det er noget jeg slet ikke begriber.
Avatar billede acore Ekspert
10. marts 2017 - 13:47 #25
Når den stadig viser det, så er det fordi du ikke bruger Deleted i din kode - i hvert fald ikke i den du har posted.

I en eller andet query skal der sikkert tilføjes "WHERE Deleted=0"
Avatar billede Kallesen Juniormester
10. marts 2017 - 13:53 #26
if($action == "View") {
   
       
        $mail_id = $_POST['mail_id'];
        $user = $session->username;
        $q = sprintf("SELECT * FROM mail WHERE UserTo = '%s' AND mail_id = '%s'",
              mysql_real_escape_string($user),
              mysql_real_escape_string($mail_id));
        $result = $database->query($q) or die (mysql_error());
        $row = mysql_fetch_array($result);

Den rettede jeg til:

    if($action == "View") {
   
       
        $mail_id = $_POST['mail_id'];
        $user = $session->username;
        $q = sprintf("SELECT * FROM mail WHERE Deleted = '0' AND mail_id = '%s'",
              mysql_real_escape_string($user),
              mysql_real_escape_string($mail_id));
        $result = $database->query($q) or die (mysql_error());
        $row = mysql_fetch_array($result);

Men så kan den der sender beskeden, også se den
Avatar billede olsensweb.dk Ekspert
10. marts 2017 - 13:53 #27
#21, så det godt lige inde du skrev :)


@Kallesen
du kunne også give dig selv nogle mere sigenede fejl beskeder
ret
$query=mysql_query($query) or die ('Failed to update');
til
$query=mysql_query($query) die('Invalid query: ' . mysql_error());

BTW hvorfor anvender du stadig det gale database API, alle mysql_ functioner er fjernet fra og med PHP7
skift over til mysqli eller PDO
Avatar billede Kallesen Juniormester
10. marts 2017 - 13:55 #28
@olsensweb.dk

Det skal lige siges at jeg har kodet for en del år siden, og det er det jeg er igang med at vægge i mig igen. Jeg skal nok bare igang med at lærer det nye - Så jeg er med på beatet :)
Avatar billede acore Ekspert
10. marts 2017 - 13:56 #29
Prøv med

        $q = sprintf("SELECT * FROM mail WHERE UserTo = '%s' AND mail_id = '%s' AND Deleted='1';",
              mysql_real_escape_string($user),
              mysql_real_escape_string($mail_id));
Avatar billede olsensweb.dk Ekspert
10. marts 2017 - 14:16 #30
ref
$database->query($q) or die(mysql_error());
her vil du andrig få vist nogle fejl, da du lave en query på en anden connection end den du udskriver fejlen fra.


blander du mysqli og mysql sammen ??
$database->query er mysqli men mysql_error() er mysql

$database->query($q) or die(mysql_error());
skulle nok være
$database->query($q) or die(mysqli_error($database) ); // procedural style
eller
$database->query($q) or die($database->error ); // OOP style


mysql_real_escape_string er også det gamle API
 
mysql_real_escape_string($user)
  skal være
mysqli_real_escape_string($database, $user)
eller
$database->real_escape_string ($user)

http://php.net/manual/en/mysqli.real-escape-string.php


dvs du anvender 2 connections:
1 til det gamle API og en til mysqli, hvilke er noget rod.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester