webForumDet fria alternativet
Logga in / Bli medlem

Skicka med variablar till annat script.

PHP

3 svar · 576 visningar · startad av egxezex

Medlem sedan jan. 200786 inlägg
Trådstart#1

Hej, jag och Tulork håller på med ett projekt, så ni kommer nog att känna igen koden, men nu är det min tur att fråga om hjälp.
Det är så att jag försöket skicka med en variabel (delete) från filen edit.php till redigera.php.
Det jag behöver hjälp med är att veta vad jag ska skriva för att skicka med en variabel i edit.php, se en bit ner i koden.

edit.php

<?php
ob_start();
session_start(); // Alltid överst på sidan

// Kolla om inloggad = sessionen satt
/*if (!isset($_SESSION['sess_user'])){
  header("Location: index.php");
  exit;
}
*/

if (!isset($_SESSION['sess_userlevel']) || $_SESSION['sess_userlevel'] != "admin") {
//  header("Location: index.php");
  header("refresh: 5;url=konto.php");
// eller
  echo "Du har inte behörighet till den här sidan";
  exit;
}

if (isset($_GET['logout'])){
  session_unset();
  session_destroy();
  header("Location: index.php");
  exit;
}
?>

<?php

include "conn.php";

if ($_POST['JA'] == "Ja" && strlen($_POST['delete']) && $_POST['delete'] != "126")
{
//  mysql_query("DELETE FROM $mem_table WHERE id = '" . $_POST['delete'] . "'");

header("Location: redigera.php?var=");   [B][red]//HÄR JAG BEHÖVER HJÄLP![/red][/B]
  exit;
}

// Performing SQL query
$query = 'SELECT * FROM members';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// Printing results in HTML
//echo "<link rel=StyleSheet href=\"setts\style.css\" TYPE=\"text/css\">";
echo "<table>\n";
echo "<p class=\"text\">ID User Pass Name Userlevel<p>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

if (isset ($_POST ['submit'])){
  $delete = $_POST['delete'];
  if ($delete=="126"){
    echo "<p class=\"text2\">Du kan inte redigera admin kontot!<p>";
  }

//--------------------------------------------------------------

  else {
        echo "<body class=\"text\">
	<p>Är du säker på att du vill redigera användaren med <strong>ID</strong>::$delete?<p>	
	<form method=\"post\" action=\"?\">
        <input type=\"submit\" name=\"JA\" value=\"Ja\">
        <input type=\"submit\" name=\"NEJ\" value=\"Nej\">
                 <input type=\"hidden\" name=\"delete\" value=\"$delete\">
        </form>
	</body>";

  }
}
ob_end_flush();
?>

<br><form method="post" action="?">
<label for="delete"> Vilket id vill du redigera?</label>
<input type="text" name="delete" />
<input type="submit" name="submit" value="Redigera!"/>
</form><br>
<a href="admin.php">Tillbaka</a><br><br>
<?php
echo "<a href=\"index.php?logout=\">Logga ut</a>\n";
?>

(variablen delete innehåller en siffra som skickats in ifrån en användaren)

redigera.php

<?php
ob_start();
session_start();
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])){
  header("Location: index.php");
  exit;
}
if (isset($_GET['logout'])){
  session_unset();
  session_destroy();
  header("Location: index.php");
  exit;
}
?>
<?php
include "conn.php"; // Databasanslutningen

// Performing SQL query sh
if (isset ($_GET['var'])){
$query = "SELECT * FROM $mem_table WHERE id =".$_GET['var']." ";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// Printing results in HTML
echo "<p>Den inloggade är<p>";
//echo "$_SESSION['sess_userlevel'];";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
//echo "test $sess_userlevel";
}
echo "</table>\n";

// Free resultset
mysql_free_result($result);

ob_end_flush();
} //or die('fucked');
?>
<?php
echo "<br><a href=\"index.php?logout=\">Logga ut</a>\n<br><br>";
?>
<a href="admin.php">Tillbaka </a><br><br>

Jag lyckas med att skicka med fasta värden, dvs siffror, men inte en variabel.

Medlem sedan dec. 200612 inlägg
#2

Du vill alltså skicka heltalsvärdet i $_POST['delete'] till redigera.php?var= ?

header("Location: redigera.php?var=". $_POST['delete']);
Medlem sedan jan. 200786 inlägg
#3
header("Location: redigera.php?var=". $_POST['delete']);

Det funkar ;) !, Tackar!

Medlem sedan sep. 2000155 inlägg
#4
header("Location: redigera.php?var={$_POST['delete']}");

funkar också.

251 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)