Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2007, 17h23   #1
Candidat au titre de Membre du Club
 
Inscription : août 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : août 2007
Messages : 33
Points : 11
Points : 11
Par défaut Problème au niveau serveur

Bonjour, je suis débutant en Flex et j'ai trouvé du code sur le net que j'aimerais réutilisé.
Ce code permet de récupérer sur une base de donnée les noms et mail enregistrés, ainsi que d'en rajouté d'autres à la base. Ce code est:
Code :
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
<?php
define( "DATABASE_SERVER", "localhost" );
define( "DATABASE_USERNAME", "root" );
define( "DATABASE_PASSWORD", "" );
define( "DATABASE_NAME", "sample" );
 
//connect to the database
$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
 
mysql_select_db( DATABASE_NAME );
 
// Quote variable to make safe
function quote_smart($value)
{
   // Stripslashes
   if (get_magic_quotes_gpc()) {
       $value = stripslashes($value);
   }
   // Quote if not integer
   if (!is_numeric($value)) {
       $value = "'" . mysql_real_escape_string($value) . "'";
   }
   return $value;
}
 
if( $_POST["emailaddress"] AND $_POST["username"])
{
      //add the user
      $Query = sprintf("INSERT INTO users VALUES ('', %s, %s)", quote_smart($_POST['username']), quote_smart($_POST['emailaddress']));
 
      $Result = mysql_query( $Query );
}
 
//return a list of all the users
$Query = "SELECT * from users";
$Result = mysql_query( $Query );
 
$Return = "<users>";
 
while ( $User = mysql_fetch_object( $Result ) )
{
      $Return .= "<user><userid>".$User->userid."</userid><username>".$User->username."</username><emailaddress>".$User->emailaddress."</emailaddress></user>";	
}
$Return .= "</users>";
mysql_free_result( $Result );
print ($Return)
?>
Ce qui donne avec EasyPHP:
Code :
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
<?php
define( "DATABASE_SERVER", "127.0.0.1" );
define( "DATABASE_USERNAME", "root" );
define( "DATABASE_PASSWORD", "" );
define( "DATABASE_NAME", "sample" );
 
//connect to the database
$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
 
mysql_select_db( sample );
 
// Quote variable to make safe
function quote_smart($value)
{
   // Stripslashes
   if (get_magic_quotes_gpc()) {
       $value = stripslashes($value);
   }
   // Quote if not integer
   if (!is_numeric($value)) {
       $value = "'" . mysql_real_escape_string($value) . "'";
   }
   return $value;
}
 
if( $_POST["emailaddress"] AND $_POST["username"])
{
      //add the user
      $Query = sprintf("INSERT INTO users VALUES ('', %s, %s)", quote_smart($_POST['username']), quote_smart($_POST['emailaddress']));
 
      $Result = mysql_query( $Query );
}
 
//return a list of all the users
$Query = "SELECT * from users";
$Result = mysql_query( $Query );
 
$Return = "<users>";
 
while ( $User = mysql_fetch_object( $Result ) )
{
      $Return .= "<user><userid>".$User->userid."</userid><username>".$User->username."</username><emailaddress>".$User->emailaddress."</emailaddress></user>";	
}
$Return .= "</users>";
mysql_free_result( $Result );
print ($Return)
?>
Dans ce cas là, tout fonctionne mais par contre, dès que je veux changer de bases de données, en utilisant la base de donnée de l'entreprise (SQLServer), ça ne donne rien. En essayant directement à partir du serveur, ça fonctionne pour les données existantes sur la base mais dès que je veux entrer de nouvelles données, ça s'efface à l'écran, et rien n'est enregistré.

Depuis mon poste, je pense que c'est au niveau d'easyPhp que j'ai le problème mais au niveau serveur à quoi ça peut être dus?
Voici le code de la requete Flex au niveau serveur:
Code :
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
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute" creationComplete="userRequest.send()" color="#FF8000">
   <mx:HTTPService id="userRequest" url="http://192.168.0.80/dossier/request.php" useProxy="false" method="POST">
      <mx:request xmlns="">
         <username>{username.text}</username><emailaddress>{emailaddress.text}</emailaddress>
      </mx:request>
   </mx:HTTPService>
   <mx:Form x="22" y="10" width="493">
      <mx:HBox>
         <mx:Label text="Username"/>
         <mx:TextInput id="username"/>
      </mx:HBox>
      <mx:HBox>
         <mx:Label text="Email Address"/>
         <mx:TextInput id="emailaddress"/>
      </mx:HBox>
      <mx:Button label="Submit" click="userRequest.send()"/>
   </mx:Form>
   <mx:DataGrid id="dgUserRequest" x="22" y="128" dataProvider="{userRequest.lastResult.users.user}">
      <mx:columns>
         <mx:DataGridColumn headerText="User ID" dataField="userid"/>
         <mx:DataGridColumn headerText="User Name" dataField="username"/>
      </mx:columns>
   </mx:DataGrid>
   <mx:TextInput x="22" y="292" id="selectedemailaddress" text="{dgUserRequest.selectedItem.emailaddress}"/>
</mx:Application>
Je précise encore que je suis débutant et pas très très doué en développement
Truebison est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2007, 15h29   #2
Rédacteur
 
Avatar de loka
 
Homme Romain PERRUCHON
Architecte - Expert Technique
Inscription : novembre 2004
Messages : 2 664
Détails du profil
Informations personnelles :
Nom : Homme Romain PERRUCHON
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Architecte - Expert Technique
Secteur : Service public

Informations forums :
Inscription : novembre 2004
Messages : 2 664
Points : 3 607
Points : 3 607
Bonjour,

Citation:
Dans ce cas là, tout fonctionne mais par contre, dès que je veux changer de bases de données, en utilisant la base de donnée de l'entreprise (SQLServer), ça ne donne rien. En essayant directement à partir du serveur, ça fonctionne pour les données existantes sur la base mais dès que je veux entrer de nouvelles données, ça s'efface à l'écran, et rien n'est enregistré.
Votre problème tiens plus du php et de SQLServer que de Flex dans un premier temps.

En effet, le code php que vous donnez est adapté à une base MySQL et non SQLServer.
__________________
SFML - API Multimédia C++ multiplateforme !
loka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 13h11   #3
Candidat au titre de Membre du Club
 
Inscription : août 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : août 2007
Messages : 33
Points : 11
Points : 11
Ok, je te remercie de ta réponse, je vais essayer de me débrouiller pour modifier le code pour du SQLServeur
Truebison est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h23.


 
 
 
 
Partenaires

Hébergement Web