Avatar billede nickyc Nybegynder
21. juni 2005 - 14:30 Der er 12 kommentarer og
1 løsning

http referer?

Hey alle...

Har en side hvor man kan slette fra, den udfører jo så slet.php

Det jeg gerne vil have er at efter den har udført slet.php skal den gå tilbage til den side hvor den kom fra

min kode for slet.php

<?
include("config.php");
include("checklogin.php");

$id = $_REQUEST['id'];

$sql =  "DELETE FROM portfolio WHERE id=$id";
    if(mysql_query($sql)){
        HER SKAL DEN SÅ SENDE EN TILBAGE FRA DEN SIDE MAN KOM FRA
    }
    else {
        echo "<script type='javascript'>alert('Kunne ikke slette, check din kode')</script>";
    }
   
?>
Avatar billede jakobdo Ekspert
21. juni 2005 - 14:41 #1
Du kan prøve: header("location: " . $_SERVER['http_referer']);
Avatar billede sone Nybegynder
21. juni 2005 - 14:41 #2
header('Location: '.$_SERVER['HTTP_REFERER']);
Avatar billede nickyc Nybegynder
21. juni 2005 - 14:43 #3
hmm, kan ik se om det virker, da den egentlig smider mig til min login side, ligesom SESSIONEN ikke er sat længere eller noget?

Hvordan kan det være?
Avatar billede nickyc Nybegynder
21. juni 2005 - 14:49 #4
om min checklogin ser sådanne ud:

<?
session_start();

if($_SESSION['auth'] != "ok") {
  // brugeren er IKKE logget ind, send ham til loginsiden
  header("location: index.php");
  exit();
}
?>
Avatar billede coderdk Praktikant
21. juni 2005 - 16:07 #5
Hvorfor ikke smide en "retur url" med til slet.php?
Avatar billede nickyc Nybegynder
21. juni 2005 - 20:14 #6
hvad mener du ?
Avatar billede Slettet bruger
22. juni 2005 - 11:56 #7
<?
include("config.php");
include("checklogin.php");

$id = $_REQUEST['id'];

$sql =  "DELETE FROM portfolio WHERE id=$id";
    if(mysql_query($sql)){
    header("location: ". $_SERVER['HTTP_REFERER']);
    }
    else {
        echo "<script type='javascript'>alert('Kunne ikke slette, check din kode')</script>";
    }
   
?>


Er det ikke bare det her du vil have lavet?
Avatar billede nickyc Nybegynder
23. juni 2005 - 11:30 #8
jojo, men det er problemet nu at at det ikke rigtig virker, bliver smidt til login siden når det er, ligesom om min session er stoppet, og derfor sender den mig til index.php, hvilket den ikke skal, men derimod bare sende mig til den side jeg kom fra
Avatar billede coderdk Praktikant
23. juni 2005 - 17:56 #9
Altså linke som:

slet.php?id=42&return_url=index.php

og i slet.php:

$url = ( strlen( $_GET['url'] ) > 0 ? $_GET['url'] : 'index.php' );
header( 'location: ' . $url );
Avatar billede nickyc Nybegynder
24. juni 2005 - 09:58 #10
virker heller ikke - prøv at check om dette er korrekt:

SLET.PHP
--------
<?
include("config.php");
include("checklogin.php");
$url = ( strlen( $_GET['url'] ) > 0 ? $_GET['url'] : 'index.php' );
$id = $_REQUEST['id'];

$sql =  "DELETE FROM portfolio WHERE id=$id";
    if(mysql_query($sql)){
    header( 'location: ' . $url );
    }
    else {
        echo "<script type='javascript'>alert('Kunne ikke slette, check din kode')</script>";
    }
   
?>


----------------------

FILEN HVOR MAN KAN SLETTE FRA:
------------------------------

<?
include("checklogin.php");
include("config.php");

$sql = "SELECT * FROM portfolio WHERE catid = 'web' ORDER BY kunde";
    $resultat = mysql_query($sql) or die (mysql_error());
   
?>

NOGET HTML

    <?
    while ($myrow = mysql_fetch_assoc($resultat)) {
    $id = $_REQUEST['id'];
    $kunde = $_REQUEST['kunde'];
    $image  = $_FILES['image'];
    $opgaver = $_REQUEST['opgaver'];
    $url = $_REQUEST['url'];
    $status = $_REQUEST['status'];
    echo "<table width='470'><tr>";
    echo "<td width='90'>" . $myrow['kunde'] ."</td>";
    echo "<td width='110'><img src='vispic.php?id=" . $myrow['id'] ."' alt='$myrow[kunde]'></td>";
    echo "<td width'90'>" .nl2br(substr($myrow['opgaver'], 0, 15))."...</td>";
    echo "<td width='90'>".substr($myrow['url'], 0, 20). "...</td>";
    if($myrow['status'] == 1) {
        echo "<td width='90'><span style='color: green;'>Aktiveret</td>";
    }
    else {
        echo "<td width='90'><span style='color: red;'>Deaktiveret</td>";
    }
    echo "</tr><tr>";
    echo "<td width='90'><a href='rediger.php?id=" .$myrow['id'] ."&return_url=index.php'><img src='../images/icons/edit.gif' border='0' alt='Rediger' title='Rediger' /></a>        <a href='java script:slet(" . $myrow[id] . ");'><img src='../images/icons/delete.gif' border='0' alt='Slet' title='Slet' /></a></td>";
    echo "<td width='110'></td>";
    echo "<td></td><td></td><td></td></tr></table>";
}
    ?></td>
      </tr>
    </table>
    <div align="center">
      <script language="JavaScript">
    function slet(id) {
        if (confirm("Er du sikker på at du vil slette??")) {
            document.location = "delete.php?id=" + id;
        }
    }
    </script>

NOGET HTML

-------------------------
Avatar billede coderdk Praktikant
24. juni 2005 - 16:44 #11
Prøv at ændre:

<script language="JavaScript">
    function slet(id) {
        if (confirm("Er du sikker på at du vil slette??")) {
            document.location = "delete.php?id=" + id + "&url=<?= $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'] ?>";
        }
    }
    </script>
Avatar billede nickyc Nybegynder
29. juni 2005 - 09:12 #12
Og det virker jo kanon godt :)

Takker - svar ?
Avatar billede coderdk Praktikant
29. juni 2005 - 09:14 #13
Yessir :) Kom lige til at tænke på, at den nok kunne gøres smartere her:

<script language="JavaScript">
    function slet(id) {
        if (confirm("Er du sikker på at du vil slette??")) {
            document.location = "delete.php?id=" + id + "&url=<?= urlencode($_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']) ?>";
        }
    }
    </script>
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