Beste,
Ik ben al een tijdje aan het klooien met een script en ik krijg het maar niet voor elkaar. Wie kan mij vertellen hoe je $naam in de databse kunt krijgen?
Zoals jullie misschien kunnen zien lukt het wel op $naam op de pagina te laten weergeven, maar dus niet in de database.
Ik hoop dat iemand mij wilt helpen.. Het zou er fijn zijn.
Groeten!
Script
PHP Code:
<?php
session_start ();
?>
<!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>
<link rel="stylesheet" href="css/style.css" />
<title>Webwinkel | Afrekenen</title>
<body>
<?php
include "includes/connect.php";
$sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while ($row = mysql_fetch_array($query)){
$subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];
$total_price += $subtotal;
if(isset($_POST['submit'])){
$naam = $_GET['naam'];
mysql_query("INSERT INTO bestellingen (naam) VALUES ('".mysql_real_escape_string($_POST['naam'])."')") or die (mysql_error());
echo 'Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.';
} else {
?>
<td><?php echo $row['naam'];?></td>
<?php
}
}
}
?>
<form method="POST" action="afrekenen.php">
<input type="submit" name="submit" value="Afrekenen"/>
- Hoe krijg ik $naam in database
-
28-03-2011, 13:13 #1
- Berichten
- 32
- Lid sinds
- 15 Jaar
Hoe krijg ik $naam in database
-
-
28-03-2011, 13:15 #2
- Berichten
- 1.044
- Lid sinds
- 16 Jaar
Re: Hoe krijg ik $naam in database
Haal je toevallig niet gewoon get en post door elkaar?
-
28-03-2011, 13:19 #3
- Berichten
- 5.791
- Lid sinds
- 18 Jaar
Re: Hoe krijg ik $naam in database
Zo te zien haal je idd get en post door elkaar
$naam = $_GET['naam'];
moet worden
$naam = $_POST['naam'];
-
28-03-2011, 13:24 #4
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Hoe krijg ik $naam in database
en als je dat doet kun je ook mysql_real_escape_string($naam) gebruiken, anders is $naam=$_POST['naam']; niet nodig en kost het je alleen maar een extra regel code.
-
28-03-2011, 16:05 #5
- Berichten
- 32
- Lid sinds
- 15 Jaar
Re: Hoe krijg ik $naam in database
Oke, maar als ik nu naar op "Afrekenen" klik op de "cart.php" pagina, krijg ik de volgende fouten:
Notice: Undefined index: naam in G:\UsbWebserver\Root\webshop\afrekenen.php on line 29
Notice: Undefined index: naam in G:\UsbWebserver\Root\webshop\afrekenen.php on line 31
Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.
Afrekenen
________________
Overigens stuurt hij ook nog geen naam naar de database.
Groeten
-
28-03-2011, 16:29 #6
- Berichten
- 1.044
- Lid sinds
- 16 Jaar
Re: Hoe krijg ik $naam in database
Kun je even de code posten die je op dit moment hebt?
Dan zal ik er eens naar kijken.
-
28-03-2011, 16:31 #7
- Berichten
- 32
- Lid sinds
- 15 Jaar
Re: Hoe krijg ik $naam in database
Ik heb natuurlijk nog even het één en adner geprobeerd.. op dit moment heb ik de volgende code:
PHP Code:<?php
session_start ();
include "includes/connect.php";
$sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while ($row = mysql_fetch_array($query)){
$subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];
$total_price += $subtotal;
if(isset($_POST['submit'])){
$naam = $_POST['naam'];
$row = array(
"2" => array(
"$naam" => "$naam",
),
);
mysql_query("INSERT INTO bestellingen (naam) VALUES ('".mysql_real_escape_string($_POST['naam'])."')") or die (mysql_error());
echo 'Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.';
} else {
?>
<td><?php echo $row['naam'];?></td>
<form method="POST" action="afrekenen.php">
<input type="submit" name="submit" value="Afrekenen"/>
<?php
}
}
}
?>
-
28-03-2011, 16:34 #8
- Berichten
- 162
- Lid sinds
- 17 Jaar
Re: Hoe krijg ik $naam in database
Wat je zou kunnen doen is het volgende:
PHP Code:
$naam = mysql_real_escape_string($_POST['naam']);
mysql_query("INSERT INTO bestellingen (naam) VALUES ('".$naam."')") or die (mysql_error());
-
28-03-2011, 16:38 #9
- Berichten
- 32
- Lid sinds
- 15 Jaar
Re: Hoe krijg ik $naam in database
Beste Michiel,
Ik heb het volgende van u geprobeerd:
PHP Code:<?php
session_start ();
include "includes/connect.php";
$sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while ($row = mysql_fetch_array($query)){
$subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];
$total_price += $subtotal;
if(isset($_POST['submit'])){
$naam = mysql_real_escape_string($_POST['naam']);
mysql_query("INSERT INTO bestellingen (naam) VALUES ('".$naam."')") or die (mysql_error());
echo 'Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.';
} else {
?>
<td><?php echo $row['naam'];?></td>
<form method="POST" action="afrekenen.php">
<input type="submit" name="submit" value="Afrekenen"/>
<?php
}
}
}
?>
Notice: Undefined index: naam in G:\UsbWebserver\Root\webshop\afrekenen.php on line 22
Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.
Groeten
-
28-03-2011, 16:42 #10
- Berichten
- 604
- Lid sinds
- 16 Jaar
Re: Hoe krijg ik $naam in database
Code:$row = array( "2" => array( "$naam" => "$naam", ), );
Code:$row['naam'] = $naam;
Code:<?php session_start (); $naam = ''; $row = ''; include "includes/connect.php"; $sql = "SELECT * FROM producten WHERE id_product IN ("; foreach ($_SESSION['cart'] as $id => $value){ $sql .= $id . ","; } $sql = substr($sql,0,-1).") ORDER BY id_product ASC"; $query = mysql_query($sql); $total_price = 0; if(!empty($query)){ while ($row = mysql_fetch_array($query)){ $subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs']; $total_price += $subtotal; if(isset($_POST['submit'])){ $naam = mysql_real_escape_string(htmlspecialchars($_POST['naam'])); $row['naam'] = $naam; mysql_query("INSERT INTO bestellingen (naam) VALUES ('".$naam."')") or die (mysql_error()); echo 'Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.'; } else { ?> <td><?php echo $row['naam'];?></td> <form method="POST" action="afrekenen.php"> <input type="submit" name="submit" value="Afrekenen"/> <?php } } } ?>
-
28-03-2011, 16:46 #11
- Berichten
- 32
- Lid sinds
- 15 Jaar
Re: Hoe krijg ik $naam in database
Allereerst allen bedankt dat jullie mij helpen.
Helaas werkt het bovenstaande niet en ik krijg de volgende error en geen gegevens in de database:
Notice: Undefined index: naam in G:\UsbWebserver\Root\webshop\afrekenen.php on line 20
Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.
Ik weet niet of het nodig is, maar ik heb ook even cart.php gepost.
Groeten!
PHP Code:<?php
include ("includes/connect.php");
if(isset($_POST['submit'])){
foreach($_POST as $key => $value){
$key = explode("-",$key);
$key = end($key);
$key = explode("submit",$key);
$key = end($key);
if(isset($_POST['quantity-'.$key]) <= 0){
unset($_SESSION['cart'][$key]);
} else if($_POST['quantity-'.$key] >= 50){
$_SESSION['cart'][$key]['quantity'] = 50;
} else {
$_SESSION['cart'][$key]['quantity'] = $value;
}
}
} error_reporting(0);
?>
<h1>Bekijk winkelwagen</h1>
<a href="beveiligdepagina.php?page=products">Ga terug naar de producten pagina.</a><br />
<?php $sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
if(empty($query)){
echo "Je moet een product toevoegen om toegang te krijgen op deze pagina.<br /><br />";
}
?>
<form method="post" action="#">
<fieldset>
<table>
<tr>
<th>Naam</th>
<th>Hoeveelheid</th>
<th>Prijs per product</th>
<th>Totaal prijs</th>
</tr>
<?php
$sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while ($row = mysql_fetch_array($query)){
$subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];
$total_price += $subtotal;
?>
<tr>
<td><?php echo $row['naam'];?></td>
<td><input type="text" name="quantity-<?php echo $row['id_product'];?>" size="5" value="<?php echo $_SESSION['cart'][$row['id_product']]['quantity'];?>" style="width: 30px; height: 18px; margin-left: 17px;"/></td>
<td><?php echo "€" . $row['prijs'];?></td>
<td><?php echo"€" . $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];?></td>
</tr>
<?php
} }
?>
<tr>
<td></td>
<td></td>
<td>Totaal prijs:</td>
<td><?php echo"€" . $total_price;?></td>
</tr>
</table>
<br />
<input type="submit" name="submit" value="Update winkelwagen"/></fieldset>
</form><br />
<form method="POST" action="afrekenen.php">
<input type="submit" name="submit" value="Afrekenen"/></fieldset>
</form><br />
<p>Om een product te verwijderen, dient u de hoeveelheid op <strong>0</strong> te zetten.</p>
Zijn er nog mensen die me willen helpen ? Ben even weg.. Wanneer jullie delen van scripts nodig hebben, kunnen jullie het vragen! groetLaatst aangepast door Bas de Ruiter : 28-03-2011 om 17:43 Reden: Automatisch samengevoegd.
-
28-03-2011, 17:44 #12
- Berichten
- 750
- Lid sinds
- 16 Jaar
Re: Hoe krijg ik $naam in database
Logisch je kan niet bepaald een td element posten
-
30-03-2011, 15:12 #13
- Berichten
- 34
- Lid sinds
- 14 Jaar
Re: Hoe krijg ik $naam in database
probeer dit anders eens:
Ik heb bij de query insert into naam aangepast
PHP Code:
<?php
session_start ();
$naam = '';
$row = '';
include "includes/connect.php";
$sql = "SELECT * FROM producten WHERE id_product IN (";
foreach ($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY id_product ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while ($row = mysql_fetch_array($query)){
$subtotal = $_SESSION['cart'][$row['id_product']]['quantity']*$row['prijs'];
$total_price += $subtotal;
if(isset($_POST['submit'])){
$naam = mysql_real_escape_string(htmlspecialchars($_POST['naam']));
$row['naam'] = $naam;
mysql_query("INSERT INTO bestellingen (naam) VALUES ('{$naam}')") or die (mysql_error());
echo 'Uw bestelling is geplaatst! Wij zullen uw inzending zo snel mogelijk in behandeling nemen.';
} else {
?>
<td><?php echo $row['naam'];?></td>
<form method="POST" action="afrekenen.php">
<input type="submit" name="submit" value="Afrekenen"/>
<?php
}
}
}
?>
-
30-03-2011, 15:47 #14
- Berichten
- 32
- Lid sinds
- 15 Jaar
Re: Hoe krijg ik $naam in database
Helaas Roger, werkt het ook niet. Wanneer ik op de pagina "winkelwagen" op de afreken button klik, wordt ik doorgestuurd naar de desbetreffende afreken pagina, maar wanneer ik dit doe gaat hij gelijk de gegevens verzenden en zie ik niet eerst de "afreken" button waardoor die het verstuurd.
Wanneer ik de pagina echter vernieuw, dan krijg ik wel eerst die button.
Enig idee waar dat aan kan liggen ?
groeten
EDIT: Wanneer ik de volgende regel verwijder dan krijg ik geen undefined error meer:
$naam = mysql_real_escape_string(htmlspecialchars($_POST['naam']));
Toch krijg ik niet de naam van het product ik de database :S
-
30-03-2011, 20:55 #15
- Berichten
- 34
- Lid sinds
- 14 Jaar
Re: Hoe krijg ik $naam in database
en als je die regel zonder htmlspecialchars doet? of is die echt nodig voor hetgeen wat je wilt registreren?
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic