implode is de fout?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andre

andre

27/12/2004 23:34:00
Quote Anchor link
Nou ben ik weer, een week geleden begon ik met sessies, en nu vraag ik het hier maar eens want ik ben al weer dagen bezig met dit probleem.

ik zal hier de code van me pagina plakken.
De fout die ik krijg is:
Warning: Bad arguments to implode() in c:\phpdev\www\project2\factuur.php on line 20

Het gaat er om dat ik een sessie uit wil lezen en in een query wil gebruiken...
Het 1e stukje code checkt of de sessie een waarde heeft, en dat heeft ie...
met print_r($_SESSION); kan ik ook de waarde uit printen uit de sessie... maar het script daaronder, en daar gaat het om, die doet het niet...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php session_start(); ?>

<h1>Factuur</h1><p>
<h2>Producten</h2>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
error_reporting(E_ALL);
if(isset($_SESSION['prdid'])) {
  echo "productid bestaat.<br>";
}
else {
  echo "productid bestaat niet!<br>";
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
print_r($_SESSION);
?>
<p>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
include("dbconnect1.php");
$IDsession = implode(",",$_SESSION['prdid']);
$query = "SELECT * FROM pdklant WHERE prdid IN ('.$IDsession.')";
$resultaat = mysql_query($query) or die ("Er is iets mis met de database");
?>


<table>
<tr>
<td width="50"><b>Nr</td>
<td width="75"><B>Product</td>
<td width="75"><b>Prijs</td>
<td width="75"><b>Aantal</td>
<td><b>Totaal</td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
  while($obj = mysql_fetch_array($resultaat)){
      ?>

<tr>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $obj['prdid'];?>

</td>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $obj['naampd'];?>

</td>
<td>&euro;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $obj['prijs'];?>

</td>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $obj['aantal'];?>

</td>
<td>&euro;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $totaal = $obj['aantal']*$obj['prijs']; ?>

</td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
  
  }
  ?>
<p>
</table><p>
 
PHP hulp

PHP hulp

04/12/2024 19:46:29
 
Arend a

Arend a

27/12/2004 23:37:00
Quote Anchor link
Bestaat $_session['prdid'] wel dan?
 
Andre

andre

27/12/2004 23:38:00
Quote Anchor link
ja, dit script checkt het

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
error_reporting(E_ALL);
if(isset($_SESSION['prdid'])) {
  echo "productid bestaat.<br>";
}
else {
  echo "productid bestaat niet!<br>";
}

?>


ja hij bestaat.

en met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
print_r($_SESSION);
?>


krijg ik ook de waarde te zien
 
Mitch X

Mitch X

27/12/2004 23:44:00
Quote Anchor link
Is het een array?
Zo, nee, dat is het probleem :)
 
Andre

andre

27/12/2004 23:46:00
Quote Anchor link
um..

hoe check ik dat??
een sessie is toch een soort array?
 
Arend a

Arend a

27/12/2004 23:56:00
Quote Anchor link
Jah, maar de slice $_SESSION['prdid'] gebruik je in de functie implode (die gebruik je om een array plat te drukken), dus de slice $_SESSION['prdid'] moet ook een array zijn.
 
Andre

andre

28/12/2004 00:01:00
Quote Anchor link
aha.

Ik heb al een keer een array hiervoor gebruikt..
ik maakte het aan met dit script

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
  $array
= $_POST['array'];
  echo $array . "<br />";
  print_r($array);
?>


de checkbox zo:

<input type="checkbox" name="array[]" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $obj['prdid'];?>


en op de volgende pagina ( factuur.php ) kon ik de waardes eruit halen en idd ging alles goed met implode.

Maar op factuur.php heb ik nog een formuliertje dat een paar berekeningen doet, en zodra je daarvoor op submit klik, raak ik de gegevens kwijt die in die array zaten.

De oplossing was: Sessies

En daar ben ik nu mee bezig. Alles gaat goed, alleen weet ik niet hoe ik de waardes uit de sessie kan gebruiken in die query!

kunnen jullie misschien een voorbeeld geven?
die implode functie kan dus in principe weg.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.