php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.04.2009, 14:02  
Neuer Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 15
axes befindet sich auf einem aufstrebenden Ast
Standard Datenbank editieren

Habe folgendes Problem. Ich lasse mir Daten aus der DB auslesen und möchte diese dann über ein Textfeld ändern können. allerdings ändert er bei mir nichts. woran könnte das liegen?


PHP-Code:
<?php
include("dbconnect.php");

if(isset(
$_GET['edit']) and !empty($_GET['edit'])){
    
mysql_query('UPDATE Ergebnisse 
                    SET Name = '
.$_REQUEST['name'].', 
                        Datei =  '
.$_REQUEST['datei'].', 
                        Datum =  '
.$_REQUEST['date'].
                    WHERE 
                        id = '
.$_GET['edit']);
}
$abfrage "SELECT 
                id, 
                Name, 
                Datei, 
                DATE_FORMAT(Datum, '%d.%m.%Y') AS date 
            FROM 
                Ergebnisse 
            ORDER BY 
                Datum DESC"
;
                
$ergebnis mysql_query($abfrage);

echo 
"<table width='350' cellpadding='2' cellspacing='0' border='1'>
<tr>
<td align='left'><b>Datum</b></td>
<td align='left'><b>Ergebnis</b></td>
<td align='left'><b>Datei</b></td>
<td align='left'><b>Ändern</b></td>
</tr>"
;

while(
$row mysql_fetch_array($ergebnis))
    {
    
$id $row['id'];
    
$name $row['Name'];
    
$date $row['date'];
    
$datei $row['Datei'];
        
echo 
"<tr>
<td valign='top' align='left'><input name='' type='text' size='10' maxlength='10' value='$date' /></td>
<td valign='top' align='left'><input name='' type='text' value='$name' /></td>
<td valign='top' align='left'><input name='' type='text' value='$datei' /></td>
<td valign='top' align='left'><a href='ergebnisse_edit.php?edit=$id'>Ändern</a></td>
  </tr>"
;
    }
echo 
"</table>";
?>
axes ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.04.2009, 14:02  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

<form> tag vergessen!?!!

statt $_REQUEST lieber $_POST bzw. $_GET verwenden
Asipak ist offline  
Alt 12.04.2009, 14:10  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard

MYSQL und PHP schreien selber oft nach Hilfe, leider hören viele einfach nicht zu.

Daher sollte man immer wenn man programmiert folgendes verwenden.

PHP-Code:
error_reporting(E_ALL|E_STRICT);
ini_set('DISPLAY_ERROR',TRUE); 
Für MYSQL hilft das:
PHP-Code:
mysql_query($sql) or die(mysql_error()); 
Creator ist offline  
Alt 12.04.2009, 14:10  
Neuer Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 15
axes befindet sich auf einem aufstrebenden Ast
Standard

brauch ich ein <form>-tag wenn ich die id über den link übergebe?
Bei meiner Löschenfunktion habe ich es genauso gemacht und da funktioniert es auch ohne <form>-tag??


PHP-Code:
<a href='ergebnisse_edit.php?edit=$id'>Ändern</a
axes ist offline  
Alt 12.04.2009, 14:13  
Neuer Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 15
axes befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Creator Beitrag anzeigen
MYSQL und PHP schreien selber oft nach Hilfe, leider hören viele einfach nicht zu.

Daher sollte man immer wenn man programmiert folgendes verwenden.

PHP-Code:
error_reporting(E_ALL|E_STRICT);
ini_set('DISPLAY_ERROR',TRUE); 
Für MYSQL hilft das:
PHP-Code:
mysql_query($sql) or die(mysql_error()); 


Ich bekomme ja nicht mal einen Fehler. Nach drücken des "ändern"-links, bekomme ich wieder die selbe seite, nur dass mein link jetzt so aussieht: http://...../ergebnisse_edit.php?edit=12
axes ist offline  
Alt 12.04.2009, 14:21  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von axes Beitrag anzeigen
brauch ich ein <form>-tag wenn ich die id über den link übergebe?
Bei meiner Löschenfunktion habe ich es genauso gemacht und da funktioniert es auch ohne <form>-tag??
Ohoh.

Du willst ein Formular versenden. Wenn du auf den Link klickst weiß ergebnisse_edit.php nicht, welche Daten im Formular eingegeben worden sind, da diese nicht mitgesendet werden.
Den input-feldern musst du im name-attribut einen eindeutigen Namen zuweisen. Nach dem Abschicken des Formulars kannst du den Inhalt der Felder mit $_POST["name_des_feldes"] abrufen. Dazu musst du ein <form>-tag definieren:

PHP-Code:
<form method="post" action="ergebnisse_edit.php?edit=<?php echo $id?>">
//Rest deines Formulars
<input type="text" name="name_des_feldes">
//etc.

//ein Submit-button kann auch hilfreich sein
<input type="submit" value="Kram absenden">
</form>
Asipak ist offline  
Alt 12.04.2009, 14:29  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
include("dbconnect.php");

if(isset(
$_GET['edit']) and !empty($_GET['edit'])){
    
mysql_query('UPDATE Ergebnisse 
                    SET Name = '
.$_REQUEST['name'].', 
                        Datei =  '
.$_REQUEST['datei'].', 
                        Datum =  '
.$_REQUEST['date'].
                    WHERE 
                        id = '
.$_GET['edit']);
}
Glaube dir nicht, das du mein code eingebaut hast.

PHP-Code:
<?php
error_reporting
(E_ALL|E_STRICT); 
ini_set('DISPLAY_ERROR',TRUE);  
include(
"dbconnect.php");

if(isset(
$_GET['edit']) and !empty($_GET['edit'])){
    
mysql_query('UPDATE Ergebnisse 
                    SET Name = '
.$_REQUEST['name'].', 
                        Datei =  '
.$_REQUEST['datei'].', 
                        Datum =  '
.$_REQUEST['date'].
                    WHERE 
                        id = '
.$_GET['edit']);
}
Dann würdest du nämlich Notizfehler erhalten, weil Request['name'] usw. garnicht existiert!
Damit hättest du schon dein problem gelöst und wüsstest wo du ansetzen musst.

Schau dir bitte nochmal genau an, wie man Formulare erstellt und verwarbeitet.
mysql_real_escape_string()
Das ist auch sehr wichtig.

Geändert von Creator (12.04.2009 um 14:32 Uhr).
Creator ist offline  
Alt 12.04.2009, 14:34  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Creator Beitrag anzeigen
Damit hättest du schon dein problem gelöst und wüsstest wo du ansetzen musst.
Nein, das glaube ich nicht, da axes scheinbar nur irgendwelchen code kopiert hat und diesen für einen anderen Zweck wiederverwenden möchte.

Was es mit Daten von Formularen auf sich hat und wie diese zu erhalten sind scheint ihm ja gar nicht klar zu sein. Er versucht ein Formular über einen Link zu senden, was ohne den Einsatz von Javascript meines Wissens nach nicht möglich ist.


Ich würde ihm eher den Tipp geben, Grundlagen zu lernen:
http://www.php.de/php-einsteiger/489...rundlagen.html
Asipak ist offline  
Alt 12.04.2009, 14:51  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Nein, das glaube ich nicht, da axes scheinbar nur irgendwelchen code kopiert hat und diesen für einen anderen Zweck wiederverwenden möchte.
Es scheint bei PHP eine Grundlagen Allergie zu geben.

Macht dann nicht wirklich spaß jemanden zu versuchen zu helfen.
Creator ist offline  
Alt 12.04.2009, 19:57  
Neuer Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 15
axes befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Creator Beitrag anzeigen
Es scheint bei PHP eine Grundlagen Allergie zu geben.

Macht dann nicht wirklich spaß jemanden zu versuchen zu helfen.

Ich habe deinen code genauso eingebaut, wie du und trotzdem keine Fehlermeldung erhalten! zumindest nicht im Internet Explorer!

und zu allen anderen. nein ich habe den code nicht einfach irgendwo kopiert. ich habe mir eine Delete funktion gebastelt, mit Hilfe eines tutorials. Die hat auch ohne probleme funktioniert. und jetzt habe ich versucht das ganze auch auf eine Edit Funktion abzuändern.

Geändert von axes (12.04.2009 um 20:09 Uhr).
axes 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
problem bei adminbereich für bilder in datenbank stellen mobilica PHP Tipps 2009 18 04.01.2009 10:58
schribt nichts in die datenbank Cheesy92 PHP Tipps 2006 9 27.10.2006 14:03
String in Datenbank finden Pimbolie1979 Datenbanken 11 13.10.2006 15:37
[Erledigt] News editieren bzw. updaten Datenbanken 2 05.02.2006 01:49
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
Auslesen von Daten aus einer mysql Datenbank + Editieren vampsoftchef PHP Tipps 2004-2 5 15.11.2004 08:31
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14
[Erledigt] Formulardaten sammeln, und in Datenbank verteilen. PHP Tipps 2004 1 14.08.2004 20:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datenbank bearbeiten, php datenbank editieren, datenbank bearbeiten php, datenbank bearbeiten mit php, http://www.php.de/php-einsteiger/54048-datenbank-editieren.html, datenbank editieren php, bearbeiten php (edit), datenbanken in php editieren, datenbank editieren mit php, php bearbeiten von datenbankeinträgen, php mysql datenbank bearbeiten, php datenbank ändern, php datenbanken bearbeiten, datenbank über php editieren, sql datenbank bearbeiten php, user datenbank editieren php, datenbank editieren, user datenbank bearbeiten, php sql datenbank öffenen, .db bearbeiten

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:37 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