2013-07-29 4 views
0

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?

+1

** Attention ** votre code est extrêmement vulnérable aux attaques par injection SQL. –

+0

'$ _SESSION ['x'] == $ _POST ['x'];' donc la variable de session X aura la valeur du champ affiché avec le nom X –

+0

* 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/). –

Répondre

0
session_start(); 

$_SESSION['display_name'] = $_POST['display_name']; 

puis plus tard

<a href="foo.php?display_name=<?php echo $_SESSION['display_name'] ?>">bar</a> 
+0

non non j'ai besoin de transférer des données pour post dans post.php à get.php dans mon code de requête sql
'code $ return_arr = array(); session_start(); $ sql = sprintf ("SELECT * du restaurant AS r, user_favorite AS uf, l'utilisateur AS u OÙ uf.restaurant_id = r.restaurant_id ET uf.display_name = u.display_name ET uf.display_name = '% s' ", $ _ SESSION ['display_name']);' – alfared

+0

session_start(); $ _SESSION ['nom_affichage'] = $ _POST ['nom_affichage']; c'est une bonne réponse! merci! – alfared

Questions connexes