Posten in database deels met formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Fons Seesink

Fons Seesink

18/05/2012 12:46:12
Quote Anchor link
als je eens in de ontvangende pagina boven aan

echo "<pre>";
print_r($_REQUEST);
echo "</pre>";

zet
dan kan je zien of je data aankomt
stapje voor je stapje doen dan maar
Gewijzigd op 18/05/2012 12:48:01 door Fons Seesink
 
PHP hulp

PHP hulp

26/12/2024 02:31:01
 
Mitch bla

Mitch bla

18/05/2012 12:47:44
Quote Anchor link
http://www.tradersondemand.com/sell.php

Bij mij staat er een formulier..
 
Fons Seesink

Fons Seesink

18/05/2012 12:49:21
Quote Anchor link
sorry was te snel met posten, was nog een oude ctrl-v :-)
 
Mitch bla

Mitch bla

18/05/2012 12:52:56
Quote Anchor link
Nog steeds de HTTP 500 error
 
Chris PHP

Chris PHP

18/05/2012 12:58:47
Quote Anchor link
@Mitch,

waar heb je dit script staan? (complete url graag).

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
<?php
    $conn
= mysql_connect("xxx","xxx","xxx");
    $db      = mysql_select_db("xxx",$conn);

$sql="INSERT INTO portfolio (symbol)
VALUES
('$_POST[symbol]')"
;

if (!mysql_query($sql,$conn))
  {

  die('Error: ' . mysql_error());
  }

echo "1 record added";

mysql_close($conn);
?>
 
Mitch bla

Mitch bla

18/05/2012 12:59:53
 
Fons Seesink

Fons Seesink

18/05/2012 13:01:09
Quote Anchor link
als ik de bron bekijk van sell.php
zie ik in je form
Symbol: <input type="text" name="$symbol"> staan.
die $ moet weg bij de naam.

na het posten krijg ik een blanco pagina terug, geen 500 error.
 
Chris PHP

Chris PHP

18/05/2012 13:02:12
Quote Anchor link
Wat Fons zegt, en je blanko scherm heeft wellicht hier iets mee te maken.

Als ik naar http://www.tradersondemand.com/portfolio/ ga krijg ik deze error: Error accessing the database

Wellicht dat er ergens iets niet goed gaat met je DB?
Gewijzigd op 18/05/2012 13:03:29 door Chris PHP
 
Mitch bla

Mitch bla

18/05/2012 13:05:08
Quote Anchor link
@ Fons; heb wat zitten proberen en daardoor $ toegevoegd in formulier, vergeten weg te halen, stom. Maar na corrigeren heb ik nog steeds dezelfde foutmelding.

@ Chris; ik zal hier eens naar kijken, maar voordat ik de code aan heb gepast naar opmerkingen van Fons en Jens deed het script gewoon zijn werk. Als ik AAPL invoerde in het formulier (sell.php) dan werd er een regel aangemaakt in de database met AAPL.
 
Fons Seesink

Fons Seesink

18/05/2012 13:16:36
Quote Anchor link
Als je vanaf willekeurig welke pagina, data verstuurd naar een andere pagina, is de eerste stap die je doet bij het niet werken kijken of je data goed aankomt.
Zoals ik hierboven voorstelde zet
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";
boven aan in de ontvangende pagina.
als daar je data goed zichtbaar is, kan je naar de volgende stap gaan met debuggen.
 
Mitch bla

Mitch bla

18/05/2012 13:22:41
Quote Anchor link
Heren, het is gelukt!

Het probleem met de error zat hem in de slashes en aanhalingstekens in onderstaande code. Na deze verwijderd te hebben was de error verdwenen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$sql="INSERT INTO portfolio (symbol)
VALUES
('$_POST['/symbol]'/)";


Het symbol werd nu toegevoegd in de database, maar nog niet de aandelenprijs.
Door de volgende aanvulling te maken wordt nu ook de koers op moment van toevoegen in de database gepost.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$sql="INSERT INTO portfolio (symbol, buy)
VALUES
('$_POST[symbol]','$contents[1]')";


Eindresultaat code:

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
<?php

echo "<pre>";
print_r($_REQUEST);
echo "</pre>";

if(isset($_POST['symbol'])){
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, 'http://download.finance.yahoo.com/d/quotes.csv?s='.$_POST['symbol'].'&f=sl1d1t1c1ohgv&e=.csv' );
curl_setopt( $ch, CURLOPT_HEADER, false );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );

$contents = explode( ',', str_replace( '"', '', $output ) );
echo "<p>Stock: <b>\$$contents[1]</b> </p>";

    
    $conn = mysql_connect("xxx","xxx","xxx");
    $db      = mysql_select_db("xxx",$conn);

$sql="INSERT INTO portfolio (symbol, buy)
VALUES
('$_POST[symbol]','$contents[1]')"
;

if (!mysql_query($sql,$conn))
  {

  die('Error: ' . mysql_error());
  }

echo "1 record added";

mysql_close($conn);
}
else {
echo '
<form action="portfolio/insert_buy.php" method="post">
Symbol: <input type="text" name="symbol"><br />
<input type="submit" value=" Submit">
</form>'
;
}


?>


Bedankt voor jullie hulp! Waarschijnlijk loop ik weer vast als ik de code uit de database wil halen, maar dat zien jullie tegen die tijd wel :)
Gewijzigd op 18/05/2012 15:20:04 door Mitch bla
 
Fons Seesink

Fons Seesink

18/05/2012 23:10:30
Quote Anchor link
Fijn dat je eruit bent!
als je de post doet in de database van de code en de NAV van het aandeel, zet er gelijk een date - time stamp in.
Controleer je code op sql injection gevaren om alle risico's uit te sluiten.
 

Pagina: « vorige 1 2



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.