Php Waarde uit andere tabel meesturen naar nieuwe rij die word toegevoegd

Status
Niet open voor verdere reacties.

thomas2001

Gebruiker
Lid geworden
17 jan 2013
Berichten
56
Goedenavond,

Ik heb een login-systeem waarmee je een product toe kan voegen aan een database, hierbij moet een userId van de ingelogde grbuiker in de users tabel meegeven worden aan de products tabel in de createdby tabel gezet worden.


Wie kan mij helpen met deze code?

PHP:
<?php 
// This file is www.developphp.com curriculum material
// Written by Adam Khoury January 01, 2011
// http://www.youtube.com/view_play_list?p=442E340A42191003
session_start();
if (!isset($_SESSION["user"])) {
    header("location: index.php"); 
    exit();
}
// Be sure to check that this manager SESSION value is in fact in the database

include "dbconnect.php"; 

?>
<?php 
// Script Error Reporting
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php 
// Delete Item Question to Admin, and Delete Product if they choose
if (isset($_GET['deleteid'])) {
	echo 'Do you really want to delete product with ID of ' . $_GET['deleteid'] . '? <a href="inventory_list.php?yesdelete=' . $_GET['deleteid'] . '">Yes</a> | <a href="inventory_list.php">No</a>';
	exit();
}
if (isset($_GET['yesdelete'])) {
	// remove item from system and delete its picture
	// delete from database
	$id_to_delete = $_GET['yesdelete'];
	$sql = mysql_query("DELETE FROM products WHERE id='$id_to_delete' LIMIT 1") or die (mysql_error());
	// unlink the image from server
	// Remove The Pic -------------------------------------------
    $pictodelete = ("../inventory_images/$id_to_delete.jpg");
    if (file_exists($pictodelete)) {
       		    unlink($pictodelete);
    }
	header("location: inventory_list.php"); 
    exit();
}
?>
<?php 
// Parse the form data and add inventory item to the system
if (isset($_POST['product_name'])) {
	
    $product_name = mysql_real_escape_string($_POST['product_name']);
	$price = mysql_real_escape_string($_POST['price']);
	$category = mysql_real_escape_string($_POST['category']);
	$subcategory = mysql_real_escape_string($_POST['subcategory']);
	$details = mysql_real_escape_string($_POST['details']);
	// See if that product name is an identical match to another product in the system
	$sql = mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");
	$productMatch = mysql_num_rows($sql); // count the output amount
    if ($productMatch > 0) {
		echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a href="inventory_list.php">click here</a>';
		exit();
	}
	// Add this product into the database now
	$sql = mysql_query("INSERT INTO products (product_name, price, details, category, spicy, date_added) 
        VALUES('$product_name','$price','$details','$category','$subcategory',now())") or die (mysql_error());
     $pid = mysql_insert_id();
	// Place image in the folder 
	$newname = "$pid.jpg";
	move_uploaded_file( $_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
	header("location: inventory_list.php"); 
    exit();
}
?>
<?php 
// This block grabs the whole list for viewing
$product_list = "";
$sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC");
$productCount = mysql_num_rows($sql); // count the output amount
if ($productCount > 0) {
	while($row = mysql_fetch_array($sql)){ 
             $id = $row["id"];
			 $product_name = $row["product_name"];
			 $price = $row["price"];
			 $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
			 $product_list .= "Product ID: $id - <strong>$product_name</strong> - $$price - <em>Added $date_added</em> &nbsp; &nbsp; &nbsp; <a href='inventory_edit.php?pid=$id'>edit</a> &bull; <a href='inventory_list.php?deleteid=$id'>delete</a><br />";
    }
} else {
	$product_list = "You have no products listed in your store yet";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inventory List</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" />
</head>

<body>
<div align="center" id="mainWrapper">
  
  <div id="pageContent"><br />
    <div align="right" style="margin-right:32px;"><a href="inventory_list.php#inventoryForm">+ Add New Inventory Item</a></div>
<div align="left" style="margin-left:24px;">
      <h2>Inventory list</h2>
      <?php echo $product_list; ?>
    </div>
    <hr />
    <a name="inventoryForm" id="inventoryForm"></a>
    <h3>
    &darr; Add New Inventory Item Form &darr;
    </h3>
    <form action="inventory_list.php" enctype="multipart/form-data" name="myForm" id="myform" method="post">
    <table width="90%" border="0" cellspacing="0" cellpadding="6">
      <tr>
        <td width="20%" align="right">Naam</td>
        <td width="80%"><label>
          <input name="product_name" type="text" id="product_name" size="64" />
        <input name="created" type="text" id="created" size="64" value="<?php echo $userRow['userEmail']; ?>" />
        </label></td>
      </tr>
      <tr>
        <td align="right">Prijs</td>
        <td><label>
          €
          <input name="price" type="text" id="price" size="12" />
        </label></td>
      </tr>
       <tr>
        <td align="right">Heritage:</td>
        <td><label>
          <select name="country" id="country">
<option value="abkhazia">abkhazia</option>
<option value="afghanistan">afghanistan</option>
<option value="aland-islands">aland-islands</option>
<option value="albania">albania</option>
<option value="algeria">algeria</option>
<option value="american-samoa">american-samoa</option>
<option value="andorra">andorra</option>
<option value="angola">angola</option>
<option value="anguilla">anguilla</option>
<option value="antigua-and-barbuda">antigua-and-barbuda</option>
<option value="argentina">argentina</option>
<option value="armenia">armenia</option>
<option value="aruba">aruba</option>
<option value="australia">australia</option>
<option value="austria">austria</option>
<option value="azerbaijan">azerbaijan</option>
<option value="azores-islands">azores-islands</option>
<option value="bahamas">bahamas</option>
<option value="bahrain">bahrain</option>
<option value="balearic-islands">balearic-islands</option>
<option value="bangladesh">bangladesh</option>
<option value="barbados">barbados</option>
<option value="basque-country">basque-country</option>
<option value="belarus">belarus</option>
<option value="belgium">belgium</option>
<option value="belize">belize</option>
<option value="benin">benin</option>
<option value="bermuda">bermuda</option>
<option value="bhutan-">bhutan-</option>
<option value="bhutan">bhutan</option>
<option value="bolivia">bolivia</option>
<option value="bonaire">bonaire</option>
<option value="bosnia-and-herzegovina">bosnia-and-herzegovina</option>
<option value="botswana">botswana</option>
<option value="brazil">brazil</option>
<option value="british-columbia">british-columbia</option>
<option value="british-indian-ocean-territory">british-indian-ocean-territory</option>
<option value="british-virgin-islands">british-virgin-islands</option>
<option value="brunei">brunei</option>
<option value="bulgaria">bulgaria</option>
<option value="burkina-faso">burkina-faso</option>
<option value="burundi">burundi</option>
<option value="cambodia">cambodia</option>
<option value="cameroon">cameroon</option>
<option value="canada">canada</option>
<option value="canary-islands">canary-islands</option>
<option value="cape-verde">cape-verde</option>
<option value="cayman-islands">cayman-islands</option>
<option value="central-african-republic">central-african-republic</option>
<option value="ceuta">ceuta</option>
<option value="chad">chad</option>
<option value="chile">chile</option>
<option value="china">china</option>
<option value="christmas-island">christmas-island</option>
<option value="cocos-island">cocos-island</option>
<option value="colombia">colombia</option>
<option value="comoros">comoros</option>
<option value="cook-islands">cook-islands</option>
<option value="corsica">corsica</option>
<option value="costa-rica">costa-rica</option>
<option value="croatia">croatia</option>
<option value="cuba">cuba</option>
<option value="curacao">curacao</option>
<option value="cyprus">cyprus</option>
<option value="czech-republic">czech-republic</option>
<option value="democratic-republic-of-congo">democratic-republic-of-congo</option>
<option value="denmark">denmark</option>
<option value="djibouti">djibouti</option>
<option value="dominica">dominica</option>
<option value="dominican-republic">dominican-republic</option>
<option value="east-timor">east-timor</option>
<option value="ecuador">ecuador</option>
<option value="egypt">egypt</option>
<option value="england">england</option>
<option value="equatorial-guinea">equatorial-guinea</option>
<option value="eritrea">eritrea</option>
<option value="estonia">estonia</option>
<option value="ethiopia">ethiopia</option>
<option value="european-union">european-union</option>
<option value="falkland-islands">falkland-islands</option>
<option value="faroe-islands">faroe-islands</option>
<option value="fiji">fiji</option>
<option value="finland">finland</option>
<option value="france">france</option>
<option value="french-polynesia">french-polynesia</option>
<option value="gabon">gabon</option>
<option value="galapagos-islands">galapagos-islands</option>
<option value="gambia">gambia</option>
<option value="georgia">georgia</option>
<option value="germany">germany</option>
<option value="ghana">ghana</option>
<option value="gibraltar">gibraltar</option>
<option value="greece">greece</option>
<option value="greenland">greenland</option>
<option value="grenada">grenada</option>
<option value="guam">guam</option>
<option value="guatemala">guatemala</option>
<option value="guernsey">guernsey</option>
<option value="guinea-bissau">guinea-bissau</option>
<option value="guinea">guinea</option>
<option value="guyana">guyana</option>
<option value="haiti">haiti</option>
<option value="hawaii">hawaii</option>
<option value="honduras">honduras</option>
<option value="hong-kong">hong-kong</option>
<option value="hungary">hungary</option>
<option value="iceland">iceland</option>
<option value="india">india</option>
<option value="indonesia">indonesia</option>
<option value="iran">iran</option>
<option value="iraq">iraq</option>
<option value="ireland">ireland</option>
<option value="isle-of-man">isle-of-man</option>
<option value="israel">israel</option>
<option value="italy">italy</option>
<option value="ivory-coast">ivory-coast</option>
<option value="jamaica">jamaica</option>
<option value="japan">japan</option>
<option value="jersey">jersey</option>
<option value="jordan">jordan</option>
<option value="kazakhstan">kazakhstan</option>
<option value="kenya">kenya</option>
<option value="kiribati">kiribati</option>
<option value="kosovo">kosovo</option>
<option value="kuwait">kuwait</option>
<option value="kyrgyzstan">kyrgyzstan</option>
<option value="laos">laos</option>
<option value="latvia">latvia</option>
<option value="lebanon">lebanon</option>
<option value="lesotho">lesotho</option>
<option value="liberia">liberia</option>
<option value="libya">libya</option>
<option value="liechtenstein">liechtenstein</option>
<option value="lithuania">lithuania</option>
<option value="luxembourg">luxembourg</option>
<option value="macao">macao</option>
<option value="madagascar">madagascar</option>
<option value="madeira">madeira</option>
<option value="malawi">malawi</option>
<option value="malaysia">malaysia</option>
<option value="maldives">maldives</option>
<option value="mali">mali</option>
<option value="malta">malta</option>
<option value="marshall-island">marshall-island</option>
<option value="martinique">martinique</option>
<option value="mauritania">mauritania</option>
<option value="mauritius">mauritius</option>
<option value="melilla">melilla</option>
<option value="mexico">mexico</option>
<option value="micronesia">micronesia</option>
<option value="moldova">moldova</option>
<option value="monaco">monaco</option>
<option value="mongolia">mongolia</option>
<option value="montenegro">montenegro</option>
<option value="montserrat">montserrat</option>
<option value="morocco">morocco</option>
<option value="mozambique">mozambique</option>
<option value="myanmar">myanmar</option>
<option value="namibia">namibia</option>
<option value="nato">nato</option>
<option value="nauru">nauru</option>
<option value="nepal">nepal</option>
<option value="netherlands">netherlands</option>
<option value="new-zealand">new-zealand</option>
<option value="nicaragua">nicaragua</option>
<option value="niger">niger</option>
<option value="nigeria">nigeria</option>
<option value="niue">niue</option>
<option value="norfolk-island">norfolk-island</option>
<option value="north-korea">north-korea</option>
<option value="northen-cyprus">northen-cyprus</option>
<option value="northern-marianas-islands">northern-marianas-islands</option>
<option value="norway">norway</option>
<option value="oman">oman</option>
<option value="orkney-islands">orkney-islands</option>
<option value="ossetia">ossetia</option>
<option value="pakistan">pakistan</option>
<option value="palau">palau</option>
<option value="palestine">palestine</option>
<option value="panama">panama</option>
<option value="papua-new-guinea">papua-new-guinea</option>
<option value="paraguay">paraguay</option>
<option value="peru">peru</option>
<option value="philippines">philippines</option>
<option value="pitcairn-islands">pitcairn-islands</option>
<option value="portugal">portugal</option>
<option value="puerto-rico">puerto-rico</option>
<option value="qatar">qatar</option>
<option value="rapa-nui">rapa-nui</option>
<option value="republic-of-macedonia">republic-of-macedonia</option>
<option value="republic-of-poland">republic-of-poland</option>
<option value="republic-of-the-congo">republic-of-the-congo</option>
<option value="romania">romania</option>
<option value="russia">russia</option>
<option value="rwanda">rwanda</option>
<option value="saba-island">saba-island</option>
<option value="saint-kitts-and-nevis">saint-kitts-and-nevis</option>
<option value="salvador">salvador</option>
<option value="samoa">samoa</option>
<option value="san-marino">san-marino</option>
<option value="sao-tome-and-principe">sao-tome-and-principe</option>
<option value="sardinia">sardinia</option>
<option value="saudi-arabia">saudi-arabia</option>
<option value="scotland">scotland</option>
<option value="senegal">senegal</option>
<option value="serbia">serbia</option>
<option value="seychelles">seychelles</option>
<option value="sierra-leone">sierra-leone</option>
<option value="singapore">singapore</option>
<option value="sint-eustatius">sint-eustatius</option>
<option value="sint-maarten">sint-maarten</option>
<option value="slovakia">slovakia</option>
<option value="slovenia">slovenia</option>
<option value="solomon-islands">solomon-islands</option>
<option value="somalia">somalia</option>
<option value="somaliland">somaliland</option>
<option value="south-africa">south-africa</option>
<option value="south-korea">south-korea</option>
<option value="south-sudan">south-sudan</option>
<option value=" spain"> spain</option>
<option value="sri-lanka">sri-lanka</option>
<option value="st-barts">st-barts</option>
<option value="st-lucia">st-lucia</option>
<option value="st-vincent-and-the-grenadines">st-vincent-and-the-grenadines</option>
<option value="sudan">sudan</option>
<option value="suriname">suriname</option>
<option value="swaziland">swaziland</option>
<option value="sweden">sweden</option>
<option value="switzerland">switzerland</option>
<option value="syria">syria</option>
<option value="taiwan">taiwan</option>
<option value="tajikistan">tajikistan</option>
<option value="tanzania">tanzania</option>
<option value="thailand">thailand</option>
<option value="tibet">tibet</option>
<option value="togo">togo</option>
<option value="tokelau">tokelau</option>
<option value="tonga">tonga</option>
<option value="transnistria">transnistria</option>
<option value="trinidad-and-tobago">trinidad-and-tobago</option>
<option value="tunisia">tunisia</option>
<option value="turkey">turkey</option>
<option value="turkmenistan">turkmenistan</option>
<option value="turks-and-caicos">turks-and-caicos</option>
<option value="tuvalu">tuvalu</option>
<option value="uganda">uganda</option>
<option value="ukraine">ukraine</option>
<option value="united-arab-emirates">united-arab-emirates</option>
<option value="united-kingdom">united-kingdom</option>
<option value="united-nations">united-nations</option>
<option value="united-states-of-america">united-states-of-america</option>
<option value="uruguay">uruguay</option>
<option value="uzbekistn">uzbekistn</option>
<option value="vanuatu">vanuatu</option>
<option value="vatican-city">vatican-city</option>
<option value="venezuela">venezuela</option>
<option value="vietnam">vietnam</option>
<option value="virgin-islands">virgin-islands</option>
<option value="western-sahara">western-sahara</option>
<option value="yemen">yemen</option>
<option value="zambia">zambia</option>
<option value="zimbabwe">zimbabwe</option>
</select>
      <tr>
        <td align="right">Category</td>
        <td><label>
          <select name="category" id="category">
          <option value="voorgerecht">Voorgerecht</option>
          <option value="nagerecht">Nagerecht</option>
          <option value="hoofdgerecht">Hoofdgerecht</option>
          <option value="bijgerecht">Bijgerecht</option>
          <option value="drinken">Drinken</option>
          </select>
        </label></td>
      </tr>
      <tr>
        <td align="right">Pittigheid</td>
        <td><select name="spicy" id="spicy">
        <option value=""></option>
          <option value="niet">Niet Pittig</option>
          <option value="licht">Licht Pittig</option>
          <option value="pittig">Pittig</option>
          <option value="zeer">Zeer Pittig</option>
          <option value="extreem">Extreem Pittig</option>
          </select></td>
      </tr>
      <tr>
        <td align="right">Product Details</td>
        <td><label>
          <textarea name="details" id="details" cols="64" rows="5"></textarea>
        </label></td>
      </tr>
      <tr>
        <td align="right">Product Image</td>
        <td><label>
          <input type="file" name="fileField" id="fileField" />
        </label></td>
      </tr>      
      <tr>
        <td>&nbsp;</td>
        <td><label>
          <input type="submit" name="button" id="button" value="Gerechten Toevoegen" />
        </label></td>
      </tr>
    </table>
    </form>
    <br />
  <br />
  </div>
 
</div>
</body>
</html>
 
En waar loop je op vast? Ik vind 400 regels code ook een beetje veel om door te lezen.
Dus kan je wat relevante code geven?

Let er wel op dat je nog oude mysql-functies gebruikt. In PHP 7 zullen deze niet meer werken, Dus stap over op de functies van de MySQLi-driver of gebruik de PDO-functies.
Straks kan het wel eens te laat zijn, waarbij je site niet meer werkt.
 
Ik heb het deel van de code nu aangepast naar:
PHP:
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
	$userRow=mysql_fetch_array($res);
if (isset($_POST['product_name'])) {


    $product_name = mysql_real_escape_string($_POST['product_name']);
	$price = mysql_real_escape_string($_POST['price']);
	$category = mysql_real_escape_string($_POST['category']);
	$spicy = mysql_real_escape_string($_POST['spicy']);
	$details = mysql_real_escape_string($_POST['details']);
	// See if that product name is an identical match to another product in the system
	$sql = mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");
	$productMatch = mysql_num_rows($sql); // count the output amount
    if ($productMatch > 0) {
		echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a href="inventory_list.php">click here</a>';
		exit();
	}
	// Add this product into the database now
	$sql = mysql_query("INSERT INTO products (product_name, price, details, category, spicy, date_added, createdby) 
        VALUES('$product_name','$price','$details','$category','$spicy',now()),'" . $_SESSION['user'] . "'") or die (mysql_error());
maar ik krijg deze error :(
Code:
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 ''52'' at line 2
 
Over welke query hebben we het nu precies?
Een tipje: zet de query-string in een variabele, en echo deze.
Dan kan je heel snel en eenvoudig zien welke query er uitgevoerd wordt.
 
HTML:
$sql = mysql_query("INSERT INTO products (product_name, price, details, category, spicy, date_added, createdby) 
        VALUES('$product_name','$price','$details','$category','$spicy',now()),'" . $_SESSION['user'] . "'") or die (mysql_error());
 
Zet alles wat in je mysql_query staat in een aparte variabele, en echo die eens. Dat werkt handiger bij debuggen.

Verder zie ik bij now twee sluithaakjes. Dat klopt niet.
 
Laatst bewerkt:
Je sluit het haakje niet goed af, of te vroeg.

Dit:

Code:
$sql = mysql_query("INSERT INTO products (product_name, price, details, category, spicy, date_added, createdby) 
        VALUES('$product_name','$price','$details','$category','$spicy',now()),'" . $_SESSION['user'] . "'") or die (mysql_error());

Moet dit zijn:

Code:
$sql = mysql_query("INSERT INTO products (product_name, price, details, category, spicy, date_added, createdby) 
        VALUES('$product_name','$price','$details','$category','$spicy',now(),'" . $_SESSION['user'] . "')") or die (mysql_error());
 
Maak er meteen maar NOW() van in hoofdletters. Dat is de gewoonte met SQL-functies.
 
Je sluit het haakje niet goed af, of te vroeg.

Dit:

Code:
$sql = mysql_query("INSERT INTO products (product_name, price, details, category, spicy, date_added, createdby) 
        VALUES('$product_name','$price','$details','$category','$spicy',now()),'" . $_SESSION['user'] . "'") or die (mysql_error());

Moet dit zijn:

Code:
$sql = mysql_query("INSERT INTO products (product_name, price, details, category, spicy, date_added, createdby) 
        VALUES('$product_name','$price','$details','$category','$spicy',now(),'" . $_SESSION['user'] . "')") or die (mysql_error());

Bedankt allemaal, hij doet het nu :thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan