 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
28.09.2004, 16:15
|
#1
|
|
Registered User
Registriert seit: Mar 2003
|
[SQL + PHP] Werte aktualisieren
Hi,
ich habe ein Problem. Mein Script hat mal funktioniert aber nach einer Änderung funktioniert es nicht mehr. Das tragische dabei ist, dass ich die Änderung dann rückgängig gemacht habe aber das Ganze immer noch nicht funktioniert. Kann mir jemand helfen woran es liegt, dass die Daten nicht in der DB aktualisiert werden?
Hier der Code:
Code:
<?php
session_start();
$mitglied = $_GET['mitglied'];
$host = "127.0.0.1";
$dbuser = "root";
$dbpasswort = "";
$dbName = "test";
$tabellenName = "users";
$lng['months']['1'] = "Januar";
$lng['months']['2'] = "Februar";
$lng['months']['3'] = "März";
$lng['months']['4'] = "April";
$lng['months']['5'] = "Mai";
$lng['months']['6'] = "Juni";
$lng['months']['7'] = "Juli";
$lng['months']['8'] = "August";
$lng['months']['9'] = "September";
$lng['months']['10'] = "Oktober";
$lng['months']['11'] = "November";
$lng['months']['12'] = "Dezember";
if($_SESSION['userID'] == $mitglied || $_SESSION['rang'] == 'admin') {
mysql_connect("$host","$dbuser","$dbpasswort") or die("Connect nicht möglich: ".mysql_error());
$sql = "SELECT * from ".$tabellenName." WHERE userID = '".$mitglied."'";
$result = mysql_db_query($dbName,$sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);
echo "
<style type=text/css>
body {
margin-left:4pt !important;
}
</style>
<center>
<table width='96%' cellspacing='0' cellpadding='4'>
<tr>
<td class='uleiste2' colspan='2' align='left'>Steckbrief</td>
</tr>
<tr>
<td align='center'><br>";
if($_POST['bearbeiten']) {
if(!$name||!$vorname||!$strasse||!$plz||!$wohnort||!$email||!$login||!$passwort||strlen($passwort)<6||$login == $passwort||$tag == '- Tag -'||$monat == '- Monat -'||$jahr == '- Jahr -'||$geschlecht == '- Geschlecht -'||$familienstand == '- Familienstand -'||$berufsstand == '- Berufsstand -') {
echo "<center><br><span class='error'><img src='images/arrow_small.gif' border='0'> Es wurden nicht alle Pflichtfelder (*) ausgefüllt!</span></center>";
if(!$name) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie Ihren Namen an!</span></center>";
}
if(!$vorname) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie Ihren Vornamen an!</span></center>";
}
if($tag == '- Tag -') {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie den Tag Ihres Geburtstages an!</span></center>";
}
if($monat == '- Monat -') {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie den Monat Ihres Geburtstages an!</span></center>";
}
if($jahr == '- Jahr -') {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie das Jahr Ihres Geburtstages an!</span></center>";
}
if(!$strasse) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie Ihre Straße an!</span></center>";
}
if(!$plz) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie die Postleitzahl ihres Wohnortes an!</span></center>";
}
if(!$wohnort) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie Ihren Wohnort an!</span></center>";
}
if(substr_count($email, "@")!=1||substr_count($email, ".")<0||strlen($email)<9){
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie eine korrekte E-Mail Adresse an!</span></center>";
}
if($geschlecht == '- Geschlecht -') {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie Ihr Geschlecht an!</span></center>";
}
if($familienstand == '- Familienstand -') {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie Ihren Familienstand an!</span></center>";
}
if($berufsstand == '- Berufsstand -') {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie Ihren Berufsstand an!</span></center>";
}
if(!$login) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie einen Login/Nick an!</span></center>";
}
if($login == $passwort) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Login und Passwort dürfen nicht identisch sein!</span></center>";
}
if(!$passwort) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie ein Passwort an!</span></center>";
}
if(strlen($passwort)<6) {
echo "<center> <span class='error'><img src='images/arrow_small.gif' border='0'> Bitte geben Sie ein längeres Passwort an (min. 6 Zeichen)!</span></center>";
}
}
else {
$userID = strtolower($userID);
$name = strtolower($name);
$vorname = strtolower($vorname);
$geburtstag = strtolower($tag) . "." . strtolower($monat) . "." . strtolower($jahr);
$strasse = strtolower($strasse);
$plz = strtolower($plz);
$wohnort = strtolower($wohnort);
$rufnummer = strtolower($rufnummer);
$geschlecht = strtolower($geschlecht);
$familienstand = strtolower($familienstand);
$berufsstand = strtolower($berufsstand);
$hobbies = strtolower($hobbies);
$email = strtolower($email);
$homepage = strtolower($homepage);
$ueberdich = strtolower($ueberdich);
$login = strtolower($login);
$passwort = strtolower($passwort);
$rang = strtolower($rang);
$gruppe = strtolower($gruppe);
mysql_query("UPDATE $tabellenName set userID='$userID', name='$name', vorname='$vorname', geburtstag='$geburtstag', strasse='$strasse', plz='$plz', wohnort='$wohnort', rufnummer='$rufnummer', geschlecht='$geschlecht', familienstand='$familienstand', berufsstand='$berufsstand', hobbies='$hobbies', email='$email', homepage='$homepage', ueberdich='$ueberdich', login='$login', passwort='$passwort', rang='$rang', gruppe='$gruppe' WHERE userID='$mitglied'");
echo "
<center>
<fieldset>
<legend>Erfolgreich bearbeitet</legend>
<br>
<div class='abstandtop'>Der User wurde erfolgreich bearbeitet!</div>
</fieldset>
</center><br><br>";
exit;
}
}
$geburtstag = explode(".",$row['geburtstag']);
$tag = $geburtstag[0];
$monat = $geburtstag[1];
$jahr = $geburtstag[2];
echo "
<form name='regform' action='". $PHP_SELF ."?aktion=profilbearbeiten&mitglied=".$mitglied."' method='post'>
<fieldset>
<legend>Profil bearbeiten</legend>
<div class='abstand'>
<span class='loginform'>User-ID:</span>
<span class='formcheck3'>".$row[userID]."</span>
</div>
<div class='abstand'>
<span class='loginform'>Name*:</span>
<span class='formcheck'><input size='30' type='text' name='name' value='".$row['name']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Vorname*:</span>
<span class='formcheck'><input size='30' type='text' name='vorname' value='".$row['vorname']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Geburtsdatum*:</span>
<span class='formcheck2'>
<select name='tag'>
<option selected>- Tag -</option>";
for($t=1;$t <= '31';$t++)
{
echo "<option value='"; if($t < '10') $t="0".$t; echo "$t'"; if($t == $tag) echo " selected"; echo ">$t</option>";
}
echo "</select>
<select name='monat'>
<option selected>- Monat -</option>";
for($m='1';$m <= '12';$m++)
{
echo "<option value='"; if($m < '10') echo "0"; echo "" . $m . "'"; if($m == $monat) echo " selected"; echo ">" . $lng['months'][$m] . "</option>";
}
echo "</select>
<select name='jahr'>
<option selected>- Jahr -</option>";
for($j=2004;$j >= '1980';$j--)
{
echo "<option value='$j'"; if($j == $jahr) echo " selected"; echo ">$j</option>";
}
echo "</select>
</span>
</div>
<div class='abstand'>
<span class='loginform'>Straße*:</span>
<span class='formcheck'><input size='30' type='text' name='strasse' value='".$row['strasse']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>PLZ*:</span>
<span class='formcheck'><input size='30' type='text' name='plz' value='".$row['plz']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Wohnort*:</span>
<span class='formcheck'><input size='30' type='text' name='wohnort' value='".$row['wohnort']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Telefonnummer:</span>
<span class='formcheck'><input size='30' type='text' name='rufnummer' value='".$row['rufnummer']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Geschlecht*:</span>
<span class='formcheck'>
<select name='geschlecht'>
<option selected>- Geschlecht -</option>";
if($row['geschlecht'] == 'männlich') {
echo "<option value='männlich' selected>männlich</option>";
}
else {
echo "<option value='männlich'>männlich</option>";
}
if($row['geschlecht'] == 'weiblich') {
echo "<option value='weiblich' selected>weiblich</option>";
}
else {
echo "<option value='weiblich'>weiblich</option>";
}
echo "
</select></span>
</div>
<div class='abstand'>
<span class='loginform'>Familienstand*:</span>
<span class='formcheck'>
<select name='familienstand'>
<option selected>- Familienstand -</option>";
if($row['familienstand'] == 'ledig/single') {
echo "<option value='ledig/single' selected>ledig/single</option>";
}
else {
echo "<option value='ledig/single'>ledig/single</option>";
}
if($row['familienstand'] == 'feste partnerschaft') {
echo "<option value='feste partnerschaft' selected>feste Partnerschaft</option>";
}
else {
echo "<option value='feste partnerschaft'>feste Partnerschaft</option>";
}
if($row['familienstand'] == 'verheiratet') {
echo "<option value='verheiratet'>verheiratet</option>";
}
else {
echo "<option value='verheiratet'>verheiratet</option>";
}
echo "
</select></span>
</div>
<div class='abstand'>
<span class='loginform'>Berufsstand*:</span>
<span class='formcheck'>
<select name='berufsstand'>
<option selected>- Berufsstand -</option>";
if($row['berufsstand'] == 'schule') {
echo "<option value='schule' selected>Schule</option>";
}
else {
echo "<option value='schule'>Schule</option>";
}
if($row['berufsstand'] == 'studium') {
echo "<option value='studium' selected>Studium</option>";
}
else {
echo "<option value='studium'>Studium</option>";
}
if($row['berufsstand'] == 'ausbildung') {
echo "<option value='ausbildung' selected>Ausbildung</option>";
}
else {
echo "<option value='ausbildung'>Ausbildung</option>";
}
if($row['berufsstand'] == 'angestellt') {
echo "<option value='angestellt' selected>Angestellt</option>";
}
else {
echo "<option value='angestellt'>Angestellt</option>";
}
if($row['berufsstand'] == 'selbstständig') {
echo "<option value='selbstständig' selected>Selbstständig</option>";
}
else {
echo "<option value='selbstständig'>Selbstständig</option>";
}
if($row['berufsstand'] == 'bund/zivi') {
echo "<option value='bund/zivi' selected>Bund/Zivi</option>";
}
else {
echo "<option value='bund/zivi'>Bund/Zivi</option>";
}
if($row['berufsstand'] == 'sonstiges') {
echo "<option value='sonstiges' selected>Sonstiges</option>";
}
else {
echo "<option value='sonstiges'>Sonstiges</option>";
}
echo "
</select></span>
</div>
<div class='abstand'>
<span class='loginform'>Hobbies:</span>
<span class='formcheck'><input size='30' type='text' name='hobbies' value='".$row['hobbies']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>E-Mail Adresse*:</span>
<span class='formcheck'><input size='30' type='text' name='email' value='".$row['email']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Homepage:</span>
<span class='formcheck'><input size='30' type='text' name='homepage' value='".$row['homepage']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Über dich:</span>
<span class='formcheck'><input size='30' type='text' name='ueberdich' value='".$row['ueberdich']."'></span>
</div>
<div class='abstand'>
<hr>
</div>";
if($_SESSION['rang'] == 'admin') {
echo "
<div class='abstand'>
<span class='loginform'>Login/Nick*:</span>
<span class='formcheck'><input size='30' type='text' name='login' value='".$row['login']."'></span>
</div>";
}
else {
echo "<input size='30' type='hidden' name='login' value='".$row['login']."'>";
}
echo "
<div class='abstand'>
<span class='loginform'>Passwort*:</span>
<span class='formcheck'><input size='30' type='text' name='passwort' value='".$row['passwort']."'></span>
</div>";
if($_SESSION['rang'] == 'admin') {
echo "
<div class='abstand'>
<span class='loginform'>Rang:</span>
<span class='formcheck'><input type='text' name='rang' value='".$row['rang']."'></span>
</div>
<div class='abstand'>
<span class='loginform'>Gruppe:</span>
<span class='formcheck'><input type='text' name='gruppe' value='".$row['gruppe']."'></span>
</div>";
}
else {
echo "<input type='hidden' name='rang' value='".$row['rang']."'>
<input type='hidden' name='gruppe' value='".$row['gruppe']."'>";
}
echo "
<div class='abstand'>
<span class='loginform'> </span>
<span class='formcheck3'><input type='submit' name='bearbeiten' value='Bearbeiten'></span>
</div>
<div class='abstand' align='left'><br><div class='small'>Alle Felder mit * müssen ausgefüllt werden.</div>
</div>
</fieldset>
</form>
</td>
</tr>
</table>
</center>";
}
else {
echo "
<style type=text/css>
body {
margin-left:4pt !important;
}
</style>
<center>
<table width='96%' cellspacing='0' cellpadding='4'>
<tr>
<td class='uleiste2' colspan='2' align='left>Steckbrief</td>
</tr>
<tr>
<td align='center'>
<br><br>
<fieldset>
<legend>Keine Berechtigung</legend>
<br>
<div class='abstandtop' align='left'>Sie haben keine Berechtigung dieses Profil zu bearbeiten!<br>Klicken Sie <a href='index.php?aktion=steckbrief&mitglied=".$mitglied."'>hier</a> um wieder zurück zum Profil zu gelangen.</div>
</fieldset>
<br><br>";
}
?>
Gruß Kuhnibert
|
|
|
28.09.2004, 16:58
|
#2
|
|
TP-Veteran
Registriert seit: Jun 2003
Ort: Aachen
|
gibt mysql_error was aus?
wo hast du was geändert?
|
|
|
28.09.2004, 17:00
|
#3
|
|
TP-Veteran
Registriert seit: Jun 2003
Ort: Aachen
|
was ich grad erst sehe. du hast gar keine Datenbank angegeben.
mysql_select_db fehlt.
Liegt es daran?
heatseeker
|
|
|
28.09.2004, 17:03
|
#4
|
|
Registered User
Registriert seit: Mar 2003
|
Es gibt keine Fehlermeldung aus.
Ich habe gerade auch ausprobiert, ob ich etwas in der DB verändern kann, wenn ich meine eigene Angaben verändern möchte. Da funktioniert alles prima. Aber wenn ich nun als Admin (Überprüfung laut Rang in der Session) ein Profil bearbeiten möchte, kommt zwar keine Fehlermeldung aber es speichert nichts in der Datenbank. Weißt du woran es liegen könnte?
Gruß Kuhnibert
|
|
|
28.09.2004, 17:09
|
#5
|
|
TP-Veteran
Registriert seit: Jun 2003
Ort: Aachen
|
Also...
Versuch mal statt '$bla' das zu schreiben: ' ".$bla." ' .vielleicht hilfts^^
dann ersetzt mal alle variablen werte in ndem query durch fixwerte. also ohne variablen.
dann hast du jetzt aus meinem vorherigen beitrag alles gemacht?
also datenbank gewählt und das die(mysql_error()); hinter den query gesetzt?
Damit kannst du schonmal abgrenzen obs am query bzw. der db oder am script liegt.
heatseeker
|
|
|
28.09.2004, 17:31
|
#6
|
|
Registered User
Registriert seit: Mar 2003
|
Ich hab alles gemacht. Hab auch das mysql_select_db eingebaut (wobei ich es hier nicht benötigt hätte). Und es funktioniert immer noch nicht. Auch die Fixwerte habe ich eingegeben.
Das seltsame ist ja, dass wenn ich beispielsweise die userID = 1 besitze und mein eigenes Profil bearbeite, funktioniert alles prima. Nur wenn ich jetzt Admin bin und beispielsweise das Profil mit der userID = 2 bearbeite geht es nicht. Obwohl ja eigentlich nichts anderes bei der Aktualisierung in der DB getan wird. Ich verstehe es einfach nicht. Hast du ne Idee?
Gruß Kuhnibert
|
|
|
28.09.2004, 17:44
|
#7
|
|
TP-Veteran
Registriert seit: Jun 2003
Ort: Aachen
|
Die Variable $userID ist vor dem UPDATE gar nicht initialisiert , oder?
Wo kommt diese Variable her?
und was heisst du kannst dein Datensatz ändern, aber keinen anderen?
also
PHP-Code:
mysql_query("UPDATE users SET userID=1, name='bla', vorname='bla', geburtstag='bla', strasse='bla', plz='bla', wohnort='bla', rufnummer='bla', geschlecht='bla', familienstand='bla', berufsstand='bla', hobbies='bla', email='bla', homepage='bla', ueberdich='bla', login='bla', passwort='bla', rang='bla', gruppe='bla' WHERE userID=1");
funktioniert, aber das nicht: ?
PHP-Code:
mysql_query("UPDATE users SET userID=2, name='bla', vorname='bla', geburtstag='bla', strasse='bla', plz='bla', wohnort='bla', rufnummer='bla', geschlecht='bla', familienstand='bla', berufsstand='bla', hobbies='bla', email='bla', homepage='bla', ueberdich='bla', login='bla', passwort='bla', rang='bla', gruppe='bla' WHERE userID=2");
|
|
|
28.09.2004, 17:53
|
#8
|
|
Registered User
Registriert seit: Mar 2003
|
Hey Super, du hast mich auf den richtigen Weg geführt  .
Danke.
Also woran es lag war eigentlich richtig simpel wie du schon gemerkt hast. Ich hab die Variable $userID nirgendwo initialisiert. Da kanns ja dann gar nicht gehn. Aber jetzt funktionierts Gott Sei Dank  .
Das mit dem Bearbeiten war so gemeint.
Ich habe eine Community programmiert und in dieser Community sollte der Admin die Möglichkeit haben alle Daten der User zu ändern (für den Fall, dass jemand seinen Namen ändern will oder sonstiges). Und wenn ich nun als Admin eingeloggt war und einen User bearbeiten wollte, hat es nichts in der DB aktualisiert.
Aber jetzt funktioniert es  .
Vielen Dank.
Gruß Kuhnibert
|
|
|
28.09.2004, 18:02
|
#9
|
|
TP-Veteran
Registriert seit: Jun 2003
Ort: Aachen
|
Kein Problem , immer wieder gerne ^^
Hier kann ich mal wieder das Zend Studio als Editor empfehlen, da es den fehler direkt erkannt hätte...
gruß
heatseeker
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:51 Uhr.
|
 |