php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.04.2009, 00:16  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 3
koschy befindet sich auf einem aufstrebenden Ast
Standard Profil Editier Funktion geht nicht!

Hallo erstmal an alle hier im Forum. Bin neu hier!
Und zwar rühr ich schon seit 2 Tagen an meinen Script, hab schon so ziemlich alles versuch über Foren ,lesen ,Suche meines Fehlers, Msql tabellen check usw deshalb wende ich mich nun direkt hierher.

Ich versuch gerad eine Hompage komplett php zu bauen ,um mich Einzuarbeiten. Jedoch funktioniert wie schon gesagt, die Profil Editier Funktion die ich einbauen wollte nicht. Er soll Praktisch das Profil Anzeigen Stadt, Bundesland, Postleihzahl dahinter sind Eingabefelder wo er die bei der Registrierung angegebenen Daten anzeigt. Und man gleich duch das Eingabefeld ändern kann.Anzeigen funktioniert schon mal aber der schreibt nicht die neuen Daten in die Msql Datenbank ein. Also wenn man Abschicken drückt Passiert nichts nur das die Seite neu geladen wird, kein Fehler nix und die alten Daten stehen immernoch in den Eingabefeldern?

Danke schonmal im vorraus
hier die edit_script php
PHP-Code:
<?php
include_once "scripts/checkuserlog.php";
if (!isset(
$_SESSION['id'])) { 
print 
'Please <a href="index.php">log in</a> to access your account';
exit(); 

$id $_SESSION['id'];
include_once 
"scripts/connect_to_mysql.php";
$sql mysql_query("SELECT * FROM myMembers WHERE id='$id'"); 
while(
$row mysql_fetch_array($sql)){
$state $row["state"];
$city $row["city"];
$zip $row["zip"]; 
$bio_body $row["bio_body"]; 
}
if (
$_POST['state']) {
$state $_POST['state'];
$city $_POST['city'];
$zip $_POST['zip'];
$bio_body $_POST['bio']; 
$sql mysql_query("UPDATE myMembers SET state='$state', city='$city', zip='$zip', bio_body='$bio_body' WHERE id='$id'"); 
print 
'Dein Profil wurde ist nun Up to Date!<br /><br />
Um zurück zu gelangen, <a href="index.php">Klicke hier</a>'
;
exit();

?>
Hier die Edit_page php

PHP-Code:
<?php include_once "scripts/edit_script.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=utf-8" />
<title>Unbenanntes Dokument</title>
<style type="text/css">
<!--
.Stil1 {    color: #FFFFFF;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-style: normal;
    text-decoration: none;
}
-->
</style>
<?php include_once "header_template.php";?>
</head>

<body>
<table width="950" border="0" align="center" cellpadding="0" cellspacing="0" background="images/web20layout1_03.gif">
  <tr>
    <th width="82%" scope="col"><table align="center" cellpadding="8" cellspacing="8">
      <form action="edit.php" method="post" enctype="multipart/form-data" name="form" class="Stil1" id="form2" onsubmit="return validate_form ( );">
        <tr>
          <td width="100"  class="style7"><div align="right" class="Stil1">
            <div align="center">Bundesland</div>
          </div></td>
          <td width="269"><input name="state2" type="text" id="state2" value="<?php print "$state"?>" size="30" maxlength="64" /></td>
        </tr>
        <tr>
          <td  class="style7"><div align="right" class="Stil1">
            <div align="center">Stadt</div>
          </div></td>
          <td><input name="city2" type="text" id="city2" value="<?php print "$city"?>" size="30" maxlength="24" /></td>
        </tr>
        <tr>
          <td class="style7"><div align="right" class="Stil1">
            <div align="center">Postleihzahl</div>
          </div></td>
          <td><input name="zip2" type="text" id="zip2" value="<?php print "$zip"?>" size="30" maxlength="24" /></td>
        </tr>
        <tr>
          <td class="style7"><div align="right" class="Stil1">
            <div align="center">&Uuml;ber Mich :</div>
          </div></td>
          <td><span class="Stil1">
            <textarea name="bio2" cols="42" rows="8" id="bio2"><?php print "$bio_body"?></textarea>
          </span></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input name="Submit2" type="submit" value="Abschicken" /></td>
        </tr>
      </form>
    </table></th>
    <th width="18%" align="left" valign="top" scope="col"><?php include_once "right_add_template.php"?></th>
  </tr>
</table>
</body>
<?php include_once "footer_template.php";?>
</html>
koschy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.04.2009, 01:21  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

mach mal einen print_r() oder var_dump() auf den $_POST.

Denke das du dann selbst auf die lösung kommen solltest
Squall ist offline  
Alt 11.04.2009, 01:34  
Erfahrener Benutzer
 
Registriert seit: 19.01.2009
Beiträge: 263
mistermint ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ahhh, das tut weh!
Zitat:
PHP-Code:
$sql mysql_query("UPDATE myMembers SET state='$state', city='$city', zip='$zip', bio_body='$bio_body' WHERE id='$id'"); 
da wunderst du dich noch wieso das nicht geht?
jetzt weißt du ja wo der/ein fehler liegt, kannst ja mal nach sql grundlagen googlen!
hab deinen code nur einmal überflogen, und das springt einem doch förmlich an!
achja und zu deinem einrücken, entweder du rückst den ganzen code durchgängig ein oder du lasst es!
mistermint ist offline  
Alt 11.04.2009, 01:50  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

mysql_connect(), mysql_Select_db() und mysql_query() liefern FALSE, wenn etwas schief gegangen ist. Diesen Rückgabewert immer abtesten, keine Ausnahme.
Außerdem musst Du die Parameter, die Du als Zeichenkette in das SQL Statment einfügst, noch mit mysql_real_escape_string() absichern.
Lass Dir die Abfrage mal ausgeben.
PHP-Code:
$query "
  UPDATE
    myMembers
  SET
    state='"
.mysql_real_escape_string($state). "',
    city='"
.mysql_real_escape_string($city). "',
    zip='"
.mysql_real_escape_string($zip). "',
    bio_body='"
.mysql_real_escape_string($bio_body). "'
  WHERE
    id='"
.mysql_real_escape_string($id)."'
"
;
echo 
'<pre>Debug: query='$query"</pre>\n";
$result mysql_query($query);
if ( 
false===$result ) {
  echo 
'Fehler: 'mysql_error());

Wozu fragst Du eigentlich die Werte davor aus der Datenbank ab? Du überschreibst Sie doch eh mit den Werten aus _POST.

Geändert von David (11.04.2009 um 01:54 Uhr).
David ist offline  
Alt 12.04.2009, 01:54  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 3
koschy befindet sich auf einem aufstrebenden Ast
Standard

so habe mich nochmals rangesetzt aber komm hier immernoch zu keinem erfolg habs mit print_r($_POST) probiert
antwort
Array ( [state2] => fssfsf [city2] => fh [zip2] => fh [bio2] => f [Submit2] => Abschicken )
wunder mich nur wieso da 2 dahinter steht
var_dump($_POST)
antwort array(0) { }

Zur 3 antwort weiß nicht ich finde ihn nicht sonst würde ich ja nicht schreiben
Zur 4 code rein aber auch da kein ergebniss nur
Antwort vom browser
Debug: query=
UPDATE
myMembers
SET
state='fgh',
city='fh',
zip='fh',
bio_body='f'
WHERE
id='12'

Deshalb bitte ich nochmal um Hilfe danke kann immer erst später schreiben
sorry bin wirklich neu
koschy ist offline  
Alt 12.04.2009, 05:12  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von koschy Beitrag anzeigen
so habe mich nochmals rangesetzt aber komm hier immernoch zu keinem erfolg habs mit print_r($_POST) probiert
antwort
Array ( [state2] => fssfsf [city2] => fh [zip2] => fh [bio2] => f [Submit2] => Abschicken )
wunder mich nur wieso da 2 dahinter steht
Sollte es aber nicht, da deine Formularfelder alle ein (name="feldname2") haben. Wenn du in deiner edit_page.php bei jedem Input die 2 am ende des name-attributs wegmachst müsste es gehen.

Kleiner Tipp am Rande damit sich Code besser lesen läßt

Dein Code:
PHP-Code:
"UPDATE myMembers SET state='$state', city='$city', zip='$zip', bio_body='$bio_body' WHERE id='$id'" 
Ordentlicher Code:
PHP-Code:
"UPDATE myMembers SET state='" $state "', city='" $city "', zip='" $zip "', bio_body='" $bio_body "' WHERE id='" $id "'" 
'
Squall ist offline  
Alt 12.04.2009, 10:49  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
WHERE
id='12'
Gibt es vielleicht einfach keinen entsprechenden Datensatz?
David ist offline  
Alt 14.04.2009, 13:19  
Neuer Benutzer
 
Registriert seit: 10.04.2009
Beiträge: 3
koschy befindet sich auf einem aufstrebenden Ast
Standard

hat sich mitlerweile erledigt habs selbst rausgefunden der hat die daten nicht geschrieben weil Array ( [state2] => fssfsf [city2] => fh [zip2] => fh [bio2] => f [Submit2] => Abschicken ) da muss überall eine 2 dahinter. jetz funzt es
koschy ist offline  
Alt 14.04.2009, 13:28  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Squall Beitrag anzeigen
Kleiner Tipp am Rande damit sich Code besser lesen läßt
Find ich persönlich deinen Code viel schlechter lesbar, während eine entsprechende Formatierung helfen würde.
__________________
Gruss
L
lazydog ist offline  
Alt 14.04.2009, 13:41  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lazydog Beitrag anzeigen
Find ich persönlich deinen Code viel schlechter lesbar, während eine entsprechende Formatierung helfen würde.
Hast ja recht, mir ging es auch nur darum das man variablen nicht in einen string reinschreibt.

Zitat:
Zitat von koschy Beitrag anzeigen
habs selbst rausgefunden
Ist klar
Squall ist offline  
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
[Erledigt] Array innerhalb einer Funktion Marko_Schulze PHP Tipps 2008 8 02.12.2008 18:58
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Editier funktion PHP Tipps 2005-2 9 27.06.2005 13:14
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
editierfunktion php

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum