Formulareingabe macht Probleme (PHP/MySQL)

  • #1
D

Dr-Pepper

Guest
Sorry aber war noch nicht registriert und kann deshalb nichts abändern, deshalb hier nochmals das gesamte posting:

Hi an alle, sorry aber bin newbie in berecih PHP.

Ich möchte mit nem Formular bereits eingetragene Daten auslesen, dann ändern und wieder in die DB schreiben (geändert natürlich)

Jedoch macht das Formular das bei mir nicht :-((

Das auslesen funzt, und das ändern klappt auch aber sowie ich auf den Button zum speichern gehe, macht er das nicht.

Ich poste hier mal den source dazu:
aendern2.php:

<html>
<body>
<?php
if ($auswahl)
{
  $db = mysql_connect(Server,User,Passwort);
  mysql_select_db(db,$db);

  $sqlab = select * from filme where order by titel;
  $sqlab .= titel = $auswahl;

  $res = mysql_db_query(db, $sqlab);

  $altti = mysql_result($res, 0, titel);
  $altfo = mysql_result($res, 0, format);
  $altan = mysql_result($res, 0, anzahl);
  $altau = mysql_result($res, 0, ausgeliehen);

  echo Führen Sie die Änderungen durch,<p>;
  echo betätigen Sie anschließend den Button<p>;

  echo <form action = 'aendern3.php' ;
  echo method = 'post'>;

  echo <input name='neuti' value='$auswahl'>;
  echo Nachname<p>;
  echo <input name='neufo' value='$altfo'> ;
  echo Vorname<p>;
  echo <input name='neuti' value='$altti'>;
  echo Personalnummer<p>;
  echo <input name='neuan' value='$altan'>;
  echo Gehalt<p>;
  echo <input name='neuau' value='$altau'>;
  echo Geburtstag<p>;
  echo <input type='hidden' name='oriti' ;
  echo value='$auswahl'>;

  echo <input type='submit' ;
  echo value='Änderungen in DB speichern'><p>;
  echo <input type='reset'>;
  echo </form>;

  mysql_close($db);
}

else
  echo Es wurde kein Datensatz ausgewählt<p>;
?>
</body>
</html>


aendern3.php:
<html>
<body>
<?php
   $db = mysql_connect(Server,User,Passwort);
   mysql_select_db(db,$db);

  $sqlab = update titel set name = '$neuti',;
  $sqlab .= format = '$neufo',;
   
  $sqlab .= anzahl = '$neuan',;
  $sqlab .= ausgeliehen = '$neuau';
  $sqlab .= where titel = $ti;

  mysql_db_query(filme, $sqlab);

  $num = mysql_affected_rows();
  if ($num>0)
echo Der Datensatz wurde geändert<p>;
  else
echo Der Datensatz wurde nicht geändert<p>;

  mysql_close($db);
?>
Zurück zur <a href=aendern1.php>Auswahl</a>

</body>
</html>


Bitte helft mir.
Danke im voraus
 
  • #2
$sqlab = select * from filme where order by titel;
$sqlab .= titel = $auswahl;

Funktioniert das Auslesen wirklich?
 
  • #3
ja das auslesen aus der DB funzt ohne probleme.

wieso???

Ich lasse mir die ganzen Datensätze aus der Datenbank anzeigen und dann gehts per radio buttona auf die aendern2.php2

Dort ist dann nur das formular zum verändern der Daten und der button um die geänderteten Daten zu speichern.
 
  • #4
Hi...

in deinem Quellcode habe ich diese Zeilen gesehen:
echo <input name='neuti' value='$auswahl'>;
echo Nachname<p>;
echo <input name='neufo' value='$altfo'> ;
echo Vorname<p>;
echo <input name='neuti' value='$altti'>;
echo Personalnummer<p>;
echo <input name='neuan' value='$altan'>;
echo Gehalt<p>;
echo <input name='neuau' value='$altau'>;
echo Geburtstag<p>;

Mein Tipp: Der Typ des INPUT-Tags ist nicht definiert. Versuch es mal mit <input type='hidden' name='neuau' value='$altau'>

Nochn Tipp: Laut HTML 4 ist der Standard für die Attributmarkierung eines Tags das nicht das '. PHP macht allerdings Probleme, wenn man einfach benutzt, daher musst du in PHP das mit einem \ als Sonderzeichen markieren, also würde mein o. a. INPUT-Tag so aussehen: <input type=\hidden\ name=\neuau\ value=\.$altau.\>

Vielleicht hilfts ja.

Noch was
$sqlab = select * from filme where order by titel;
$sqlab .= titel = $auswahl;
ist nicht ganz schlüssig:
1. hast du keine Bedingung für die WHERE-Klausel (korrektes Beispiel wäre ... WHERE titel='hallo' oder ...WHERE titel LIKE '%hallo%)
2. ich weiss nicht, was du mit ...order by titel;
$sqlab.=titel = $auswahl; meinst. das check ich net.
Willst du hier einfach nach titel sortieren, dann lass die 2. Zeile weg.

Du kannst mich gerne mal per IM anquatschen, dann geb ich dir meine E-Mail und du schickst mir dann die Dateien, dann hab ich auch nen besseren Durchblick,w as du eigentlich vor hast.

Greetz
Michael
 
  • #5
Hallo Michael,danke für den Tip.
Werds mal ausprobieren und schaun obs dann funzt.
Das mit der Where und order by titel ist leider noch ein trümmer , der aber anscheinend eh keine wirkung darauf hat, da eh in dem script alles ausgelesen wird.

Ich melde mich wieder ons geklappt hat oder net.
Trotzdem vielenb Dank für die schnelle Hilfe in diesem Forum.

Weiter so:))
 
  • #6
Hi an alle,

danke nochmals an alle diemir versucht haben schnell zu helfen.

Das Problem hat eine Zeile verursacht.

Ich habe ein Zeile vergessen die den Titel wiedergibt :)

Thanks nochmals an Michael_B auch dein Tip war sehr hilfreich mit den code anweisungen.

Thema kann also von mir aus geschlossen werden.

Greetz Dr-Pepper
 
  • #7
Hallo,

ich hätte da ein Problem mit den Sicherheitseinstellungen meiner Festplatte unter Windows 7: Ich wollte auf einem Notebook (Windows 7 Home Edition) die Zugriffsrechte für einen Benutzer (kein Admin) verwalten. Ich haber keine Ahnung wie es passiert ist, aber anscheinend war ich nicht in den Ordnereigenschaften, sondern in den Eigenschaften von C:\ unterwegs und habe den Vollzugriff für alle User verweigert. Damit nicht genug, während des Vorgangs ist das System auch noch hängen geblieben. Bei "C.\" handelt es sich um die Systemplatte (inklusive einiger sonstiger Files).

Hat jemand eine Idee, wie ich mir als Administrator wieder alle Rechte geben kann? Sobald ich auf C:\ in den Eigenschaften unter Sicherheit die Rechte vergeben will kommt die Fehlermeldung "Zugriff verweigert". Wenn ich in den erweiterten Einstellungen den Besitzer zuordnen will kommt "Zugriff verweigert". Irgendwie komisch, da ich als Admin angemeldet bin. Die Befehle in der Kommandozeile: "net user administrator" bzw. jene betreffend der Rechtevergabe funktionieren nicht. In die Datenträgerverwaltung komme ich nicht da er nicht auf C:\ zugreifen kann/darf!

Gibts sonst noch irgendeine Möglichkeit, wie ich ohne die Platte zu formatieren und neu aufzusetzen wieder auf die Festplatte zugreifen kann?

Vielen Dank im Voraus,
Oliver
 
  • #8
ALLE Benutzer heißt nunmal ALLE ;)

Evtl. kommst mit dem Account Administrator drauf,
net user administrator
ist ja auch so nicht richtig, siehe: Administrator-Konto aktivieren

net user Administrator /active

Evtl. musst du noch den BESITZ übernehmen:
Rechtsklick => Eigenschaften => Erweitert => Besitzer => Bearbeiten => Administratoren


Wenn der auch nicht draufkommt brauchst einen Unlocker, zu finden via Google - das Angebot ist riesig!
 
  • #9
Danke, aber

als account administrator kann ich auch nicht rauf "Systemfehler 5 aufgetreten. Zugriff verweigert"

Besitz übernehmen funktioniert nicht "Der Zugriffststeuerungseditor kann nicht geöffnet werden. Zugriff verweigert"

Und den Unlocker lasst er mich nicht installieren - > "zugriff verweigert"

Gäbs noch eine Alternative?!?

Danke!
 
  • #10
Hast versucht die CMD als Administrator auszuführen? Ohne kannst den Admin-ACC nicht aktivieren, erst dann kannst net use Account verwenden!

Versuch das mal: http://www.winboard.org/forum/win7-...nutzerkonto-wieder-aktivieren.html#post899341

Sonst bleibt nichts als z.B. mit Bart PE zu versuchen den Account zu aktivieren...
 
Thema:

Formulareingabe macht Probleme (PHP/MySQL)

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben