Autor |
Nachricht |
herforder
Threadersteller
Dabei seit: 24.02.2004
Ort: Stube
Alter: -
Geschlecht:
|
Verfasst Mi 30.06.2004 15:38
Titel problem mit update |
|
|
hi... ich hab nen update script für das user profil, erstmal hier wie es aussieht:
edit-profil.php:
Code: | <?php
$id=$_GET['id'];
if(!isset($_SESSION["logged_in"]) || $_SESSION["logged_in"] !=1){
echo('<center class="content"><b>Du bist nicht eingeloggt und kannst somit auch nicht im Diskussionsraum lesen oder Beiträge schreiben.</b></center>'); }
elseif($_SESSION["logged_in"] == 1){
$select=mysql_query("SELECT * FROM `usertabelle` Where id='$id'");
$row=mysql_fetch_assoc($select);
$nickname=$row['name'];
if($nick_anzeige != $nickname)
{
echo('<center class="content"> <br><b>Du bist nicht berechtigt diese Seite zu betreten.</b></center>');
}
else
{
$select=mysql_query("SELECT * FROM `usertabelle` Where id='$id'");
$row=mysql_fetch_assoc($select);
$datum=$row['datum'];
$email=$row['email'];
$vorname=$row['vorname'];
$nachname=$row['nachname'];
$views=$row['views'];
$comments=$row['comments'];
$geburtsdatum=$row['geburtsdatum'];
$strasse=$row['strasse'];
$wohnort=$row['wohnort'];
$icq=$row['icq'];
$haarfarbe=$row['haarfarbe'];
$augenfarbe=$row['augenfarbe'];
$groeße=$row['groeße'];
$gewicht=$row['gewicht'];
$single=$row['single'];
$raucher=$row['raucher'];
$musikstil=$row['musikstil'];
$lieblingsmusiker=$row['lieblingsmusiker'];
$lieblingsessen=$row['lieblingsessen'];
$lieblingsgetraenk=$row['lieblingsgetraenk'];
$vereine=$row['vereine'];
$hobbys=$row['hobbys'];
$website=$row['website'];
$anderes=$row['anderes'];
$signatur=$row['signatur'];
$hobbys = str_replace("<br>","\n",$hobbys);
$anderes = str_replace("<br>","\n",$anderes);
echo('
<form action="index.php?site=entry-profil&update_id='.$id.'" method="post">
<center>
<table border="0" cellpadding="1" cellspacing="0" width="90%">
<tr>
<td class="content">E-Mail:*</td>
<td><input type="text" name="update_email" value="'.$email.'" maxlength="30" class="button"></td>
</tr>
<tr>
<td class="content">Vorname:*</td>
<td><input type="text" name="update_vorname" value="'.$vorname.'" maxlength="30" class="button"></td>
</tr>
<tr>
<td class="content">Nachname:*</td>
<td><input type="text" name="update_nachname" value="'.$nachname.'" maxlength="30" class="button"></td>
</tr>
<tr>
<td class="content">Geburtsdatum (z.B.: 05.02.1983):*</td>
<td><input type="text" name="update_geburtsdatum" value="'.$geburtsdatum.'" maxlength="10" class="button"></td>
</tr>
<tr>
<td class=content>Wohnort:*</td>
<td><input type="text" name="update_wohnort" value="'.$wohnort.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">ICQ Nummer:</td>
<td><input type="text" name="update_icq" value="'.$icq.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Strasse:</td>
<td><input type="text" name="update_strasse" value="'.$strasse.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Haarfarbe:</td>
<td><input type="text" name="update_haarfarbe" value="'.$haarfarbe.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Augenfarbe:</td>
<td><input type="text" name="update_augenfarbe" value="'.$augenfarbe.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class=content>Größe:</td>
<td><input type="text" name="update_groeße" value="'.$groeße.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Gewicht:</td>
<td><input type="text" name="update_gewicht" value="'.$gewicht.'" maxlength="30" class="button"></td>
</tr>
<tr>
<td class="content">Single:</td>
<td><input type="text" name="update_single" value="'.$single.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Raucher:</td>
<td><input type="text" name="update_raucher" value="'.$raucher.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Musikstil:</td>
<td><input type="text" name="update_musikstil" value="'.$musikstil.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Lieblingsmusiker/Lieblingsbands:</td>
<td><input type="text" name="update_lieblingsmusiker" value="'.$lieblingsmusiker.'" maxlength="100" class="button"></td>
</tr>
<tr>
<td class="content">Lieblingsessen:</td>
<td><input type="text" name="update_lieblingsessen" value="'.$lieblingsessen.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Lieblingsgetränk:</td>
<td><input type="text" name="update_lieblingsgetraenk" value="'.$lieblingsgetraenk.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Organisationen/Vereine:</td>
<td><input type="text" name="update_vereine" value="'.$vereine.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content">Website:</td>
<td><input type="text" name="update_website" value="'.$website.'" maxlength="50" class="button"></td>
</tr>
<tr>
<td class="content"> Hobbys:</td>
<td> <textarea name="update_hobbys" cols="30" rows="8" class="button">'.$hobbys.'</textarea></td>
</tr>
<tr>
<td class="content"> Was ich noch sagen möchte:</td>
<td> <textarea name="update_anderes" cols="30" rows="8" class="button">'.$anderes.'</textarea></td>
</tr>
<tr>
<td class="content">Signatur (nur im Forum):
<br>
<a href="javascript:popUp(\'bbcode.php\')" class="links">BB Code</a></td>
<td> <textarea name="update_signatur" cols="30" rows="8" class="button" maxlength="255" >'.$signatur.'</textarea></td>
</tr>
<tr>
<td>
<input type="hidden" name="new" value="'.$new.'">
<input type="submit" name="new" value="Absenden" class="button"></td>
</form>
<td></td>
<td>
</td>
</tr>
</table>
</center>');
}
}
?> |
und hier entry-profil.php:
Code: | <?php
$update_id=$_GET['update_id'];
$select=mysql_query("SELECT * FROM `usertabelle` Where id='$update_id'");
$row=mysql_fetch_assoc($select);
$name=$row['name'];
if($name != $nick_anzeige or !isset($_SESSION["logged_in"]) || $_SESSION["logged_in"] !=1)
{
echo('<center class="content"> <br><b>Du bist nicht befugt diese Seite zu betreten</b></center>');
}
else
{
if(isset($new)){
$fehler = "Folgende Fehler traten auf: <br>";
if($email==""){
$fehler = "<center class=content>'.$fehler.' -Du hast keine E-Mail Adresse angegeben.</center><br>";
$fehler2 = "1";
}
if($vorname==""){
$fehler = "<center class=content>'.$fehler.' -Du hast keinen Vornamen angegeben.</center><br>";
$fehler2 = "1";
}
if($nachname==""){
$fehler = "<center class=content>'.$fehler.' -Du hast keinen Nachname angegeben</center>.<br>";
$fehler2 = "1";
}
if($wohnort==""){
$fehler = "<center class=content>'.$fehler.' -Du hast keinen Wohnort angegeben.</centerY<br>";
$fehler2 = "1";
}
if($geburtsdatum==""){
$fehler = "<center class=content>'.$fehler.' -Du hast kein Geburtsdatum angegeben.</center><br>";
$fehler2 = "1";
}
if(!isset($fehler2)){
$hobbys = htmlentities($hobbys);
$hobbys = str_replace("\n","<br>",$hobbys);
$anderes = htmlentities($anderes);
$anderes = str_replace("\n","<br>",$anderes);
mysql_query("UPDATE `usertabelle` SET email='$update_email', vorname='$update_vorname', nachname='$update_nachname', geburtsdatum='$update_geburtsdatum', wohnort='$update_wohnort', icq='$update_icq', strasse='$update_strasse', haarfarbe='$update_haarfarbe', augenfarbe='$update_augenfarbe', groeße='$update_groeße', gewicht='$update_gewicht', single='$update_single', raucher='$update_raucher', musikstil='$update_musikstil', lieblingsmusiker='$update_lieblingsmusiker', lieblingsessen='$update_lieblingsessen', lieblingsgetraenk='$update_lieblingsgetraenk', vereine='$update_vereine', website='$update_website', hobbys='$update_hobbys', anderes='$update_anderes', signatur='$update_signatur' WHERE id='$update_id'");
echo('<center class="content"> <br><b>Deine Änderugen wurden Erfolgreich vorgenommen. <a href="index.php" class="links">Hier geht es zurück zur Startseite!</b></center></a>');
}
else
{
echo (''.$fehler.'');
}
}
}
?> |
nun, bei mir klappt alles wunderbar. er updatet das profil ohne irgendwelche probleme. das ist auch bei vielen anderen usern so. allerdings, was ja das super prob ist: bei manchen usern geht es einfach nicht. is das nicht total unlogisch? bei manchen gehts und bei manchen nicht? ich kapiers nicht. woran könnte das/sowas liegen?
woran liegt das denn? ich verzweifle total...
|
|
|
|
|
Waschbequen
Account gelöscht
Ort: -
|
Verfasst Mi 30.06.2004 15:41
Titel
|
|
|
1. Bissel viel Code zum überfliegen, meinste nicht?
2. Was genau geht denn nicht?
|
|
|
|
|
Anzeige
|
|
|
herforder
Threadersteller
Dabei seit: 24.02.2004
Ort: Stube
Alter: -
Geschlecht:
|
Verfasst Mi 30.06.2004 15:48
Titel
|
|
|
klar is das viel code. aber man muss sich wenn schon ja alles anucken, wer weiß wo der fehler liegt. vielleicht sieht ja einer einen fehler beim überfliegen...das prob ist nur, da kann ja eigentlich kein fehler sein.
also:
bei mir geht alles, er updatet die daten und gibt aus: Die Daten wurden erfolgreich aktualisiert blabla.
bei anderen schaut es so aus:
sie ändern das profil, gehen auf absenden und da steht: ihr profil wurde erfolgreich geupdatet. doch die daten in der mysql db wurden nicht geupdatet. und das is imo die unlogik. ich verstehs nicht
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 30.06.2004 18:25
Titel
|
|
|
schon mal gecheckt ob die queries wirklich fehlerfrei sind?
mysql_error() würd ich ma zum testen verwenden
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
|
|
|
|
herforder
Threadersteller
Dabei seit: 24.02.2004
Ort: Stube
Alter: -
Geschlecht:
|
Verfasst Do 01.07.2004 12:43
Titel
|
|
|
joa, hab ich mir durchgelesen. nun steht da man sollte in anwendungen besser nicht SELECT * benutzen, aber was dann?
|
|
|
|
|
fraxy
Dabei seit: 25.05.2004
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Do 01.07.2004 13:10
Titel
|
|
|
statt * alle felder einzeln benennen die du brauchst.
sprich "select name, email, ... from ..."
statt "select * from .."
warum steht ja unter dem link.
was passiert denn bei denen bei denen es nicht geht?
spontan würde ich sagen es könnte an cookie einstellungen liegen oder auch javascript.
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Do 01.07.2004 13:17
Titel
|
|
|
Du musst gewisse Sonderzeichen noch abfangen. Wenn du einen Querystring hast nach dem Scheme:
$query="UPDATE blah SET name='".$ismirdoener."'";
so kannst du davon ausgehen, dass eine Eingabe wie "Ibn 'ostbratwurst" wegen dem Hochkomma einen SQL-Fehler provoziert. htmlentities() fängt das nicht ab.
Zitat: | spontan würde ich sagen es könnte an cookie einstellungen liegen oder auch javascript |
Spontan fällt mir "Nuhr" eines ein...
Zuletzt bearbeitet von am Do 01.07.2004 13:17, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Problem mit mysql UPDATE
Problem mit UPDATE (php und MySQL)
PHP/MySQL >> Problem bei DB-Update per Formular
Bridge CS4/CS5 update Stichwort Problem
[SQL] LEFT JOIN + UPDATE Problem
[php] mysql update & f-/-open/-puts - problem
|
|