8791 sujets

Développement web côté serveur, CMS

Bonjour,

j'ai développé une page en php pour un client et en fait il est hébergé sur un serveur asp. Quelqu'un peut il m'aider pour transcrire le code ci-dessous en asp ?

Merci.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css">
<title>site</title>
</head>


<body>
<?php
//connexion à ton DSN :
$connexion = odbc_connect("odbcRC","admin","admin") or die("echec connexion");



$numero=$_POST['numero'];
$passe=$_POST['passe'];


  echo "<div class='fond'>";
 echo "<div class='contenu'>";
$requete="SELECT * FROM CarteClient, Client WHERE numCarte='$numero' AND MotDePasseAcces='$passe'";
$resultat = odbc_exec($connexion,$requete);

$lignes=odbc_num_rows($resultat);
  if($lignes>0){
 

  

$requete3="SELECT libelle FROM Client, Civilite, CarteClient WHERE numCarte='$numero' AND MotDePasseAcces='$passe' AND Client.IDCivilite=Civilite.IDCivilite";
$resultat3 = odbc_exec($connexion,$requete3);

while ($data = odbc_fetch_array($resultat3))
{
echo "<html><p>Bonjour ".$data["libelle"]." " ;
}
$requete2="SELECT Nom FROM Client, CarteClient WHERE numCarte='$numero' AND MotDePasseAcces='$passe'";
$resultat2 = odbc_exec($connexion,$requete2);

while ($data = odbc_fetch_array($resultat2))
{
echo $data["Nom"].", <br><br>Bienvenue sur votre espace personnel.<br><br><br><br>" ;

}
 echo "Ci-dessous le détail de votre compte :</p></html><br> ";
 


echo "<table  border=\"1\" bordercolor=\"#EE3F8D\" cellpadding=\"1\" cellspacing=\"1\">";
echo "<tr>";
echo "<td bgcolor=\"#EE3F8D\" bordercolor=\"#EE3F8D\">Nombre de pièces restant</td>";
echo "<td bgcolor=\"#EE3F8D\" bordercolor=\"#EE3F8D\">Type d'abonnement</td>";
echo "<td bgcolor=\"#EE3F8D\" bordercolor=\"#EE3F8D\">Valable jusqu'au</td>";
echo "<tr>";


$requete4="SELECT Quantite, libelle, DateValAbo FROM Client, CarteClient, LigArtAbo, Article WHERE numCarte='$numero' AND MotDePasseAcces='$passe' AND LigArtAbo.IDArticle=Article.IDArticle AND LigArtAbo.IDCarteClient=CarteClient.IDCarteClient";
$resultat4 = odbc_exec($connexion,$requete4);
while ($donnees = odbc_fetch_array($resultat4)) // On fait une boucle pour lister les résultats
{

echo "<tr>";
echo "<td>";
echo $donnees['Quantite']; 
echo "</td>";

echo "<td>";
echo $donnees['libelle']; 
echo "</td>";

echo "<td>";
echo $donnees['DateValAbo']; 
echo "</td>";

}

echo "</tr>";
echo "</table>";


 }
  else{

  echo "<html><p>Désolé, vous ne pouvez pas accéder à votre espace personnel.<br><br> Veuillez vérifier votre numéro de carte et votre mot de passe.</html>";

 
  }
 echo "</div>";
  echo "<div class='footer'>";
   echo "</div>";
?>

</body>
</html>

Modifié par fouinette (13 May 2009 - 13:55)
Hello fouinette et bienvenue Smiley smile ,

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace après le crochet ouvrant).

upload/1-code.gif

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

Bonne continuation Smiley smile
Salut,

snif du php traduit en asp mais c'est terrible!! Smiley bawling

voici quelque remarques apres avoir un peu pratiquer l'exercice inverse.
ASP => PHP.

maintenant attention je ne pretends pas etre gourou en ce language. je n'ai même pas de serveur sous la main pour tester ce que je t'ecrie en dessous!

va te falloir arriver a te connecter a une base de données déjà

Dim strconn 'declaration de la variable
strconn="driver={SQL Server}; server=(local);uid=compte_BD;pwd=passe_BD;database=Alias_BD"



est un exemple de chaine de connexion sur sql serveur.

Dim rs
Set rs = Server.CreateObject("ADODB.Connection") 
rs.Open strconn
rs.close

ca va juste t'ouvrir une connexion sur la base. puis la refermer.
ce qui sert pas a grand chose^^

un exemple avec execution d'une requete simple et bouclage pour faire l'equivalent d'un echo

Dim req,idusr,rs
idusr = 3
req = "select champ1,champ2 from table_toto where id = "& idusr &" AND bidule = 'machin'"
Set rs = Server.CreateObject("ADODB.Connection") 
rs.open req,strconn,1,1

while not rs.eof
 response.write rs("champ1") &" et "& rs("champ2")
rs.Movenext
Loop 

rs.close
  



sinon en gros ce que j'ai remarqué comme différences/pieges

1/ en ASP le == s'ecrit = comme l'affectation
2/ pas de ; (ni rien d'autre) a la fin des lignes de code
3/ l'operateur de concaténation c'est le & (ou &_ si suite est surla ligne suivante)
4/ tu peux recuperer des données par response.Request("champ1") . j'ignore s'il y a un equivalent pour juste get ou post. peut-etre.... ou pas
5/penser a declarer tes variables avec Dim si tu es en strict
6/la fonction echo s'ecrit response.write ("ton message")
7/tu peux simuler un die grace a response.End
8/le commentaire c'est avec un quote '

9 / l'asp c'est l'horreur pour un programmeur PHP Smiley cligne Smiley biggol

essai de trouver dans des tuto ce qui manque.

Bonne chance.
Modifié par CPascal (13 May 2009 - 23:24)
Merci pour ta réponse,

j'essaye de me connecter, mais toujours cette erreur qui persiste :
Microsoft OLE DB Provider for ODBC Drivers erreur '80004005'

[MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on 'x.x.x.x' (10060)

/site/login.asp, ligne 15 


Mon code de connexion est le suivant :


Dim strconn 'declaration de la variable

strconn="driver={SQL Server}; server=x.x.x.x;uid=xxx;pwd=xxxx;database=gesticleandonnees"
Dim rs

Set rs = Server.CreateObject("ADODB.Connection") 

rs.Open strconn


A quoi est du cette erreur ?
driver={SQL Server}; est il adapté a mysql? je t'ai fourni cet exemple car moi je suis sur sql serveur.

peut-être aussi que sur le serveur les adresses ip sont refusé pour des raisons de sécurité.

ça arrive parfois mais dans ce cas l'hebergeur ou ton administrateur devrait pouvoir te depanner en te fournissant un nom de machine qui sera resolu par le DNS;

aussi ton adresse ip est-elle valide ( le serveur asp et la base son peut-etre sur des machines differents ) et peux-tu la ping"-er" ?

sinon je ne sais pas Smiley rolleyes

bon courage.
Bonjour,

CPascal a écrit :
driver={SQL Server}; est il adapté a mysql?


A priori, l'erreur 10060 signifie que le serveur n'autorise pas les requêtes venant d'hôtes distants. Revoir la configuration de MySQL si possible. Source (en anglais). Vu que le message d'erreur provient du driver MySQL, le driver doit être le bon.

J'ai du mal à comprendre comment on peut se rendre compte que l'hébergement est du mauvais type après avoir écrit le script, cela dit.

Bon courage.

CPascal a écrit :
9 / l'asp c'est l'horreur pour un programmeur PHP


PHP c'est l'horreur pour un programmeur Ruby. Smiley lol