Avatar billede stroke1 Nybegynder
24. juli 2003 - 23:50 Der er 17 kommentarer og
2 løsninger

overføre variabel ved submit

jeg har lavet noget kode hvor jeg har en form og deraf en submit. I formen har jeg en dato som jeg skal bruge i en mysql query uden for formen.
Hvordan får jeg den variabel $dato overført ??
Avatar billede medions Nybegynder
24. juli 2003 - 23:51 #1
Det skla du gøre med GET eller POST!

Du kan fx. gøre det vha. et Hidden field!

<form action="side.php" method="post">
<input type="hidden" name="dato" value="<? echo $dato; ?>">
</form>

//>Rune
Avatar billede slots_norton Nybegynder
24. juli 2003 - 23:53 #2
f.eks.

<?php
$dato="13-12-2003";
echo "<form action=\"side.php?dato=$dato\">";
?>
Avatar billede slots_norton Nybegynder
24. juli 2003 - 23:54 #3
selvom jeg selv vil mene at et hidden felt er bedre at bruge
Avatar billede repsac Nybegynder
24. juli 2003 - 23:54 #4
... Derefter vil indholdet af din $dato-variabel være indeholdt i $_POST['dato'] :)

(husk i øvrigt at lave addslashes() på de ting brugeren kan skrive i din query :))
Avatar billede stroke1 Nybegynder
24. juli 2003 - 23:55 #5
skal det gøres i input ???
Avatar billede medions Nybegynder
24. juli 2003 - 23:56 #6
Ja, det er en go' ting, for så kommer det ikke brugeren ved hvad data det er du sender!

//>Rune
Avatar billede repsac Nybegynder
24. juli 2003 - 23:56 #7
stroke1: hvem skriver du til?
Avatar billede repsac Nybegynder
24. juli 2003 - 23:57 #8
medions: det er da brugeren der sender data'ene(?)
Avatar billede stroke1 Nybegynder
25. juli 2003 - 00:05 #9
sådan her ser det ud :

<?
ob_start();
require("sidehoved.html");
session_start();

$del_me = $HTTP_POST_VARS['del_me'];
//echo "$del_me[0]";



$valid_user = $HTTP_SESSION_VARS['valid_user'];



$IPnr = getenv('REMOTE_ADDR'); # Henter brugerens aktuelle IP

// echo "$IPnr";

if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $file = $_FILES['upfil']['tmp_name'];
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "1000") {
        echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 1000 kb
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
 
    $sti = "/test/";
    $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
    $temparr = explode(".", $files);
    $temparr[count($temparr)-2] = time();
    $files = implode(".", $temparr);
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    $connection = mysql_pconnect("localhost","root");
    mysql_select_db("tilen");
  echo "$row[dato]";
echo "$valid_user";
exit;
    mysql_query("DELETE FROM indsaet_post WHERE dato = '$row[dato]' and userid = '$valid_user' ") or die(mysql_error());
   
  }


$connection = mysql_pconnect("localhost","root");
mysql_select_db("tilen");
// if (empty($HTTP_POST_VARS))
if (count ($del_me) >= 2)
{
    echo 'Du kan kun vælge at rette en ad gangen.';
    exit;
} else {
           
      $query = mysql_query("SELECT * FROM indsaet_post where dato = '$del_me[0]'") or die(mysql_error());
      while ($row = mysql_fetch_array($query)) {


$kategori=$row["kategori"];

$tekst=$row["tekst"];
$upfil=$row["upfil"];
?>




<center>
<table border="0" cellspacing="0" cellpadding="30" width="100%">




<tr>
 
      <td style="border-right: 1px solid black"><nobr><h3>xxx</nobr></td>

      <td rowspan="5" class ="td1" style="border-right: 1px solid black"><nobr><h5><center><b>Ret din post</nobr></b></center></h5>   
     

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">

<BODY><table bgcolor="#FFFFFF" width="450">

<tr>
        <td width="100"><input type="hidden" name="userid"></td><br></td>
        <td><br></td>
</tr>





<tr>
        <td width="100"><b>Kategori:</b></td>
        <td><select name="kategori" value="<?php echo "$kategori"; ?>">>
                   
                    <option value="andet">andet</option>                   
        </select></td>
</tr>





<tr>
        <td width="120"><b>Upload billede:</b></td>
        <td><input type="file" name="upfil"></td>
</tr>

<tr>
        <td width="120"><b>Tekst til billede:</b></td>
        <td><input type="text" name="tekst"></td>   
</tr>
<tr>
        <td width="120"></td>
        <td align="left"><input type="submit" value="send" name="up"></td>
</tr>

</table>
</form>
</td>

</tr>
<?

}
}
?>



</table>
</center>
     

<?

require ("sidefod.html");
ob_end_flush();
?>

Og datoen skal være kendt når jeg kalder databasen..
Avatar billede stroke1 Nybegynder
25. juli 2003 - 00:06 #10
Hvis i så kan fortælle mig hvad der skal rettes til ved den input :)
Avatar billede stroke1 Nybegynder
25. juli 2003 - 00:20 #11
ingen råd
Avatar billede repsac Nybegynder
25. juli 2003 - 00:22 #12
Jeg gider slet ikke kigge dine mangler linjer kode igennem. Forklar hvad problemet er (jeg forstår det stadig ikke) og spørg, så skal vi gøre hvad jeg (vi?) kan for at give dig råd og hjælp.
Avatar billede stroke1 Nybegynder
25. juli 2003 - 00:34 #13
jamen mit problem er som beskrevet, og når jeg prøver med :

form action="side.php" method="post">
<input type="hidden" name="dato" value="<? echo $dato; ?>">
</form>


så hopper den jo direkte ind i den første if sætning, og kommer ikke videre i koden.

Ellers tror jeg ideen er god nok. Men ved ikke hvordan jeg skal undgå at den går ind i den første if sætning ??
Avatar billede stroke1 Nybegynder
25. juli 2003 - 00:36 #14
der kommer jo til at stå :

if($_POST['dato']){
   

og det er jo opfyldt, men det skal det først være når der er submittet !!!
Avatar billede stroke1 Nybegynder
25. juli 2003 - 00:37 #15
håber det er forklaret tydeligt nok :)
Avatar billede repsac Nybegynder
25. juli 2003 - 00:41 #16
jammen... med mindre du har submittet en form med en input-felt der har navnet "data", så indeholder $_POST['data'] jo ikke noget... (reelt set er det stykke memmory slet ikke allokeret i den for stand)
Avatar billede repsac Nybegynder
25. juli 2003 - 00:41 #17
<~=> jeg forstår stadig ikke...
Avatar billede stroke1 Nybegynder
25. juli 2003 - 00:49 #18
en vigtig ting som jeg ikke har nævnt -

dato variablen er kendt fra en anden fil når denne fil kaldes, derfor vil den springe direkte ind if sætningen hvis det er if($dato) {  }
Avatar billede repsac Nybegynder
25. juli 2003 - 12:24 #19
Sidste forsøg: Forklar med ord hvad problemet er.

... forstår andre hvad der er galt?
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