selectbox laten checken door stored procedure http 500

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerhard timmerman

gerhard timmerman

18/04/2012 10:04:30
Quote Anchor link
ik heb een stored procedure gemaakt die als er niks word in gevuld een fout terug geeft nu krijg ik een 500 error als ik niets selecteer terwijl hij dan in de value $fout wat moet zetten. kies ik wat anders dan kies contactpersoon werkt het gewoon. wat kan dat wezen. het gaat alleen fout als ik hem op kies contactpersoon laat staan alsof ik die value -1 niet goed er in ehb staan

stored procedure getest op database werkt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
ALTER PROCEDURE [dbo].[spAdresToevoegen]
    -- Add the parameters for the stored procedure here
    @Relatieid int = -1,
    @Plaats nvarchar(50),
    @Straat nvarchar(50),
    @Huisnummer nvarchar (8),
    @Postcode nvarchar(30),
    @Landid nvarchar(3),
    @Opmerking nvarchar(max),
    @Contactid int,  
    @foutmelding nvarchar(100) output
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
if @Contactid <> -1
begin  
    -- Insert statements for procedure here
INSERT INTO [dbo].[adressen]
           ([relatie_id]
           ,[straat]
           ,[huisnummer]
           ,[postcode]
           ,[plaats]
           ,[land_id]
           ,[opmerking]
           ,[contact_id]
           )
          
     VALUES
           (@Relatieid,
            @Straat,
            @Huisnummer,
            @Postcode,
            @Plaats,
            @Landid,
            @Opmerking,
            @Contactid
           )

ENd
else
begin
set @foutmelding = 'dit gaat fout'
End
end


het selectbox script
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<tr>
 <td>Contactpersoon adres:</td>
 <td><select name="opdrachtid" STYLE="width: 145px">
<option value="-1">Kies contactpersoon</option>
 <?php
$sql
= "{CALL spOpdrachtgeverBox (@Opdrachtgeverid=:opdrachtgever)}";
$stmt = $db->prepare($sql);
    
$opdrachtgeverid = $_SESSION['relatie'];    
    
$stmt->bindParam(':opdrachtgever',$opdrachtgeverid, PDO::PARAM_STR);
$stmt->execute();
foreach ($stmt->fetchall(PDO::FETCH_ASSOC) as $row) {
    echo printf('<option value="%d">%s</option>', $row['id'], $row['naam']);
}


    
?>

 
 </select></td>
 </tr>


het script wat het verwerkt wat het na de database toe schrijft
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
error_reporting(-1);
ini_set('display_errors', 1);
include '/logincheck.php';

include '/verbinding.php';
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "{call spAdresToevoegen (@Relatieid=:relatieid,@Plaats=:plaats,@Straat=:straat,@Huisnummer=:huisnummer,@Postcode=:postcode,@Landid=:landid,@opmerking=:opmerking,@Contactid=:opdrachtgever,@foutmelding=:fout)}";
$stmt = $db->prepare($sql);

$relatieid = $_SESSION['relatie'];
$straat = $_POST['straat'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$plaats = $_POST['plaats'];
$landid = $_POST['landid'];
$opmerking = $_POST['opmerking'];
$opdrachtgever = $_POST['opdrachtid'];

$stmt->bindParam(':relatieid',$relatieid, PDO::PARAM_STR);
$stmt->bindParam(':plaats',$plaats, PDO::PARAM_STR);
$stmt->bindParam(':straat',$straat, PDO::PARAM_STR);
$stmt->bindParam(':huisnummer',$huisnummer, PDO::PARAM_STR);
$stmt->bindParam(':postcode',$postcode, PDO::PARAM_STR);
$stmt->bindParam(':landid',$landid, PDO::PARAM_STR);
$stmt->bindParam(':opmerking',$opmerking, PDO::PARAM_STR);
$stmt->bindParam(':opdrachtgever',$opdrachtgever, PDO::PARAM_STR);
$stmt->bindParam(':fout',$fout, PDO::PARAM_INT|PDO::PARAM_INPUT_OUTPUT,100);
$stmt->execute();

print $fout;


?>


Toevoeging op 18/04/2012 10:06:16:

sorry te snel wat gepost structuur neit goed gedaan param_int helemaal over me hoofd gezien dat het gewoone structuur is.
 
Er zijn nog geen reacties op dit bericht.



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.