Toon posts:

[php] verander pagina?????

Pagina: 1
Acties:

Verwijderd

Topicstarter
PHP:
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
<?
//Getting data
$sql = "SELECT * FROM members WHERE username LIKE '$username' ORDER BY id DESC";
$resultaat = mysql_query($sql) or die(mysql_error());
if ($row = mysql_fetch_object($resultaat)) {

if ($controle == TRUE) { // pagina weer geven bij TRUE

//Check if posted
if ($HTTP_POST_VARS["email"] &amp;&amp; $HTTP_POST_VARS["password"]) {
$sql = "UPDATE members set (email,password)=('%$email%','%$password%') WHERE username='%$username%'";
}
else {
    echo "<html><head></head><body>";
    echo "<form method='post' action='change_filledfield3.php'> ";
    echo "<p><input type='text' name=email value=$row->email onblur=if(this.value=='')this.value='$row->email'; onfocus=if(this.value=='$row->email')this.value=''; size='40'></p>";
    echo "<p><input type='text' name=password value=$row->password onblur=if(this.value=='')this.value='$row->password'; onfocus=if(this.value=='$row->password')this.value=''; size='40'></p>";
    echo "<input type='Submit' name='Submit' value='Change'>";
    echo "</body></html>";
}
}
else { // en anders geen pagina
    echo "<br>Not logged in?!";
}
}
?>

Dit is een gedeelte van een verander pagina. Kunnen ingelogde gebruikers hun password en e-mail wijzigen...
met wat html heb ik oude waarde in textveld gekregen.
Maar bij change wordt er niet geupdate?
Daarnaast wil ik weten waar ik output voor toevoegen kan zetten????
ofwel echo "gegevens verandert"; of echo "gegevens veranderen mislukt?"
met if en else onder:

echo "</body></html>";
}

dacht ik aan, maar ik hoe kan ik dan bij if kijken of gelukt is?

Kan iemand me helpen met 1 of beide vragen?

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 22:34
Jaja, je wilt html output </html> zetten :?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

stel dat ik als email HALLO heb ingevuld dan :

if "HALLO" then update info

"HALLO" is nooit waar dus wordt het ook nooit geupdate >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op maandag 05 november 2001 08:12 schreef dennisdotcom het volgende:
Jaja, je wilt html output </html> zetten :?
Dat is toch bij else, maakt dan toch niet uit!
En hoe dan ook is dat niet het probleem wat ik heb hoor!

Verwijderd

Topicstarter
Op maandag 05 november 2001 08:31 schreef dusty het volgende:
stel dat ik als email HALLO heb ingevuld dan :

if "HALLO" then update info

"HALLO" is nooit waar dus wordt het ook nooit geupdate >:)
Wat moet ik veranderen dan?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

isset()

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Okay dus nu heb ik dit:
PHP:
1
2
3
<?
if ($HTTP_POST_VARS["email"] &amp;&amp; $HTTP_POST_VARS["password"]) {
?>



door:
PHP:
1
2
3
<?
if ((!isset($email)) &amp;&amp; (!isset($password))) {  
?>



vervangen, maar das niet helemaal goed, isset ken ik verder niet zo goed, dus als iemand me kan helpen? |:(

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-09 18:58
PHP:
1
2
3
<?
if ( IsSet( $HTTP_POST_VARS["email"]) &amp;&amp; IsSet( $HTTP_POST_VARS["password"]) )
?>

Wat ben ik liev. O+

IsSet()

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 05 november 2001 12:04 schreef loaded het volgende:
Okay dus nu heb ik dit:
PHP:
1
2
3
<?
if ((!isset($email)) &amp;&amp; (!isset($password))) {  
?>

vervangen, maar das niet helemaal goed, isset ken ik verder niet zo goed, dus als iemand me kan helpen? |:(
de uitroepteken betekent NIET dus jij wilt dus dat de email NIET gedefinieerd is EN de password niet gedefinieerd is :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Oke
PHP:
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
<?
session_start(); // session starten voor toegang tot de variabelen
$controle == FALSE; // voor de zekerheid

include ("function.php"); // functie's includen

$controle = password($username, $passgecodeerd); // de functie password geeft TRUE
// of FALSE terug. (zie functie.php)
connect(); //connect to datadase

//Getting data
$sql = "SELECT * FROM members WHERE username LIKE '$username' ORDER BY id DESC";
$resultaat = mysql_query($sql) or die(mysql_error());
if ($row = mysql_fetch_object($resultaat)) {

if ($controle == TRUE) { // pagina weer geven bij TRUE

//Check if posted
if ( IsSet( $HTTP_POST_VARS["email"]) &amp;&amp; IsSet( $HTTP_POST_VARS["password"])) {

$sql = "UPDATE members set (email, password)=('%$email%','%$password%') WHERE username='%$username%'";
}
else {
    echo "<html><head></head><body>";
    echo "<form method='post' action='change_filledfield4.php'> ";
    echo "Hello $username ($row->name)</br>";
    echo "This is where you can change you're email/password";
    echo "<p><input type='text' name=email value=$row->email onblur=if(this.value=='')this.value='$row->email'; onfocus=if(this.value=='$row->email')this.value=''; size='40'></p>";
    echo "<p><input type='text' name=password value=$row->password onblur=if(this.value=='')this.value='$row->password'; onfocus=if(this.value=='$row->password')this.value=''; size='40'></p>";
    echo "<input type='Submit' name='Submit' value='Change'>";
    echo "</body></html>";
}
}
else { // en ander geen pagina
    echo "<br>Not logged in?!";
}
}
?>

oke nou heb ik er dit van gemaakt, maare hij verzend het formulier, maar update niet de database?
Daarnaast vraag ik me af waar en hoe ik
echo "you're settings have been changed"
moet zetten?

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

Je maakt een mooie query, maar misschien is het handig die ook nog uit te voeren (hint: mysql_query)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

$sql = "UPDATE members set (email, password)=('%$email%','%$password%') WHERE username='%$username%'";
Ook al wordt de query uitgevoerd zal het nog niet werken. Ik zie procent tekens waar ze NIET thuis horen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Bpje
  • Registratie: November 2000
  • Laatst online: 16-09 18:29
Al ik het goed begrijp wil je mensen hun wachtwoord laten veranderen. maar dan moeten ze wel ingelogt zijn.

Okay hier een standaard manier om zo iets te doen:
- inloggen
- wijzigen
- controleren (is het wachtwoord wel 4 chars of wat anders)
- submit

ik zal nog ff een stuk source er bij zoeken dus het komt nog

SELECT * FROM members WHERE username LIKE '$username' ORDER BY id DESC

ik wil je er wel ff opwijzen dat dit meer dan 1 resultaat terug kan geven.

  • Bpje
  • Registratie: November 2000
  • Laatst online: 16-09 18:29
Dit is een string waar je mee kunt updaten

'UPDATE USERS SET naam="'.$naam.'", wachtwoord="'.$password.'" WHERE id='.$id;

heb nog niets gevonden ben ook nog niet klaar dus ik zoek nog ff verder.

Paul

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 05 november 2001 14:35 schreef Bpje het volgende:
username LIKE '$username'
resulteert in
code:
1
username = '$username'

aangezien er geen % worden gebruikt, dus is het onzinnig om een like te gebruiken.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op maandag 05 november 2001 14:35 schreef Bpje het volgende:
Al ik het goed begrijp wil je mensen hun wachtwoord laten veranderen. maar dan moeten ze wel ingelogt zijn.

Okay hier een standaard manier om zo iets te doen:
- inloggen
- wijzigen
- controleren (is het wachtwoord wel 4 chars of wat anders)
- submit

ik zal nog ff een stuk source er bij zoeken dus het komt nog

SELECT * FROM members WHERE username LIKE '$username' ORDER BY id DESC

ik wil je er wel ff opwijzen dat dit meer dan 1 resultaat terug kan geven.
Dat kan alleen 2 resultaten geven als iets 2 x in database voorkomt!
Bij toevoegen wordt gekeken dat een 'username' maar 1 x in database voorkomt!

Verwijderd

Topicstarter
Op maandag 05 november 2001 13:12 schreef Timpie2000 het volgende:
Je maakt een mooie query, maar misschien is het handig die ook nog uit te voeren (hint: mysql_query)
Hoe bedoel je uitvoeren? ff concreet als je het weet!

  • spine
  • Registratie: Juni 2001
  • Niet online

spine

VISHUDDHI

je update query is nu alleen nog maar een variabele..
je moet em nog ff in de mysql_query() stoppen :)

//edit
en dan nog ff de fouten uit de query halen :P

[BSDFreaks.nl] [www.Dark-Future.org] [Alizarin.nl]


Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
//Check if posted
if ( IsSet( $HTTP_POST_VARS["email"]) &amp;&amp; IsSet( $HTTP_POST_VARS["password"])) {

$sql = 'UPDATE members SET email="'.$email.'", password="'.$password.'" WHERE username='.$username;
$resultaat = mysql_query($sql) or die(mysql_error());
if ($row = mysql_fetch_object($resultaat)) {
echo "shit changed";
 }
}
else {
    echo "<html><head></head><body>";
    echo "<form method='post' action='change_filledfield5.php'> ";
    echo "Hello $username ($row->name)</br>";
    echo "This is where you can change you're email/password";
    echo "<p><input type='text' name=email value=$row->email onblur=if(this.value=='')this.value='$row->email'; onfocus=if(this.value=='$row->email')this.value=''; size='40'></p>";
    echo "<p><input type='text' name=password value=$row->password onblur=if(this.value=='')this.value='$row->password'; onfocus=if(this.value=='$row->password')this.value=''; size='40'></p>";
    echo "<input type='Submit' name='Submit' value='Change'>";
    echo "</body></html>";
}
?>

Oke nou heb ik er het volgende van gemaakt!
Krijg de volgende error na submitten:
Unknown column 'kees' in 'where clause'
kees was de betreffende gebruiker...
(is het 2e veld in db??)
maare verandert niet password of email in db?
Misschien die (****) querie? of uitvoer ervan?
Ik weet het echt niet meer, maare het kan niet ver meer zijn... toch?!
:'(
Pagina: 1