Hoe zorg je dat PHP bewerkt ipv toevoegd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jorik

Jorik

27/08/2004 14:45:00
Quote Anchor link
Hallo,
Dit is mijn eerste post hier, dus weet nog niet helemaal hoe het werkt, maar zal het proberen zo goed mogelijk te doen.

Mijn probleempje:
Ik heb een admin scriptje ergens gedownload waar een nieuwe gebruiker toevoegen bij zat (werkt btw. met MySQL), die niuwe gebruiker toevoegen heb ik geprobeerd te wijzigen, alleen nu wijzigt ie de MySQL query niet, maar voegt een 2e toe...

Het door mij bewerkte script (het orginele script kun je vinden op http://berknet.funpic.de/forum/viewtopic.php?t=26 ):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$pagenaam
= "Admin bewerken";
include("safe.php");
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include("../header.php");
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
48
49
<?

include ("../config.php");

if ($_SERVER["QUERY_STRING"] != "aangemeld") {
if ($_POST['voegtoe']) {
  if ($_POST['gebruikersnaam'] != "" && $_POST['wachtwoord'] !="") {
    if ($_POST['wachtwoord'] == $_POST['wachtwoord2']) {

      $query = mysql_query("SELECT * FROM login WHERE gebruikersnaam = '$_POST[gebruikersnaam]'");
      $md5_pass = md5($_POST[wachtwoord]);
      mysql_query("INSERT INTO login (gebruikersnaam, wachtwoord) VALUES ('$_POST[gebruikersnaam]','$md5_pass')") or die (mysql_error());
      header("Location: $_SERVER[PHP_SELF]?aangemeld");
        
      
    }
else {
    echo "<font color='red'>Het wachtwoord en controlewachtwoord komen niet overeen.</font>";
    }
  }
else {
    echo "<font color='red'>Je bent vergeten een veld in te vullen!</font>";
  }
}


echo "<form method=\"post\" action=\"$_SERVER[PHP_SELF]\">\n";
echo "<table>\n";
echo " <tr>\n";
echo "  <td><small>Gebruikersnaam:</small></td>\n";
echo "  <td><input type=\"text\" name=\"gebruikersnaam\" value=\"$gebruikersnaam\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "  <td><small>Nieuw wachtwoord:</small></td>\n";
echo "  <td><input type=\"password\" name=\"wachtwoord\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "  <td><small>Herhaal nieuw wachtwoord:</small></td>\n";
echo "  <td><input type=\"password\" name=\"wachtwoord2\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo "  <td></td>\n";
echo "  <td><input type=\"submit\" name=\"voegtoe\" value=\"Toevoegen\">\n";
echo " </tr>\n";
echo "</table>\n";
echo "</form\n";

}
else {
  echo "Vanaf nu kan er ingelogd worden met het aangemaakte profiel.\n";
  
}

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include("../footer.php");
?>


ikzelf denk dat de fout hierin zit:

$query = mysql_query("SELECT * FROM login WHERE gebruikersnaam = '$_POST[gebruikersnaam]'");
$md5_pass = md5($_POST[wachtwoord]);
mysql_query("INSERT INTO login (gebruikersnaam, wachtwoord) VALUES ('$_POST[gebruikersnaam]','$md5_pass')") or die (mysql_error());

en dat dat insert door iets moet worden vervangen ofzo..
 
PHP hulp

PHP hulp

15/01/2025 10:21:58
 
Paul v.Dun

Paul v.Dun

27/08/2004 14:49:00
Quote Anchor link
wat voor fout geeft hij aan en in welke regel?
 
Dutchcamel

dutchcamel

27/08/2004 14:50:00
Quote Anchor link
Als je een nieuwe gebruiker toevoegt moet hij toch ook een nieuwe rij toevoegen in de database?
Gewijzigd op 27/08/2004 14:50:00 door dutchcamel
 
Paul v.Dun

Paul v.Dun

27/08/2004 14:51:00
Quote Anchor link
ja dat ook al goed opgelet dutchcamel
 
Jorik

Jorik

27/08/2004 14:51:00
Quote Anchor link
@ paul
geen fout, alleen ik wil dat ie de gebruiker pass wijzigt, en niet nog een gebruiker (met zelfde username) aanmaakt...

Het script werkt wel... alleen werkt deze edit.php nog niet helemaal zoals ik wil.. bovenstaande fout moet eruit...
 
Elwin - Fratsloos

Elwin - Fratsloos

27/08/2004 14:53:00
Quote Anchor link
Je moet gebruik maken van een UPDATE query:

Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$query
= mysql_query("UPDATE gebruikers
SET kolom1 = '"
.$var1."', kolom2 = '".$var2."'
WHERE kolomX = '"
.$varX."'
"
)
?>


Elwin

[Edit: Typo]
Gewijzigd op 27/08/2004 14:53:00 door Elwin - Fratsloos
 
Dutchcamel

dutchcamel

27/08/2004 14:57:00
Quote Anchor link
Als je het wachtwoord wil wijzigen moet je dit gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
mysql_query("UPDATE login SET wachtwoord '".$_POST['wachtwoord']."' WHERE gebruikersnaam = '".$_POST['gebruikersnaam']."'");
?>


Wat die regel doet lijkt me logisch, hij vervangt de waarde van wachtwoord waar de gebruikersnaam $_POST['gebruikersnaam'] is in $_POST['wachtwoord'].

Niet vergeten te controleren of de gebruiker wel zeker ingelogd of ander het huidige wachtwoord voor de zekerheid vragen anders kun je als je iemands gebruikersnaam weet eenvoudig zijn wachtwoord veranderen..
Gewijzigd op 27/08/2004 14:58:00 door dutchcamel
 
Jorik

Jorik

27/08/2004 14:58:00
Quote Anchor link
Het betreft een beveiligd script in een admin gebied, dus voor als admin wachtwoord vergeten is, kan andere admin dat updaten..
voor de user heb ik de username gewoon vast gezet, en zal ik nog ff de oude wachtwoord proberen op te vragen voordat het wordt voorgezet (ben niet zo goed inPHP.. du s moet nog fftjes proberen)
 
Jorik

Jorik

27/08/2004 15:15:00
Quote Anchor link
Thanx het is gelukt, het werkt nu!!..

Ehh.. hoe zet ik die emailmelding van dit topic (bij posten aangezet) weer uit??... :$ (hebt al.. in de mails staat een afmeld linkje :P)
Gewijzigd op 27/08/2004 15:17:00 door Jorik
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.