J'ai besoin de résoudre ce problème. J'ai deux fichiers, l'un pour la transmission de données à la base de données
** **
<?php
// setup the database connect
//http://php.net/manual/en/session.examples.basic.php
session_start();
if (!isset($_SESSION['display_name'])) {
$_SESSION['display_name'] = $_POST['display_name'];
echo $_SESSION['display_name'] ;
}
$link = mysql_connect('xxxxxxxx', 'xxxxxx', 'xxxxxx');
if (!$link)
exit;
mysql_select_db('xxxxxxxx',$link);
if($_POST['attraction_id'] && $_POST['display_name']){
echo $_POST['attraction_id'] . " " . $_POST['display_name'];
}
if($_POST['restaurant_id'] && $_POST['display_name']){
echo $_POST['restaurant_id'] . " " . $_POST['display_name'];
}
if($_POST['Guest']){
mysql_close();
}
//$sql = sprintf("INSERT INTO user_favorite(user_id_name,user_favorite_photo,user_favorite_work_time,user_favorite_type,user_favorite_ticket_price) VALUES ('%s')",$_POST['restaurant_id']);
if($_POST['restaurant_id']){
$sql = sprintf("INSERT INTO user_favorite(restaurant_id,display_name) VALUES ('%d','%s')",$_POST['restaurant_id'],$_POST['display_name']);
}
if($_POST['attraction_id']){
$sql = sprintf("INSERT INTO user_favorite(attraction_id,display_name) VALUES ('%d','%s')",$_POST['attraction_id'],$_POST['display_name']);
}
if(!$sql){
echo mysql_error($link);
}
// lets run our query
$result = mysql_query($sql, $link);
if($result){
echo "INSERT";
}
else{
echo "NOT INSERT";
}
L'autre fichier est utilisé pour renvoyer les données à la base de données au format JSON
get.php
<?php
//http://php.net/manual/en/function.mysql-connect.php
$link = mysql_connect('mysql.hostinger.com.ua', 'xxxxxx', 'xxxxxxxx');
mysql_set_charset('utf8',$link);
$db = mysql_select_db('xxxxxxxxxxx');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
//http://stackoverflow.com/questions/6281963/how-to-build-a-json-array-from-mysql-database
$return_arr = array();
session_start();
$sql = sprintf("SELECT *
FROM restaurant AS r, user_favorite AS uf, user AS u
WHERE uf.restaurant_id = r.restaurant_id
AND uf.display_name = u.display_name
AND uf.display_name ='%s'",$_SESSION['display_name']);
$result = mysql_query($sql, $link);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$row_array['restaurant_id'] = $row['restaurant_id'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
mysql_close($link);
Comment transférer des données via le $ _POST
(ex $_POST['display_name']
) array pour aray $ _SESSION
et de $_SESSION
pour le tableau $ _GET
ou un autre?
** Attention ** votre code est extrêmement vulnérable aux attaques par injection SQL. –
'$ _SESSION ['x'] == $ _POST ['x'];' donc la variable de session X aura la valeur du champ affiché avec le nom X –
* PSA: * Les fonctions 'mysql_ *' sont [déconseillées en PHP 5.5] (http://php.net/manual/fr/faq.databases.php#faq.databases.mysql.deprecated). Il n'est pas recommandé d'écrire du nouveau code car cela vous empêchera de procéder à une mise à niveau ultérieure. Au lieu de cela, utilisez [MySQLi] (http://php.net/manual/fr/book.mysqli.php) ou [PDO] (http://php.net/manual/fr/book.pdo.php) et [soyez un meilleur développeur PHP] (http://jason.pureconcepts.net/2012/08/better-php-developer/). –