Avatar billede nixxdk Nybegynder
24. september 2006 - 19:17 Der er 13 kommentarer

Sender auto til dben

Nogen der kan se fejlen i koden herunder?
Når man besøger siden, så sender den automatisk et tomt felt til dben.


<?php
session_start();
if(!$_SESSION['log_done'] == 1) {//Hvis brugeren ikke er logget in
header("Location: index.php");//Sender brugeren videre
exit;//Sørger for at resten af koden, ikke bliver udført
}
?>
<?
$kat = 1;
include "mysql.php";
   
    $submit = $_POST['submit'];

    if(isset($submit)){
       
           
        } else {
            $epoch = time();
            $url = $_POST['url'];
           
           
                    $url_real = $url;
                    $upload = 0;
                    $text = "Linket er blevet lavet!";
                }
           
            mysql_query("INSERT INTO `nixx_links` (`navn`, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('$_POST[navn]', '$_POST[beskrivelse]', '$url_real', '$epoch', '$_POST[kat]');") or die(mysql_error());
            echo "" . $text . "";
   
   
        // FORM //
    echo "<form name=\"form\" method=\"post\" action=\"$PHP_SELF?page=admin/billeder/bil_skriv.php\" enctype=\"multipart/form-data\">";
   
    echo "Navn:<br>
    <input type='text' name='navn' style='width: 244px;' class='text'><br>
    Link url:<br>
    <input type='text' name='url' style='width: 244px;' class='text' value='http://'><br>
    Kategori:<br><select size='1' name='kat'>";
   
    $rev = mysql_query("SELECT * FROM `nixx_kat` ORDER BY navn ASC") or die(mysql_error());
    while($data32 = mysql_fetch_array($rev))
    {
        echo "<option value='" . $data32['id'] . "'>" . $data32['navn'] . "</option>";
    }
   
    echo "</select><br>
    Beskrivelse:<br>
    <textarea name='beskrivelse' style='width: 344px; height: 244px;'></textarea>";
   
    echo "<br><br>";
   
    echo "<input type=\"submit\" name=\"submit\" value=\"Upload\">";
   
    echo "</form>";
   
    ?>
Avatar billede webudvikleren Nybegynder
24. september 2006 - 19:29 #1
Prøv denne - du havde lidt fejl hist og dér..

Læg mærke til denne linje:

  mysql_query("INSERT INTO `nixx_links` (`navn`, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('$_POST[navn]', '$_POST[beskrivelse]', '$url_real', '$epoch', '$_POST[kat]');") or die(mysql_error());

Du har et " ; " ved

VALUES ('$_POST[navn]', '$_POST[beskrivelse]', '$url_real', '$epoch', '$_POST[kat]') >>>>>>>> DER - ; - <<<<<<<")

-----------------------------------
Prøv denne kode<?php
session_start();

include("mysql.php");

/** HVIS BRUGEREN _IKKE_ ER LOGGET IND **/
if( !$_SESSION["log_done"] == 1 )
{

      /** SENDER BRUGEREN VIDERE **/
      header("Location: index.php");
   
      /** DER SKAL IKKE SKE MERE ! **/
      exit;
}

(integer) $kat = 1;

 

    if( !isset ( $_GET['data_sender'] ) )
    {

                    (integer) $upload = 0;
                    (string)  $text = "Linket er blevet lavet!";
                }
         
            mysql_query("INSERT INTO `nixx_links` (`navn, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );
           
            echo $text;
 
 
    /** FORMEN **/
    echo '<form name="form" method="post" action="?page=admin/billeder/bil_skriv.php?data_sender=true" enctype="multipart/form-data">';
 
    echo "Navn:<br />
    <input type=\"text\" name=\"navn\" style=\"width: 244px;\" class=\"text\" /><br />
    Link url:<br />
    <input type=\"text\" name=\"url\" style=\"width: 244px;\" class=\"text\" value=\"http://\" /><br />
    Kategori:<br />
    <select size=\"1\" name=\"kat\">";
 
    $rev = mysql_query("SELECT * FROM `nixx_kat` ORDER BY navn ASC");
   
    while( $data32 = mysql_fetch_assoc( $rev ) )
    {
        echo "<option value='" . $data32['id'] . "'>" . $data32['navn'] . "</option>";
    }
 
    echo "</select><br />
    Beskrivelse:<br>
    <textarea name=\"beskrivelse\" style=\"width: 344px; height: 244px;\"></textarea>";
 
    echo "<br /><br />";
 
    echo "<input type=\"submit\" name=\"submit\" value=\"Upload\">";
 
    echo "</form>";
 
?>:
Avatar billede webudvikleren Nybegynder
24. september 2006 - 19:31 #2
Hovsa - en lille fejl ..

Prøv denne fremfor:

<?php
session_start();

include("mysql.php");

/** HVIS BRUGEREN _IKKE_ ER LOGGET IND **/
if( !$_SESSION["log_done"] == 1 )
{

      /** SENDER BRUGEREN VIDERE **/
      header("Location: index.php");
   
      /** DER SKAL IKKE SKE MERE ! **/
      exit;
}

(integer) $kat = 1;

 

    if( !isset ( $_GET['data_sender'] ) )
    {

                    (integer) $upload = 0;
                    (string)  $text = "Linket er blevet lavet!";
                }
         
            mysql_query("INSERT INTO `nixx_links` (`navn, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );
           
            echo $text;
 
 
    /** FORMEN **/
    echo '<form name="form" method="post" action="?page=admin/billeder/bil_skriv.php&data_sender=true" enctype="multipart/form-data">';
 
    echo "Navn:<br />
    <input type=\"text\" name=\"navn\" style=\"width: 244px;\" class=\"text\" /><br />
    Link url:<br />
    <input type=\"text\" name=\"url\" style=\"width: 244px;\" class=\"text\" value=\"http://\" /><br />
    Kategori:<br />
    <select size=\"1\" name=\"kat\">";
 
    $rev = mysql_query("SELECT * FROM `nixx_kat` ORDER BY navn ASC");
   
    while( $data32 = mysql_fetch_assoc( $rev ) )
    {
        echo "<option value='" . $data32['id'] . "'>" . $data32['navn'] . "</option>";
    }
 
    echo "</select><br />
    Beskrivelse:<br>
    <textarea name=\"beskrivelse\" style=\"width: 344px; height: 244px;\"></textarea>";
 
    echo "<br /><br />";
 
    echo "<input type=\"submit\" name=\"submit\" value=\"Upload\">";
 
    echo "</form>";
 
?>
Avatar billede nixxdk Nybegynder
24. september 2006 - 19:57 #3
nu skriver den det her:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('', '', '', '11
Avatar billede webudvikleren Nybegynder
24. september 2006 - 20:12 #4
mysql_query("INSERT INTO nixx_links (`navn`, `beskrivelse`, `url`,`epoch`,`kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );
Avatar billede nixxdk Nybegynder
24. september 2006 - 20:15 #5
Den opretter stadig et tomt felt i db´en!
Avatar billede webudvikleren Nybegynder
24. september 2006 - 20:16 #6
Klart nok :-) Du afslutter dit } et forkert sted.

Ret denne:

  if( !isset ( $_GET['data_sender'] ) )
    {

                    (integer) $upload = 0;
                    (string)  $text = "Linket er blevet lavet!";
                }
       
            mysql_query("INSERT INTO `nixx_links` (`navn, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );
         
            echo $text;


Til:


  if( !isset ( $_GET['data_sender'] ) )
    {

                    (integer) $upload = 0;
                    (string)  $text = "Linket er blevet lavet!";

       
            mysql_query("INSERT INTO `nixx_links` (`navn, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );

                      }   
            echo $text;
Avatar billede webudvikleren Nybegynder
24. september 2006 - 20:17 #7
Nej - smid dit }, under echo $text;
Avatar billede nixxdk Nybegynder
24. september 2006 - 20:19 #8
fejl:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('', '', '', '11

koden:
<?php
session_start();

include("mysql.php");

/** HVIS BRUGEREN _IKKE_ ER LOGGET IND **/
if( !$_SESSION["log_done"] == 1 )
{

      /** SENDER BRUGEREN VIDERE **/
      header("Location: index.php");
   
      /** DER SKAL IKKE SKE MERE ! **/
      exit;
}

(integer) $kat = 1;

 

if( !isset ( $_GET['data_sender'] ) )
    {

                    (integer) $upload = 0;
                    (string)  $text = "Linket er blevet lavet!";

       
            mysql_query("INSERT INTO `nixx_links` (`navn, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );

            echo $text;
                      }   
 
    /** FORMEN **/
    echo '<form name="form" method="post" action="?page=admin/billeder/bil_skriv.php&data_sender=true" enctype="multipart/form-data">';
 
    echo "Navn:<br />
    <input type=\"text\" name=\"navn\" style=\"width: 244px;\" class=\"text\" /><br />
    Link url:<br />
    <input type=\"text\" name=\"url\" style=\"width: 244px;\" class=\"text\" value=\"http://\" /><br />
    Kategori:<br />
    <select size=\"1\" name=\"kat\">";
 
    $rev = mysql_query("SELECT * FROM `nixx_kat` ORDER BY navn ASC");
   
    while( $data32 = mysql_fetch_assoc( $rev ) )
    {
        echo "<option value='" . $data32['id'] . "'>" . $data32['navn'] . "</option>";
    }
 
    echo "</select><br />
    Beskrivelse:<br>
    <textarea name=\"beskrivelse\" style=\"width: 344px; height: 244px;\"></textarea>";
 
    echo "<br /><br />";
 
    echo "<input type=\"submit\" name=\"submit\" value=\"Upload\">";
 
    echo "</form>";
 
?>
Avatar billede webudvikleren Nybegynder
24. september 2006 - 20:23 #9
Du mangler et ` rundt om "navn"

ret:

mysql_query("INSERT INTO `nixx_links` (`navn, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );

til

  mysql_query("INSERT INTO `nixx_links` (`navn`, `beskrivelse`, `url`, `epoch`, `kat_id`) VALUES ('" . $_POST['navn'] . "', '" . $_POST['beskrivelse'] . "', '" . $_POST['url'] . "', '" . time() . "', '" . $_POST['kat'] . "')") or die ( mysql_error() );
Avatar billede nixxdk Nybegynder
24. september 2006 - 20:28 #10
den opretter stadig et felt!

Kan du så ikke lave en hvor man ikke behøves at være logget ind, men hvor man bare fylder felterne ud og sender dem!
Avatar billede webudvikleren Nybegynder
24. september 2006 - 20:31 #11
Øøh.. nu skal jeg lige forstå spørgsmålet ordenligt.
Er det ligeså snart man besøger siden, den automatisk sender til databasen ?

For det gør den altså umuligt, hvis du har følgende:
if( !isset ( $_GET['data_sender'] ) )

Som betyder, at hvis FORMEN har trykket submit, så sender den koden under
{
  ...
}

Er det ikke bare fordi du sidder og opdatere siden, og stadig har ?data_sender=true bag adressebaren?
Avatar billede nixxdk Nybegynder
25. september 2006 - 15:55 #12
jeg går ud og af siden hver gang jeg har opdateret min ftp med de nye ændringer!
Avatar billede webudvikleren Nybegynder
26. september 2006 - 17:21 #13
Mener ikke ftp'eren - men adressebaren, der hvor du skriver www.

Har du fået det til at virke - eller?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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