php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-09-2007, 17:27
bambid
 Newbie
Links : Onlinestatus : bambid ist offline
Registriert seit: Aug 2004
Beiträge: 11
bambid ist zur Zeit noch ein unbeschriebenes Blatt
Standard Bearbeitung vereinfachen

Hallo Leute,
Ich habe mich hier neu angemeldet und denke dass ihr mir helfen könnt.

Ich habe mir einwehnig PHP und MySQL angeeignet. doch nun stehe ich gerade an der Grenze meines Könnens (nicht könnens).

Also nun zu meinem Problem.

Ich habe ein Formular, mit welchem ich in eine Datenbank schreibe, und dann lasse ich diese Datenbankeinträge oberhalb dieses Formulars anzeigen.
ich habe es so gemacht, dass ich die einträge löschen oder bearbeiten kann.
Auch dies funktioniert wunderbar. jetzt ist nur das Problem dass wenn ich einen Eintrag bearbeiten möchte, nicht nur dieser zur bearbeitung freikommt.

Das heisst, wenn ich den eintrag mit der ID 248 bearbeiten möchte könnte ich danach auch all die andern bearbeiten, und ich kann dann auch bei einem anderen etwas ändern. Das ist nicht gut, denn es wird nur die Lienie bearbeitet, auf welcher ich sichern drücke.

So dies ist mein Code:
PHP-Code:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>apachefriends.org cd collection</title>
<link href="xampp.css" rel="stylesheet" type="text/css">
</head>

<body>

<p>
<h1>CD Daten</h1>

Die einfach zu verwaltende Datenbank

<?

// Copyright (C) 2002/2003 Kai Seidler, [email]oswald@apachefriends.org[/email]
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


if(!mysql_connect("localhost","root",""))
{
echo 
"<h2>Het nöd klappt</h2>";
die();
}
mysql_select_db("cdcol");
?>

<h2>Daten</h2>

<table border=0 cellpadding=0 cellspacing=0>
<tr bgcolor=#f87820>
<td><img src=img/blank.gif width=10 height=25></td>
<td class=tabhead><img src=img/blank.gif width=200 height=6><br><b>Interpret</b></td>
<td class=tabhead><img src=img/blank.gif width=200 height=6><br><b>Titel</b></td>
<td class=tabhead><img src=img/blank.gif width=50 height=6><br><b>Jahr</b></td>
<td class=tabhead><img src=img/blank.gif width=50 height=6><br><b>Aktion</b></td>
<td><img src=img/blank.gif width=10 height=25></td>
</tr>


<?
if($_REQUEST['action']=="sich")
{ if(
$jahr=="")$jahr="NULL";
$titel=htmlentities($_REQUEST['titelsi']);
$interpret=htmlentities($_REQUEST['interpretsi']);
$jahr=htmlentities($_REQUEST['jahrsi']);
$id=htmlentities($_REQUEST['id']);
mysql_query("UPDATE cds Set titel = '$titel', interpret = '$interpret', jahr = '$jahr' WHERE id = '$id'");
echo 
$row;
}

if(
$_REQUEST['interpret']!="")
{
if(
$jahr=="")$jahr="NULL";
$titel=htmlentities($_REQUEST['titel']);
$interpret=htmlentities($_REQUEST['interpret']);
$jahr=htmlentities($_REQUEST['jahr']);
mysql_query("INSERT INTO cds (titel,interpret,jahr) VALUES('$titel','$interpret',$jahr);");
}

if(
$_REQUEST['action']=="del")
{
mysql_query("DELETE FROM cds WHERE id={$_REQUEST['id']};");
}




$result=mysql_query("SELECT id,titel,interpret,jahr FROM cds ORDER BY interpret;");

$i=0;
while( 
$row=mysql_fetch_array($result) )
{
if(
$i>0)
{
echo 
"<tr valign=bottom>";
echo 
"<td bgcolor=#ffffff background='img/strichel.gif' colspan=6><img src=img/blank.gif width=1 height=1></td>";
echo 
"</tr>";
}

if(
$_REQUEST['action']=="upd")
{
echo 
"<tr valign='middle'>";
echo 
"<form action=cds.php method=get>";
echo 
"<td class='tabval'><img src='img/blank.gif' alt='' width='10' height='20'></td>";
echo 
"<input type='hidden' name='action' value='sich'><input type='hidden' name='id' value=".$row['id'].">";
echo 
"<td class='tabval'><input type='text' value='".$row['interpret']."' size='20' name='interpretsi'>&nbsp;</td>";
echo 
"<td class='tabval'><input type='text' value='".$row['titel']."' size='20' name='titelsi'>&nbsp;</td>";
echo 
"<td class='tabval'><input type='text' value='".$row['jahr']."' size='20' name='jahrsi'>&nbsp;</td>";
//echo "<td><a href='cds.php?action=sich&id=".$row['id']."&interpret=".$row['interpretsi']."&titel=".$row['titelsi']."&jahr=".$row['jahrsi']."'><span class=green>[sichern]</span></a></td>";
echo "<td><input type=submit border=0 value='Sichern'></td>";
echo 
"<td class='tabval'></td>";
echo 
"</form>";
echo 
"</tr>";



}
else
{
echo 
"<tr valign=center>";
echo 
"<td class=tabval><img src=img/blank.gif width=10 height=20></td>";
echo 
"<td class=tabval><b>".$row['interpret']."</b></td>";
echo 
"<td class=tabval>".$row['titel']."&nbsp;</td>";
echo 
"<td class=tabval>".$row['jahr']."&nbsp;</td>";

echo 
"<td class=tabval><a onclick=\"return confirm('Sicher?');\" href=cds.php?action=del&id=".$row['id']."><span class=red>[löschen]</span></a></td>";
echo 
"<td class=tabval><a href=cds.php?action=upd&id=".$row['id']."><span class=green>[bearbeiten]</span></a></td>";
echo 
"<td class=tabval></td>";
echo 
"</tr>";
$i++;
}
}

echo 
"<tr valign=bottom>";
echo 
"<td bgcolor=#fb7922 colspan=6><img src=img/blank.gif width=1 height=8></td>";
echo 
"</tr>";


?>

</table>

<h2>Neuer Eintrag</h2>

<form action=cds.php method=get>
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td>Interpret:</td>
<td><input type=text size=30 name=interpret></td>
</tr>
<tr>
<td>Titel:</td>
<td> <input type=text size=30 name=titel></td>
</tr>
<tr>
<td>Jahr:</td>
<td> <input type=text size=5 name=jahr></td>
</tr>
<tr>
<td></td>
<td><input type=submit border=0 value="Neu eintragen"></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
ist dies irgend wie möglich zu umgehen?

Mit freundlichem Gruss
bambid
Mit Zitat antworten
  #2 (permalink)  
Alt 14-09-2007, 18:52
gourmet
 Registrierter Benutzer
Links : Onlinestatus : gourmet ist offline
Registriert seit: Feb 2007
Beiträge: 154
Blog-Einträge: 1
gourmet ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi bambid,

so ganz durchgestiegen bin ich noch nicht durch dein code

ich würde aber als erstes mal deinen submit butten einen namen geben
Code:
<input type=submit value=sichern name=sichern>
und dann mit
PHP-Code:
IF(ISSET($_POST['sichern'])) {
//tue dies mach das

überprüfen

als nächstes würde ich die while schleife entfernen da du ja nur einen eintrag bearbeiten willst.
Ich hoffe das hilft dir ein Stück weiter
Mit Zitat antworten
  #3 (permalink)  
Alt 14-09-2007, 21:52
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

ich würde an stelle von Copyright (C) besser error_reporting(E_ALL); machen und über valide html-code die gedanken machen.
Auch nachlesen von Forum-Regeln wäre nicht schlecht.
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #4 (permalink)  
Alt 14-09-2007, 22:18
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vyacheslav, was soll der mist?
ich weiß auch so, mein os, browser & ip, dazu brauche ich dich nicht.
Mit Zitat antworten
  #5 (permalink)  
Alt 14-09-2007, 22:36
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OffTopic:
Zitat:
Original geschrieben von 3DMax
ich weiß auch so, mein os, browser & ip, dazu brauche ich dich nicht.
Na wer weiß, ob du das noch weißt...






Mit Zitat antworten
  #6 (permalink)  
Alt 14-09-2007, 22:39
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie war nochmal die frage ... ?
Mit Zitat antworten
  #7 (permalink)  
Alt 14-09-2007, 22:44
ZombieChe
 Member
Links : Onlinestatus : ZombieChe ist offline
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
ZombieChe ist zur Zeit noch ein unbeschriebenes Blatt
ZombieChe eine Nachricht über ICQ schicken
Standard

Die zu editierende ID solltest du auch selektieren....
PHP-Code:
if ($_REQUEST['action']=="upd" && $_REQUEST['id'] == $row['id']) 
Mit Zitat antworten
  #8 (permalink)  
Alt 15-09-2007, 00:49
ChristiaNN
 Registrierter Benutzer
Links : Onlinestatus : ChristiaNN ist offline
Registriert seit: Dec 2006
Beiträge: 59
ChristiaNN ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bitte was ? ich check nicht mal was er will ?
Mit Zitat antworten
  #9 (permalink)  
Alt 15-09-2007, 11:20
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich auch nicht, aber ich würd das Skript mal spontan in die Tonne werfen ... schon lange nicht mehr sowas undurchsichtiges gesehen - ich hab schon keine Lust mich durch den Quellcode zu wühlen, wenn ich diesen unformatierten farbigen Haufen sehe...
Mit Zitat antworten
  #10 (permalink)  
Alt 19-09-2007, 11:47
bambid
 Newbie
Links : Onlinestatus : bambid ist offline
Registriert seit: Aug 2004
Beiträge: 11
bambid ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also ich finde es übersichtlch, und einige andere auch, denn die lösung des Problems wurde genannt.

Jetzt habe ich mich an ein ganz einfaches Loginscript herangetraut, und habe es auch geschaft. nach dem einloggen, übergibt das Script einen $level,
welchen ich dann auch in meiner Datenbank hinter einigen Einträgen gemacht habe. und übernehme diesen mit $stufe.

Jetzt möchte ich natürlich dem hans müller der sich mit $level =1 eingelogt hat auch nur die einträge mit $status=1 anzeigen.

Wenn ich den Test mit
echo $level
echo $status
mache, sind beide gleich.

wenn ich nun meines Erachtens den Code von:

PHP-Code:
if($_REQUEST['action']=="upd" && isset($_REQUEST['id']) && $_REQUEST['id'] == $row['id']

in:
PHP-Code:
if($_REQUEST['action']=="upd" && isset($_REQUEST['id']) && $_REQUEST['id'] == $row['id'] && $level == $stufe)

ändere, zeigt er gar nichts in der Tabelle an.

habe ich mich da etwa vertan, oder habe ich das nicht richtig interpretiert?

Mit freundlichem Gruss

bambid
Mit Zitat antworten
  #11 (permalink)  
Alt 19-09-2007, 17:41
bambid
 Newbie
Links : Onlinestatus : bambid ist offline
Registriert seit: Aug 2004
Beiträge: 11
bambid ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also ich habe es hinbekommen.
Es war ja völlig falsch überlegt von mir!

also ich habe die zeile:
PHP-Code:
$result=mysql_query("SELECT id,titel,interpret,jahr,leih FROM cds ORDER BY interpret;"); 
wie folgt angepasst:
PHP-Code:
$result=mysql_query("SELECT id,titel,interpret,jahr,leih FROM cds WHERE stufe=$level ORDER BY interpret;"); 
natürlich musste ich einige Formulare noch anpassen, doch das war dann nur noch nebensache.

Ich danke euch für die Tipps.

MfG bambid
Mit Zitat antworten
  #12 (permalink)  
Alt 19-09-2007, 22:09
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von 3DMax
Vyacheslav, was soll der mist?
ich weiß auch so, mein os, browser & ip, dazu brauche ich dich nicht.
ich will nun auch mal deine ip und os wissen, und dabei auch meine ip wegen alzheimer nicht vergessen
Wo hast du rausgefunden, dass Slava und Vjacheslav die gleichen Namen sind?
Sage schon! sonnst puste ich deine IP weg!
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #13 (permalink)  
Alt 21-09-2007, 16:32
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Slava
Wo hast du rausgefunden, dass Slava und Vjacheslav die gleichen Namen sind?
Sage schon! sonnst puste ich deine IP weg!
1. du hast das bild eingebunden.
2. der domaininhaber hat einen ausländischen namen ...
3. ... und wohnt in köln.

o.g. punkte deuten mit hoher wahrscheinlichkeit darauf hin, dass slava und der domaininhaber ein und dieselbe person sind.
war doch nicht schwer, oder?

darf ich meine ip jetzt behalten?

[EDIT]achso, nochetwas, punkt 4 - grammatikfehler im bild: "Deine OS"

Geändert von 3DMax (21-09-2007 um 16:36 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:06 Uhr.