Avatar billede silke4ever Nybegynder
02. januar 2004 - 05:11 Der er 16 kommentarer og
3 løsninger

register_globals off

Jeg har tre filer, som jeg ikke kan få til at virke, jeg har lokaliseret fejlen, det er at register_globals er sat til "off", derfor håber jeg på at nogle af Jer på eksperten kan ændre mine tre filer, så de kan køre på min server med funktionen slået fra.

Herunder ses de tre filer:



Fil nyheder_ret.php

<?php
session_start();
?>
<html>
<head>
<title>Nyheder</title>
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>

<body bgcolor="#E0E0E0">
<?php
include("../data.php");
$conn=mysql_connect($host, $login, $password);
mysql_select_db($database);

if ($ret){
$query2=mysql_query("select * from te_nyheder where id='$id'") or die (mysql_error());
while ($data2=mysql_fetch_array($query2)){
  $id=$data2["id"];
    $dato=$data2["dato"];
  $titel=$data2["titel"];
    $brodtekst=$data2["brodtekst"];
}
}

if ($gem) {
$insert="update te_nyheder set dato='$dato', titel='$titel', brodtekst='$brodtekst' where id='$id'";
mysql_query($insert) or die (mysql_error());
$id="";
$dato="";
$titel="";
$brodtekst="";
}

?>
<div class="brodtekst_fed">Ret en nyhed</div>
<br>
<div class="brodtekst">
Her har du mulighed for at rette i en nyhed fra databasen. For at gøre dette, skal du
først vælge nyheden i venstre side. Derefter skal du foretage rettelserne i højre side
og afslutte med at klikke på 'Gem'.</div>
<br>
<hr>
<br>
<table width="100%">
<tr valign="top">
  <td>
    <center>
    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1" width="50">&nbsp;Dato</td>
      <td class="ramme2">Titel</td>
        <td class="ramme3">Vælg&nbsp;</td>
  </tr>
    <?php
    $bgfarve_tal=1;
    $query=mysql_query("select id,dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());
    while ($data=mysql_fetch_array($query)){
      if($bgfarve_tal%2==0){
    $bgfarve=$bgfarve_1; // kig i data.php for info
    } else {
    $bgfarve=$bgfarve_2; // kig i data.php for info
    }
    echo '<tr bgcolor='.$bgfarve.'>';
      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';
        echo ' <td>'.$data["titel"].'&nbsp;</td>';
        echo ' <td><a href="nyheder_ret.php?ret=ok&id='.$data["id"].'">Vælg&nbsp;</a></td>';
      echo '</tr>';
        $bgfarve_tal=$bgfarve_tal+1;
  }
    ?>
    <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1">&nbsp;</td>
        <td class="ramme2">&nbsp;</td>
        <td class="ramme3">&nbsp;</td>
    </tr>
    </table>
    </center>
  </td>
    <td>
    <table class="brodtekst_lille">
    <form method="post" action="nyheder_ret.php">
  <tr>
    <td>Titel:</td>
        <td><input type="text" name="titel" size="50" maxlength="27" value="<?php echo $titel; ?>"></td>
  </tr>
  <tr valign="top">
    <td>Tekst:</td>
      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>
  </tr>
  <tr>
    <td>
        <input type="hidden" name="dato" value="<?php echo $dato; ?>">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        </td>
      <td>
        <input type="submit" value="Gem" name="gem"> <input type="reset" value="Nulstil">
        </td>
  </tr>
    </form>
  </table>
    </td>
</tr>
</table>
</body>
</html>

Fil: Nyheder_tilføj.php
<?php

session_start();
?>

<html>

<head>

<title>Nyheder</title>

<link rel="stylesheet" href="../css/style.css" type="text/css">

</head>



<body bgcolor="#E0E0E0">

<?php

include("../data.php");

$conn=mysql_connect($host, $login, $password);

mysql_select_db($database);



if ($sendt){

if (!$titel){

  $fejl[]="titel";

}

if (!$brodtekst){

  $fejl[]="tekst";

}

if ($fejl){

  $n=0;

    while ($n<count($fejl)){

    echo '<div class="brodtekst"><font color="#FF0000"><b>FEJL:</b> Du mangler at angive en '.$fejl[$n].'</font></div>';

    $n++;

    }

    echo '<br>';

} else {

  // først skal nyheden tilføjes

    $dato=date('YmdHis');

  $insert="insert into te_nyheder values ('','$dato','$titel','$brodtekst')";

    mysql_query($insert) or die (mysql_error());

   

    // hvis der er sagt ja til at sende mails, skal der selvfølgelig gøre dette

    if ($sendmail){

  $subject='Mobilkabler.dk er opdateret';

    $meddelelse="Hejsa\n\r\n\r";

    $meddelelse.="På vores website er der nu opdateret i nyhederne. \n\r";

    $meddelelse.="Du kan læse her eller gå ind på vores website og tjekke menupunktet 'Nyheder'. \n\r";

    $meddelelse.="Følgende nyhed er tilføjet : \n\r\n\r";

    $meddelelse.="_______________________________________________________________";
   
    $meddelelse.="\"$titel\"\n\r\n\r";
   
    $meddelelse.="\"$brodtekst\"\n\r\n\r";
   
      $meddelelse.="_______________________________________________________________      \n\r          ";

    $meddelelse.="Hvis du ved en fejl er tilmeldt denne liste kan du selv framelde dig her :      \n\r        ";
   
    $meddelelse.="http://www.mobilkabler.dk/shop/index.php?side=nyhedsmail  \n\r    ";

    $meddelelse.="Bemærk : Vi har ingen indflydelse på hvem der tilmelder sig listen.    \n\r    ";
   
    $meddelelse.="Kan du ikke selv framelde dig pga forkert indtastning, kan du skrive en mail til os.  \n\r          ";
    $meddelelse.="Så fjerner vi dig i henhold til reglerne for spam-mails og personlig krænkelse. \n\r            ";

    $meddelelse.="_______________________________________________________________    \n\r              ";
   
    $meddelelse.="NYT DEBATFORUM OG SUPPORTSIDER : http:www.mobilkabler.dk/support/ \n\r              ";
   
    $meddelelse.="Venligst\n\r";

    $meddelelse.="Thomas Eriksen, Indehaver\n\r";

    $meddelelse.="http://www.mobilkabler.dk";

    $query=mysql_query("select distinct mail from te_mailliste") or die (mysql_error());

    $antal_mails=mysql_num_rows($query);

    if ($antal_mails!=0){

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

        mail($data["mail"], $subject, $meddelelse,"From: Newsletter@Mobilkabler.dk");

        }

    }

    }

   

    $titel="";

    $brodtekst="";

}

}

?>

<div class="brodtekst_fed">Tilføj en nyhed</div>

<br>

<div class="brodtekst">

Her har du mulighed for at tilføje en nyhed til databasen. For at gøre dette, skal du

bare indtaste titlen samt teksten til nyheden og derefter trykke på 'Tilføj'. Den netop

tilføjede nyheds titel og dato vil nu fremgå af listen i venstre side.</div>

<br>

<hr>

<br>

<table width="100%">

<tr valign="top">

  <td>

    <center>

    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">

  <tr bgcolor="<?php echo $bjalke_farve; ?>">

    <td class="ramme1" width="50">&nbsp;Dato</td>

      <td class="ramme3">Titel</td>

  </tr>

    <?php

  $bgfarve_tal=1;

    $query=mysql_query("select dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());

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

      if($bgfarve_tal%2==0){

    $bgfarve=$bgfarve_1; // kig i data.php for info

    } else {

    $bgfarve=$bgfarve_2; // kig i data.php for info

    }

    echo '<tr bgcolor='.$bgfarve.'>';

      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';

        echo ' <td>'.$data["titel"].'&nbsp;</td>';

      echo '</tr>';

        $bgfarve_tal=$bgfarve_tal+1;

  }

    ?>

  <tr bgcolor="<?php echo $bjalke_farve; ?>">

    <td class="ramme1">&nbsp;</td>

      <td class="ramme3">&nbsp;</td>

  </tr>

  </table>

  </center>

  </td>

    <td>

    <table class="brodtekst_lille">

    <form method="post" action="nyheder_tilfoej.php">

  <tr>

    <td>Titel:</td>

      <td><input type="text" name="titel" size="50" maxlength="27" value="<?php echo $titel; ?>"></td>

  </tr>

  <tr valign="top">

    <td>Tekst:</td>

      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>

  </tr>

    <tr>

    <td></td>

      <td><input type="checkbox" name="sendmail"> Send email til mailliste om nyheden</td>

  </tr>

  <tr>

    <td></td>

      <td><input type="submit" value="Tilføj" name="sendt"> <input type="reset" value="Nulstil"></td>

  </tr>

    </form>

  </table>

    </td>

</tr>

</table>

</body>

</html>


Fil nyheder_slet
<?php
session_start();
?>
<html>
<head>
<title>Nyheder</title>
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>

<body bgcolor="#E0E0E0">
<?php
include("../data.php");
$conn=mysql_connect($host, $login, $password);
mysql_select_db($database);

if ($ret){
$query2=mysql_query("select * from te_nyheder where id='$id'") or die (mysql_error());
while ($data2=mysql_fetch_array($query2)){
  $id=$data2["id"];
    $dato=$data2["dato"];
  $titel=$data2["titel"];
    $brodtekst=$data2["brodtekst"];
}
}

if ($slet) {
$delete="delete from te_nyheder where id='$id'";
mysql_query($delete) or die (mysql_error());
$id="";
$titel="";
$brodtekst="";
}

?>
<div class="brodtekst_fed">Slet en nyhed</div>
<br>
<div class="brodtekst">
Her har du mulighed for at slette en nyhed fra databasen. For at gøre dette, skal du
først vælge nyheden i venstre side. Derefter skal du vælge 'Slet' i højre side, hvis den valgte nyhed
skal slettes.</div>
<br>
<hr>
<br>
<table width="100%">
<tr valign="top">
  <td>
    <center>
    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1" width="50">&nbsp;Dato</td>
      <td class="ramme2">Titel</td>
        <td class="ramme3">Vælg&nbsp;</td>
  </tr>
    <?php
    $bgfarve_tal=1;
    $query=mysql_query("select id,dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());
    while ($data=mysql_fetch_array($query)){
      if($bgfarve_tal%2==0){
    $bgfarve=$bgfarve_1; // kig i data.php for info
    } else {
    $bgfarve=$bgfarve_2; // kig i data.php for info
    }
    echo '<tr bgcolor='.$bgfarve.'>';
      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';
        echo ' <td>'.$data["titel"].'&nbsp;</td>';
        echo ' <td><a href="nyheder_slet.php?ret=ok&id='.$data["id"].'">Vælg&nbsp;</a></td>';
      echo '</tr>';
        $bgfarve_tal=$bgfarve_tal+1;
  }
    ?>
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1">&nbsp;</td>
        <td class="ramme2">&nbsp;</td>
      <td class="ramme3">&nbsp;</td>
  </tr>
  </table>
  </center>
  </td>
    <td>
    <table class="brodtekst">
    <form method="post" action="nyheder_slet.php">
  <tr>
    <td>Titel:</td>
      <td><input type="text" name="titel" size="50" value="<?php echo $titel; ?>"></td>
  </tr>
  <tr valign="top">
    <td>Tekst:</td>
      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>
  </tr>
  <tr>
    <td>
        <input type="hidden" name="dato" value="<?php echo $dato; ?>">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        </td>
      <td>
        <input type="submit" value="Slet nyhed" name="slet"> <input type="reset" value="Annuller">
        </td>
  </tr>
    </form>
  </table>
    </td>
</tr>
</table>
</body>
</html>
Avatar billede technodance.dk Nybegynder
02. januar 2004 - 09:34 #1
er du på msn'ere
Avatar billede fangel Nybegynder
02. januar 2004 - 11:21 #2
register_globals = off er ikke fejl, fejlen er du ikke har taget højde for det...

det er relativt nemt at ændre, bare man tænker sig om...

udskift dine variabelnavne ud fra dette pæne skema

-----------------------------------------------------------------
|  Variabler kommer fra    |  Nyt variabelnavn  (gammelt var "$foo") |
-----------------------------------------------------------------
|  Fra <form>                    |  $_POST['foo']                            |
|  Fra adresselinien        |  $_GET['foo']                    |
|  Fra cookie                    |  $_COOKIE['foo']                        |
|  Fra session                  |  $_SESSION['foo']                        |
|  Fra serveren                |  $_SERVER['foo'] (gælder fx PHP_SELF  |
|  Fra server-miljøet        |  $_ENV['foo']                                |
|  Du har selv sat dem      |  $foo                                            |
--------------------------------------------------------------------

(uvidst hvordan skemaet kommet til at se sig ud)

du bør ligeledes sætte error_reporting = E_ALL, og kode efter dette, ikke mindst bliver dit script opsætnings-uafhængigt det bliver også væsenligt sikre...

Morten
Avatar billede silke4ever Nybegynder
02. januar 2004 - 14:36 #3
Jeg har ikke en sk.. forstand på programmering, derfor håbede jeg der var en venlig sjæl der vil rette mine tre filer.
Avatar billede googolplex Novice
02. januar 2004 - 14:49 #4
Prøv dette:

Fil nyheder_ret.php

<?php
session_start();
$bjalke_farve = $_POST['bjalke_farve'];
$titel = $_POST['titel'];
$brodtekst = $_POST['brodtekst'];
$dato = $_POST['dato'];
$id = $_POST['id'];
?>
<html>
<head>
<title>Nyheder</title>
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>

<body bgcolor="#E0E0E0">
<?php
include("../data.php");
$conn=mysql_connect($host, $login, $password);
mysql_select_db($database);

if ($_POST['ret']){
$query2=mysql_query("select * from te_nyheder where id='$id'") or die (mysql_error());
while ($data2=mysql_fetch_array($query2)){
  $id=$data2["id"];
    $dato=$data2["dato"];
  $titel=$data2["titel"];
    $brodtekst=$data2["brodtekst"];
}
}

if ($_POST['gem']) {
$insert="update te_nyheder set dato='$dato', titel='$titel', brodtekst='$brodtekst' where id='$id'";
mysql_query($insert) or die (mysql_error());
$id="";
$dato="";
$titel="";
$brodtekst="";
}

?>
<div class="brodtekst_fed">Ret en nyhed</div>
<br>
<div class="brodtekst">
Her har du mulighed for at rette i en nyhed fra databasen. For at gøre dette, skal du
først vælge nyheden i venstre side. Derefter skal du foretage rettelserne i højre side
og afslutte med at klikke på 'Gem'.</div>
<br>
<hr>
<br>
<table width="100%">
<tr valign="top">
  <td>
    <center>
    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1" width="50">&nbsp;Dato</td>
      <td class="ramme2">Titel</td>
        <td class="ramme3">Vælg&nbsp;</td>
  </tr>
    <?php
    $bgfarve_tal=1;
    $query=mysql_query("select id,dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());
    while ($data=mysql_fetch_array($query)){
      if($bgfarve_tal%2==0){
    $bgfarve=$bgfarve_1; // kig i data.php for info
    } else {
    $bgfarve=$bgfarve_2; // kig i data.php for info
    }
    echo '<tr bgcolor='.$bgfarve.'>';
      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';
        echo ' <td>'.$data["titel"].'&nbsp;</td>';
        echo ' <td><a href="nyheder_ret.php?ret=ok&id='.$data["id"].'">Vælg&nbsp;</a></td>';
      echo '</tr>';
        $bgfarve_tal=$bgfarve_tal+1;
  }
    ?>
    <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1">&nbsp;</td>
        <td class="ramme2">&nbsp;</td>
        <td class="ramme3">&nbsp;</td>
    </tr>
    </table>
    </center>
  </td>
    <td>
    <table class="brodtekst_lille">
    <form method="post" action="nyheder_ret.php">
  <tr>
    <td>Titel:</td>
        <td><input type="text" name="titel" size="50" maxlength="27" value="<?php echo $titel; ?>"></td>
  </tr>
  <tr valign="top">
    <td>Tekst:</td>
      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>
  </tr>
  <tr>
    <td>
        <input type="hidden" name="dato" value="<?php echo $dato; ?>">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        </td>
      <td>
        <input type="submit" value="Gem" name="gem"> <input type="reset" value="Nulstil">
        </td>
  </tr>
    </form>
  </table>
    </td>
</tr>
</table>
</body>
</html>

Fil: Nyheder_tilføj.php
<?php
session_start();
$bjalke_farve = $_POST['bjalke_farve'];
$titel = $_POST['titel'];
$brodtekst = $_POST['brodtekst'];
$dato = $_POST['dato'];
$id = $_POST['id'];
$sendmail = $_POST['sendmail'];
?>

<html>

<head>

<title>Nyheder</title>

<link rel="stylesheet" href="../css/style.css" type="text/css">

</head>



<body bgcolor="#E0E0E0">

<?php

include("../data.php");

$conn=mysql_connect($host, $login, $password);

mysql_select_db($database);



if ($_POST['sendt']){

if (!$titel){

  $fejl[]="titel";

}

if (!$brodtekst){

  $fejl[]="tekst";

}

if ($fejl){

  $n=0;

    while ($n<count($fejl)){

    echo '<div class="brodtekst"><font color="#FF0000"><b>FEJL:</b> Du mangler at angive en '.$fejl[$n].'</font></div>';

    $n++;

    }

    echo '<br>';

} else {

  // først skal nyheden tilføjes

    $dato=date('YmdHis');

  $insert="insert into te_nyheder values ('','$dato','$titel','$brodtekst')";

    mysql_query($insert) or die (mysql_error());

   

    // hvis der er sagt ja til at sende mails, skal der selvfølgelig gøre dette

    if ($sendmail){

  $subject='Mobilkabler.dk er opdateret';

    $meddelelse="Hejsa\n\r\n\r";

    $meddelelse.="På vores website er der nu opdateret i nyhederne. \n\r";

    $meddelelse.="Du kan læse her eller gå ind på vores website og tjekke menupunktet 'Nyheder'. \n\r";

    $meddelelse.="Følgende nyhed er tilføjet : \n\r\n\r";

    $meddelelse.="_______________________________________________________________";
   
    $meddelelse.="\"$titel\"\n\r\n\r";
   
    $meddelelse.="\"$brodtekst\"\n\r\n\r";
   
      $meddelelse.="_______________________________________________________________      \n\r          ";

    $meddelelse.="Hvis du ved en fejl er tilmeldt denne liste kan du selv framelde dig her :      \n\r        ";
   
    $meddelelse.="http://www.mobilkabler.dk/shop/index.php?side=nyhedsmail  \n\r    ";

    $meddelelse.="Bemærk : Vi har ingen indflydelse på hvem der tilmelder sig listen.    \n\r    ";
   
    $meddelelse.="Kan du ikke selv framelde dig pga forkert indtastning, kan du skrive en mail til os.  \n\r          ";
    $meddelelse.="Så fjerner vi dig i henhold til reglerne for spam-mails og personlig krænkelse. \n\r            ";

    $meddelelse.="_______________________________________________________________    \n\r              ";
   
    $meddelelse.="NYT DEBATFORUM OG SUPPORTSIDER : http:www.mobilkabler.dk/support/ \n\r              ";
   
    $meddelelse.="Venligst\n\r";

    $meddelelse.="Thomas Eriksen, Indehaver\n\r";

    $meddelelse.="http://www.mobilkabler.dk";

    $query=mysql_query("select distinct mail from te_mailliste") or die (mysql_error());

    $antal_mails=mysql_num_rows($query);

    if ($antal_mails!=0){

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

        mail($data["mail"], $subject, $meddelelse,"From: Newsletter@Mobilkabler.dk");

        }

    }

    }

   

    $titel="";

    $brodtekst="";

}

}

?>

<div class="brodtekst_fed">Tilføj en nyhed</div>

<br>

<div class="brodtekst">

Her har du mulighed for at tilføje en nyhed til databasen. For at gøre dette, skal du

bare indtaste titlen samt teksten til nyheden og derefter trykke på 'Tilføj'. Den netop

tilføjede nyheds titel og dato vil nu fremgå af listen i venstre side.</div>

<br>

<hr>

<br>

<table width="100%">

<tr valign="top">

  <td>

    <center>

    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">

  <tr bgcolor="<?php echo $bjalke_farve; ?>">

    <td class="ramme1" width="50">&nbsp;Dato</td>

      <td class="ramme3">Titel</td>

  </tr>

    <?php

  $bgfarve_tal=1;

    $query=mysql_query("select dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());

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

      if($bgfarve_tal%2==0){

    $bgfarve=$bgfarve_1; // kig i data.php for info

    } else {

    $bgfarve=$bgfarve_2; // kig i data.php for info

    }

    echo '<tr bgcolor='.$bgfarve.'>';

      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';

        echo ' <td>'.$data["titel"].'&nbsp;</td>';

      echo '</tr>';

        $bgfarve_tal=$bgfarve_tal+1;

  }

    ?>

  <tr bgcolor="<?php echo $bjalke_farve; ?>">

    <td class="ramme1">&nbsp;</td>

      <td class="ramme3">&nbsp;</td>

  </tr>

  </table>

  </center>

  </td>

    <td>

    <table class="brodtekst_lille">

    <form method="post" action="nyheder_tilfoej.php">

  <tr>

    <td>Titel:</td>

      <td><input type="text" name="titel" size="50" maxlength="27" value="<?php echo $titel; ?>"></td>

  </tr>

  <tr valign="top">

    <td>Tekst:</td>

      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>

  </tr>

    <tr>

    <td></td>

      <td><input type="checkbox" name="sendmail"> Send email til mailliste om nyheden</td>

  </tr>

  <tr>

    <td></td>

      <td><input type="submit" value="Tilføj" name="sendt"> <input type="reset" value="Nulstil"></td>

  </tr>

    </form>

  </table>

    </td>

</tr>

</table>

</body>

</html>


Fil nyheder_slet
<?php
session_start();
$bjalke_farve = $_POST['bjalke_farve'];
$titel = $_POST['titel'];
$brodtekst = $_POST['brodtekst'];
$dato = $_POST['dato'];
$id = $_POST['id'];
$sendmail = $_POST['sendmail'];
?>
<html>
<head>
<title>Nyheder</title>
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>

<body bgcolor="#E0E0E0">
<?php
include("../data.php");
$conn=mysql_connect($host, $login, $password);
mysql_select_db($database);

if ($ret){
$query2=mysql_query("select * from te_nyheder where id='$id'") or die (mysql_error());
while ($data2=mysql_fetch_array($query2)){
  $id=$data2["id"];
    $dato=$data2["dato"];
  $titel=$data2["titel"];
    $brodtekst=$data2["brodtekst"];
}
}

if ($slet) {
$delete="delete from te_nyheder where id='$id'";
mysql_query($delete) or die (mysql_error());
$id="";
$titel="";
$brodtekst="";
}

?>
<div class="brodtekst_fed">Slet en nyhed</div>
<br>
<div class="brodtekst">
Her har du mulighed for at slette en nyhed fra databasen. For at gøre dette, skal du
først vælge nyheden i venstre side. Derefter skal du vælge 'Slet' i højre side, hvis den valgte nyhed
skal slettes.</div>
<br>
<hr>
<br>
<table width="100%">
<tr valign="top">
  <td>
    <center>
    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1" width="50">&nbsp;Dato</td>
      <td class="ramme2">Titel</td>
        <td class="ramme3">Vælg&nbsp;</td>
  </tr>
    <?php
    $bgfarve_tal=1;
    $query=mysql_query("select id,dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());
    while ($data=mysql_fetch_array($query)){
      if($bgfarve_tal%2==0){
    $bgfarve=$bgfarve_1; // kig i data.php for info
    } else {
    $bgfarve=$bgfarve_2; // kig i data.php for info
    }
    echo '<tr bgcolor='.$bgfarve.'>';
      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';
        echo ' <td>'.$data["titel"].'&nbsp;</td>';
        echo ' <td><a href="nyheder_slet.php?ret=ok&id='.$data["id"].'">Vælg&nbsp;</a></td>';
      echo '</tr>';
        $bgfarve_tal=$bgfarve_tal+1;
  }
    ?>
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1">&nbsp;</td>
        <td class="ramme2">&nbsp;</td>
      <td class="ramme3">&nbsp;</td>
  </tr>
  </table>
  </center>
  </td>
    <td>
    <table class="brodtekst">
    <form method="post" action="nyheder_slet.php">
  <tr>
    <td>Titel:</td>
      <td><input type="text" name="titel" size="50" value="<?php echo $titel; ?>"></td>
  </tr>
  <tr valign="top">
    <td>Tekst:</td>
      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>
  </tr>
  <tr>
    <td>
        <input type="hidden" name="dato" value="<?php echo $dato; ?>">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        </td>
      <td>
        <input type="submit" value="Slet nyhed" name="slet"> <input type="reset" value="Annuller">
        </td>
  </tr>
    </form>
  </table>
    </td>
</tr>
</table>
</body>
</html>
Avatar billede silke4ever Nybegynder
02. januar 2004 - 15:01 #5
Det virker ikke, hvorfor vil du bruge $post?
Avatar billede googolplex Novice
02. januar 2004 - 16:00 #6
Det gik meget hurtigt, men du kan eventuelt skifte POST ud med GET eller REQUEST. Brug post når dine variabler kommer fra en formular, GET hvis de kommer fra et link (http://eksempel.dk/index.php?variabel=vaerdi). REQUEST tager dem begge.

Ellers følg dea_pg's vejledning :)
Avatar billede silke4ever Nybegynder
03. januar 2004 - 01:27 #7
Jeg kan desværre ikke lige selv for det til at virke, anyone der kan hjælpe?

Jeg giver gerne 200 point
Avatar billede silke4ever Nybegynder
03. januar 2004 - 01:27 #8
Så nu er opgaven forhøjet til 200 point, jeg håber der er en der vil hjælpe.
Avatar billede googolplex Novice
03. januar 2004 - 02:03 #9
Sidste forsøg...

Fil nyheder_ret.php

<?php
session_start();
$titel = $_POST['titel'];
$brodtekst = $_POST['brodtekst'];
$dato = $_POST['dato'];
$id = $_POST['id'];
$gem = $_POST['gem'];
$ret = $_REQUEST['ret'];
?>
<html>
<head>
<title>Nyheder</title>
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>

<body bgcolor="#E0E0E0">
<?php
include("../data.php");
$conn=mysql_connect($host, $login, $password);
mysql_select_db($database);

if ($ret){
$query2=mysql_query("select * from te_nyheder where id='$id'") or die (mysql_error());
while ($data2=mysql_fetch_array($query2)){
  $id=$data2["id"];
    $dato=$data2["dato"];
  $titel=$data2["titel"];
    $brodtekst=$data2["brodtekst"];
}
}

if ($gem) {
$insert="update te_nyheder set dato='$dato', titel='$titel', brodtekst='$brodtekst' where id='$id'";
mysql_query($insert) or die (mysql_error());
$id="";
$dato="";
$titel="";
$brodtekst="";
}

?>
<div class="brodtekst_fed">Ret en nyhed</div>
<br>
<div class="brodtekst">
Her har du mulighed for at rette i en nyhed fra databasen. For at gøre dette, skal du
først vælge nyheden i venstre side. Derefter skal du foretage rettelserne i højre side
og afslutte med at klikke på 'Gem'.</div>
<br>
<hr>
<br>
<table width="100%">
<tr valign="top">
  <td>
    <center>
    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1" width="50">&nbsp;Dato</td>
      <td class="ramme2">Titel</td>
        <td class="ramme3">Vælg&nbsp;</td>
  </tr>
    <?php
    $bgfarve_tal=1;
    $query=mysql_query("select id,dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());
    while ($data=mysql_fetch_array($query)){
      if($bgfarve_tal%2==0){
    $bgfarve=$bgfarve_1; // kig i data.php for info
    } else {
    $bgfarve=$bgfarve_2; // kig i data.php for info
    }
    echo '<tr bgcolor='.$bgfarve.'>';
      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';
        echo ' <td>'.$data["titel"].'&nbsp;</td>';
        echo ' <td><a href="nyheder_ret.php?ret=ok&id='.$data["id"].'">Vælg&nbsp;</a></td>';
      echo '</tr>';
        $bgfarve_tal=$bgfarve_tal+1;
  }
    ?>
    <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1">&nbsp;</td>
        <td class="ramme2">&nbsp;</td>
        <td class="ramme3">&nbsp;</td>
    </tr>
    </table>
    </center>
  </td>
    <td>
    <table class="brodtekst_lille">
    <form method="post" action="nyheder_ret.php">
  <tr>
    <td>Titel:</td>
        <td><input type="text" name="titel" size="50" maxlength="27" value="<?php echo $titel; ?>"></td>
  </tr>
  <tr valign="top">
    <td>Tekst:</td>
      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>
  </tr>
  <tr>
    <td>
        <input type="hidden" name="dato" value="<?php echo $dato; ?>">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        </td>
      <td>
        <input type="submit" value="Gem" name="gem"> <input type="reset" value="Nulstil">
        </td>
  </tr>
    </form>
  </table>
    </td>
</tr>
</table>
</body>
</html>




Fil: Nyheder_tilføj.php
<?php
session_start();
$sendt = $_POST['sendt'];
$titel = $_POST['titel'];
$brodtekst = $_POST['brodtekst'];
$sendmail = $_POST['sendmail'];
?>

<html>

<head>

<title>Nyheder</title>

<link rel="stylesheet" href="../css/style.css" type="text/css">

</head>



<body bgcolor="#E0E0E0">

<?php

include("../data.php");

$conn=mysql_connect($host, $login, $password);

mysql_select_db($database);



if ($sendt){

if (!$titel){

  $fejl[]="titel";

}

if (!$brodtekst){

  $fejl[]="tekst";

}

if ($fejl){

  $n=0;

    while ($n<count($fejl)){

    echo '<div class="brodtekst"><font color="#FF0000"><b>FEJL:</b> Du mangler at angive en '.$fejl[$n].'</font></div>';

    $n++;

    }

    echo '<br>';

} else {

  // først skal nyheden tilføjes

    $dato=date('YmdHis');

  $insert="insert into te_nyheder values ('','$dato','$titel','$brodtekst')";

    mysql_query($insert) or die (mysql_error());

   

    // hvis der er sagt ja til at sende mails, skal der selvfølgelig gøre dette

    if ($sendmail){

  $subject='Mobilkabler.dk er opdateret';

    $meddelelse="Hejsa\n\r\n\r";

    $meddelelse.="På vores website er der nu opdateret i nyhederne. \n\r";

    $meddelelse.="Du kan læse her eller gå ind på vores website og tjekke menupunktet 'Nyheder'. \n\r";

    $meddelelse.="Følgende nyhed er tilføjet : \n\r\n\r";

    $meddelelse.="_______________________________________________________________";
   
    $meddelelse.="\"$titel\"\n\r\n\r";
   
    $meddelelse.="\"$brodtekst\"\n\r\n\r";
   
      $meddelelse.="_______________________________________________________________      \n\r          ";

    $meddelelse.="Hvis du ved en fejl er tilmeldt denne liste kan du selv framelde dig her :      \n\r        ";
   
    $meddelelse.="http://www.mobilkabler.dk/shop/index.php?side=nyhedsmail  \n\r    ";

    $meddelelse.="Bemærk : Vi har ingen indflydelse på hvem der tilmelder sig listen.    \n\r    ";
   
    $meddelelse.="Kan du ikke selv framelde dig pga forkert indtastning, kan du skrive en mail til os.  \n\r          ";
    $meddelelse.="Så fjerner vi dig i henhold til reglerne for spam-mails og personlig krænkelse. \n\r            ";

    $meddelelse.="_______________________________________________________________    \n\r              ";
   
    $meddelelse.="NYT DEBATFORUM OG SUPPORTSIDER : http:www.mobilkabler.dk/support/ \n\r              ";
   
    $meddelelse.="Venligst\n\r";

    $meddelelse.="Thomas Eriksen, Indehaver\n\r";

    $meddelelse.="http://www.mobilkabler.dk";

    $query=mysql_query("select distinct mail from te_mailliste") or die (mysql_error());

    $antal_mails=mysql_num_rows($query);

    if ($antal_mails!=0){

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

        mail($data["mail"], $subject, $meddelelse,"From: Newsletter@Mobilkabler.dk");

        }

    }

    }

   

    $titel="";

    $brodtekst="";

}

}

?>

<div class="brodtekst_fed">Tilføj en nyhed</div>

<br>

<div class="brodtekst">

Her har du mulighed for at tilføje en nyhed til databasen. For at gøre dette, skal du

bare indtaste titlen samt teksten til nyheden og derefter trykke på 'Tilføj'. Den netop

tilføjede nyheds titel og dato vil nu fremgå af listen i venstre side.</div>

<br>

<hr>

<br>

<table width="100%">

<tr valign="top">

  <td>

    <center>

    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">

  <tr bgcolor="<?php echo $bjalke_farve; ?>">

    <td class="ramme1" width="50">&nbsp;Dato</td>

      <td class="ramme3">Titel</td>

  </tr>

    <?php

  $bgfarve_tal=1;

    $query=mysql_query("select dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());

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

      if($bgfarve_tal%2==0){

    $bgfarve=$bgfarve_1; // kig i data.php for info

    } else {

    $bgfarve=$bgfarve_2; // kig i data.php for info

    }

    echo '<tr bgcolor='.$bgfarve.'>';

      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';

        echo ' <td>'.$data["titel"].'&nbsp;</td>';

      echo '</tr>';

        $bgfarve_tal=$bgfarve_tal+1;

  }

    ?>

  <tr bgcolor="<?php echo $bjalke_farve; ?>">

    <td class="ramme1">&nbsp;</td>

      <td class="ramme3">&nbsp;</td>

  </tr>

  </table>

  </center>

  </td>

    <td>

    <table class="brodtekst_lille">

    <form method="post" action="nyheder_tilfoej.php">

  <tr>

    <td>Titel:</td>

      <td><input type="text" name="titel" size="50" maxlength="27" value="<?php echo $titel; ?>"></td>

  </tr>

  <tr valign="top">

    <td>Tekst:</td>

      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>

  </tr>

    <tr>

    <td></td>

      <td><input type="checkbox" name="sendmail"> Send email til mailliste om nyheden</td>

  </tr>

  <tr>

    <td></td>

      <td><input type="submit" value="Tilføj" name="sendt"> <input type="reset" value="Nulstil"></td>

  </tr>

    </form>

  </table>

    </td>

</tr>

</table>

</body>

</html>





Fil nyheder_slet
<?php
session_start();
$titel = $_POST['titel'];
$brodtekst = $_POST['brodtekst'];
$dato = $_POST['dato'];
$id = $_POST['id'];
$slet = $_POST['slet'];
$ret = $_REQUEST['ret'];
?>
<html>
<head>
<title>Nyheder</title>
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>

<body bgcolor="#E0E0E0">
<?php
include("../data.php");
$conn=mysql_connect($host, $login, $password);
mysql_select_db($database);

if ($ret){
$query2=mysql_query("select * from te_nyheder where id='$id'") or die (mysql_error());
while ($data2=mysql_fetch_array($query2)){
  $id=$data2["id"];
    $dato=$data2["dato"];
  $titel=$data2["titel"];
    $brodtekst=$data2["brodtekst"];
}
}

if ($slet) {
$delete="delete from te_nyheder where id='$id'";
mysql_query($delete) or die (mysql_error());
$id="";
$titel="";
$brodtekst="";
}

?>
<div class="brodtekst_fed">Slet en nyhed</div>
<br>
<div class="brodtekst">
Her har du mulighed for at slette en nyhed fra databasen. For at gøre dette, skal du
først vælge nyheden i venstre side. Derefter skal du vælge 'Slet' i højre side, hvis den valgte nyhed
skal slettes.</div>
<br>
<hr>
<br>
<table width="100%">
<tr valign="top">
  <td>
    <center>
    <table class="brodtekst_lille" bgcolor="#FFFFFF" cellpadding="2" cellspacing="0">
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1" width="50">&nbsp;Dato</td>
      <td class="ramme2">Titel</td>
        <td class="ramme3">Vælg&nbsp;</td>
  </tr>
    <?php
    $bgfarve_tal=1;
    $query=mysql_query("select id,dayofmonth(dato),month(dato),titel from te_nyheder order by dato desc") or die (mysql_error());
    while ($data=mysql_fetch_array($query)){
      if($bgfarve_tal%2==0){
    $bgfarve=$bgfarve_1; // kig i data.php for info
    } else {
    $bgfarve=$bgfarve_2; // kig i data.php for info
    }
    echo '<tr bgcolor='.$bgfarve.'>';
      echo ' <td>&nbsp;'.$data["dayofmonth(dato)"].'/'.$data["month(dato)"].'</td>';
        echo ' <td>'.$data["titel"].'&nbsp;</td>';
        echo ' <td><a href="nyheder_slet.php?ret=ok&id='.$data["id"].'">Vælg&nbsp;</a></td>';
      echo '</tr>';
        $bgfarve_tal=$bgfarve_tal+1;
  }
    ?>
  <tr bgcolor="<?php echo $bjalke_farve; ?>">
    <td class="ramme1">&nbsp;</td>
        <td class="ramme2">&nbsp;</td>
      <td class="ramme3">&nbsp;</td>
  </tr>
  </table>
  </center>
  </td>
    <td>
    <table class="brodtekst">
    <form method="post" action="nyheder_slet.php">
  <tr>
    <td>Titel:</td>
      <td><input type="text" name="titel" size="50" value="<?php echo $titel; ?>"></td>
  </tr>
  <tr valign="top">
    <td>Tekst:</td>
      <td><textarea name="brodtekst" rows="8" cols="50"><?php echo $brodtekst; ?></textarea></td>
  </tr>
  <tr>
    <td>
        <input type="hidden" name="dato" value="<?php echo $dato; ?>">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        </td>
      <td>
        <input type="submit" value="Slet nyhed" name="slet"> <input type="reset" value="Annuller">
        </td>
  </tr>
    </form>
  </table>
    </td>
</tr>
</table>
</body>
</html>
Avatar billede olebole Juniormester
03. januar 2004 - 02:13 #10
<ole>

silke4ever >> Du siger, du beder om hjælp - men du beder i virkeligheden brugerne her om at lave et stykke gratis arbejde for dig.
E er et site for hjælp til selvhjælp - men det kræver jo, man selv kan noget. Ellers bør man nok henvende sig på et webbureau.

Det er muligt, du kender en bådebygger, der vil fortælle mig, hvordan jeg skal stille thermostaten på min båds dieselmotor - men han vil nok ikke bygge én til mig ... tror du?

/mvh
</bole>
Avatar billede silke4ever Nybegynder
03. januar 2004 - 02:46 #11
Hej Googolplex

Noget har du i hvert fald gjort rigtigt, da nyheder_tilføj virker!!!! 75 point til dig!

Kan du også lave sådan at nyheder_slet og nyheder_ret de virker?

Det der kikser er når den skal smide variablerne over i formen! Nogen ide om hvad det kan være?

Ellers mange tak for hjælpen so far!
Avatar billede googolplex Novice
03. januar 2004 - 09:52 #12
Kan jeg se siderne lagt op et sted?

Hvad virker præcist og hvad virker ikke ?

Koden er ikke det pæneste, så det er lidt uoverskueligt :)
Avatar billede silke4ever Nybegynder
03. januar 2004 - 13:52 #13
Hej GoogolPlex

Jeg kan desværre ikke lige fremvise siderne, da det er en del af en størrer administration.

Men hvis du forestiller dig to tabeller ved siden af hinanden, så når  du klikker på "vælg" i den ene tabel får at få variabler over i formen i den anden tabel, så sker der ikke noget. Variabler bliver altså ikke overført...

Er det svar nok? Jeg er jo ikke så klog.... :-/
Avatar billede googolplex Novice
03. januar 2004 - 17:43 #14
Jeg tror man skal se fejlen...

Så vidt jeg kan se burde det virke, men det er lidt svært når koden er så uoverskuelig og jeg ikke kan se siden, desværre :(

Men prøv at sæt dig ind i dea_pg's beskrivelse, den er god!
Avatar billede silke4ever Nybegynder
04. januar 2004 - 17:44 #15
Hej GoogolPlex m.fl.

jeg har nu fået en anden til at lave de andre to filer, så jeg vil dele pointene ud, som jeg mener I fortjener dem.
Avatar billede silke4ever Nybegynder
04. januar 2004 - 17:47 #16
dea_pg du fortjener egentligt også nogle point, men du har ikke lavet et svar :-/
Avatar billede fangel Nybegynder
04. januar 2004 - 17:55 #17
kommer her...

Morten
Avatar billede silke4ever Nybegynder
04. januar 2004 - 18:02 #18
Du skulle have fået nogle nu, men jeg kan ikke se, hvem og hvormange jeg har givet?
Avatar billede silke4ever Nybegynder
04. januar 2004 - 18:03 #19
Sådan så er pointene med.... beklager besværet....
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