Arama butonu
Bu konudaki kullanıcılar: 1 misafir
13
Cevap
1525
Tıklama
0
Öne Çıkarma
PHP ve Visual Studio 2013 C#
S
11 yıl
Çavuş
Konu Sahibi

Merhaba arkadaşlar ben visual studio da bir windows phone yazılımı tasarlıyorum.

Tasarımımın başlangıcına kullanıcı doğrulama yaptıracaktım ama Mysql ile bir türlü bağlantısını sağlayamadım. WCF, Web services, connector v.s. herşeyi denedim başarılı olamadım. Bunun yerine bir web browser ekledim ve program açıldığında belirlediğim doğrulama sayfasına yönlendirdim. Daha sonra girişi yaptırdım. Fakat browser ekranından çıkamadım. Form sayfalarıma girmem gerekli ve bunun için bir buton yardımıyla sağlayabilir miyim merak ediyorum.

Kısaca, PHP de koduğum butona Visual Studio da nasıl aktive edebilirim?

Veya

Web Broser da istediğim sayfaya girince buton aktif olsun veya form1 den form2 ye girsin...?

Visual Studio da form 1 de PHP sayfam var ve butona tıkladığımda form 2 ye yönlendirmesini istiyorum visual studio içinde.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi supersonix -- 23 Haziran 2014; 12:06:40 >

C
11 yıl
Yarbay

Sen çok yanlış anlamışsın. Visual studio da php dilini kullanamazsın. Veritabanı yerine de mssql veya oracle kullanabilirsin.


Bu mesaja 1 cevap geldi.
S
11 yıl
Çavuş
Konu Sahibi

Biliyorum ama Mysql veya Oracle yi vs 2013 Windows Phone App de kullanamıyorum. Mysql için denemediğim şey kalmadı. Ayrıca Mysql'in verisini projeye aktaramıyorum.

Şöyle birşey yapamaz mıyım?

meselawww.siteadı.com/user.php adresine geçtiğinde form2 yi aç gibi... Bunun için webbrowser titlechange kullanmam gerek sanırım ama tam yapamadım kodları tutturamadım.





< Bu mesaj bu kişi tarafından değiştirildi supersonix -- 23 Haziran 2014; 12:54:39 >
Bu mesaja 1 cevap geldi.
Z
11 yıl
Çavuş

Şöyle yapabilirsin:
PHP de giriş doğrulandıktan sonra bir sayfaya yönlendirirsin kullanıcıyı ve o sayafa şöyle bir element olur:

<div id="basarili">Doğrulama başarılı</div>


Ve webbrwoser document completed eventi içinde şu şekilde bir kontrol yaratırsın:

 

var elem = webbrowser1.document.getelementbyid("basarili");

if (elem != null){

if (elem.innertext == "Doğrulama başarılı") {


form2.show();
}
}



gibi.. Anlamadığın kısım olursa sorarsın





< Bu mesaj bu kişi tarafından değiştirildi zinedxxx -- 23 Haziran 2014; 12:58:04 >
Bu mesaja 1 cevap geldi.
S
11 yıl
Çavuş
Konu Sahibi

Bu formatı yazabilirsen c# olarak yazarmısın? Diğer dillere kafam basmıyor pekte :)

birde istediğim adreste nasıl çalıştıracağım? Yani "www.siteadı.com/user.php" de açılsın istiyorum.





< Bu mesaj bu kişi tarafından değiştirildi supersonix -- 23 Haziran 2014; 13:03:09 >
Bu mesaja 1 cevap geldi.
C
11 yıl
Yarbay

Php farklı bir web dili. Sen c# kullanmak istiyorsan Asp.net te projeni geliştirmen lazım. Onun içinde mssql veya oracle kullanmak gerekir.

Yok php ile yapacağım diyorsan sadece php kullanacaksın. Veritabanı olarakta mysql.

Dediklerini her iki dilde de yapabilirsin. Sen dilleri çorba etmişsin sadece.


Bu mesaja 1 cevap geldi.
S
11 yıl
Çavuş
Konu Sahibi

php dili farklı olduğunu biliyorum. Şimdi anlatmak istediğimi zannedersem ifade edemedim.

Şimdi Visual Studio'da bir Form1 içinde Webbrowser var ve onu ben istediğim bir adrese yölendirdim. Başlangıçta Login sayfası geliyor. Kullanıcı id pass giriyor ve ardından kullanıcı sayfasına giriş yapıyor. İşte tam bu anda kullanıcı sayfası açıldığında Form1 sayfasından Form2 sayfasına geçsin istiyorum.

zinedxxx Arkadaşımın verdiği cevap aslında istediğim türden. Yani o php sayfasına bir id atıyor ve id yi form1 görürse form2 ye geçiyor. Yanlış anlamadıysam...


Ayrıca Visual Studio 2013 te Windows Phone uygulamasında Mysql kullanımı yok varsada sanırım kimse bilmiyor bağlantının nasıl yapılacağını... Daha önce normal masaüstü uygulaması yaptıım sıralarda Mysql e başarılı şekilde ulaştım. Bağlantıyıda kurdum fakat windows phone için bu olmuyor.





< Bu mesaj bu kişi tarafından değiştirildi supersonix -- 23 Haziran 2014; 13:20:34 >
Bu mesaja 1 cevap geldi.
C
11 yıl
Teğmen

Anladığım kadarıyla webbrowserden yapmak istiyorsun bu kontrolü,
Üye kontrolü yapan PHP sayfası hazırsa kodlarını burada paylaş gerekli düzenlemeleri yapalım üzerinde


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @supersonix
S
11 yıl
Çavuş
Konu Sahibi

Bu index sayfam

<?php 
session_start();
require_once("bagla.php");

$adim = $_GET['adim'];
switch($adim){
case "":
if($_SESSION['rutbe'] != 5){
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Üye Girişi</title>
<style type="text/css">
body,td,th {
color: #FFF;
}
body {
background-color: #000;
}
</style>
</head>

<body>
<form action="index.php?adim=girisonay" method="post">
<table width="300" border="0">
<tr>
<td width="137">Kullanıcı Adı</td>
<td width="153"><input name="grs_kulladi" type="text" /></td>
</tr>
<tr>
<td>sifreniz</td>
<td width="300"><input name="grs_sifre" type="password" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Giriş Yap" /></td>
</tr>
</table>
</form>
<br />Kayıt olmak için <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=93612979&url=kayit.php" data-href="kayit.php">tıklayınız</a>
</body>
</html>

<?php
}else{
echo '<meta http-equiv="refresh" content="0;URL=profil.php">';
}
break;

case "girisonay":

$giris_adi = $_POST['grs_kulladi'];
$giris_sifre = $_POST['grs_sifre'];

if(($giris_adi == "") or ($giris_sifre == "")){
echo '<script type="text/javascript">alert("Boş bıraktığınız alanlar var!");</script>';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}else{
$uyeler = mysql_query("SELECT * FROM tablo WHERE kullanici='$giris_adi' and sifre='$giris_sifre'");
$uyebul = mysql_num_rows($uyeler);
if($uyebul > 0){
$mailcek = mysql_query("SELECT * FROM tablo WHERE kullanici='$giris_adi'");
$mailcek2 = mysql_fetch_array($mailcek);
$_SESSION['kullanici'] = $giris_adi;
$_SESSION['email'] = $mailcek2['mail'];
$_SESSION['rutbe'] = 5;
echo '<script type="text/javascript">alert("Başarıyla giriş yaptınız! Profil sayfanıza yönlendirileceksiniz...");</script>';
echo '<meta http-equiv="refresh" content="0;URL=profil.php">';
}else{ //Eğer kullanıcı adı veya şifre yanlışsa veya yoksa hata mesajı verdiriyoruz
echo '<script type="text/javascript">alert("Kullanıcı adı veya şifreniz yanlış!");</script>';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
break;
}
?>


Buda Profil sayfam

 
<?php
session_start();
require_once("bagla.php");
?>

<div id="basarili">Doğrulama başarılı</div> // Burayı yeni ekledim

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Üye Profili</title>
</head>

<body>
<p>
<?php
if($_SESSION['rutbe'] == 5){
echo '<h3>Burası <font color="red">'.$_SESSION['kullanici'].'</font> isimli kullanıcının profilidir.</h3>';
echo '<b>Kullanıcı Adınız:</b> '.$_SESSION['kullanici'].'<br />';
echo '<b/>E-Mail Adresiniz:</b> '.$_SESSION['email'].'<br /><br />';
echo 'Çıkış yapmak için <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=93612979&url=wpcikis.php" data-href="wpcikis.php">tıklayın.</a>';
}else{
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
?>

</p>
</body>
</html>


Profil.php geldiğinde Form1 den Form2 ye geçsin sadece bunu istiyorum.


Bu mesaja 1 cevap geldi.
C
11 yıl
Teğmen

 
<?php
session_start();
require_once("bagla.php");
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Üye Profili</title>
</head>

<body>

<div id="basarili">Doğrulama başarılı</div>


<p>
<?php
if($_SESSION['rutbe'] == 5){
echo '<h3>Burası <font color="red">'.$_SESSION['kullanici'].'</font> isimli kullanıcının profilidir.</h3>';
echo '<b>Kullanıcı Adınız:</b> '.$_SESSION['kullanici'].'<br />';
echo '<b/>E-Mail Adresiniz:</b> '.$_SESSION['email'].'<br /><br />';
echo 'Çıkış yapmak için <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=93613924&url=wpcikis.php" data-href="wpcikis.php">tıklayın.</a>';
}else{
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
?>

</p>
</body>
</html>



Profil.php yi yukarıdaki şekilde düzelt.
Visual Studio da webbrwoser'e DocumentCompleted eventi delegate et ve bu eventin altına aşağıdaki kodu kendine göre düzenleyip yapıştır:

 
var elem = webbrowser1.Document.GetElementsById("basarili");

if (elem != null){

if (elem.InnerText == "Doğrulama başarılı") {


form2.Show();
this.Hide();

}
}



webbrowsere nasıl DocumentCompleted eventi ekliyeceğini bilmiyorsan VİsualStudio da eklediğin webbrowser'in üzerine çift tıkla, otomatikmen kendisi ekliyecektir.



S
11 yıl
Çavuş
Konu Sahibi

Resim de görüldüğü gibi hata mesajı alıyorum.
http://i.hizliresim.com/QXqAYj.jpg


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @zinedxxx , @CatchFire
C
11 yıl
Teğmen

DocumentCompleted olayına aşağıdaki kodları kopyala yapıştır yapma, kodlara bakarak yaz, senin form elementlerinin adı aynısı olmayabilir aşağıdakilerle!

try{

if (webbrowser1.Document.GetElementById("basarili").InnerText == "Doğrulama başarılı") {

form2.Show();

}


}catch{
}





< Bu mesaj bu kişi tarafından değiştirildi CatchFire -- 23 Haziran 2014; 14:25:38 >


Bu mesajda bahsedilenler: @supersonix
S
11 yıl
Çavuş
Konu Sahibi

Yoo zaten kopyala yapıştır yapmıyorumda webbrowser1 adlı item varken neden sadece orada hata verdiğini anlayabilmiş değilim.

https://store.donanimhaber.com/c7/5f/61/c75f61a87c6e9bdb0cf8a77eb0e7c6d0.jpg

https://store.donanimhaber.com/7f/e4/1b/7fe41b318b0bc66fd1af1f5d97c0ed20.jpg

webbrowser1 den sonra document fonksiyonu yokmuş. Acaba using mi eklemem gerekiyor.





< Bu mesaj bu kişi tarafından değiştirildi supersonix -- 23 Haziran 2014; 15:24:35 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @CatchFire
C
11 yıl
Teğmen

webbrowser.document.all.getelementbyid("basarili") ..... olacak, gözümden kaçmış all




Bu mesajda bahsedilenler: @supersonix
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.