Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Formular --> Datenbank --> ich �berseh irgendwas ;-) [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Formular --> Datenbank --> ich �berseh irgendwas ;-)


 
chrpun
29-12-2005, 08:29 
 
hallo Leute... �hm. Ich will einfach nur eben eine MySQL Tabelle ('admins') mit Leben f�llen und hab mir der Einfachheit halber (dachte ich zumindestens;) ) ein HTML/PHP Formular gebastelt. Nur das ich irgendwas �bersehe.... aber ich wei� nicht was:dontknow:

also hier mal eben die paar zeilen code:

DAS FORMULAR index.php
<body>
<form id="form_user" name="form_user" method="post" action="create_user.php">
User: <input type="text" name="user" /><br />
Passwort: <input type="text" name="pass" /><br />
Description:<input type="text" name="descr" /><br />
<input type="submit" name="Submit" value="Senden" />
</form>
</body>
(die auskommentierten Zeilen sind noch von nem vorherigem Versuch da. macht denk ich kein Unterschied ob man die vorher neu belegt oder?!?!)
ok..noch ziemlich einfach... aber jetzt....DIE AUSWERTUNG create_user.php :confused:
<?php
#Datenbankverbindung steht......

# $user = $_POST['user'];
# $pass = md5($_POST['pass']);
# $descr = $_POST['descr'];
mysql_query("INSERT INTO admins VALUES ('',$_POST['user'],md5($_POST['pass']),$_POST['descr'])")
or trigger_error(mysql_error(),E_USER_ERROR);
echo 'lol..alles drin ;-))';

?>

soo... dieser SQL-Befehl liefert brigens folgende Felhler Meldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\mysql\create_user.php on line 14

ich wei das Parse Error ein Tippfehler ist und das ihr sowas hier nicht gern seht. Aber ich wei gottverdammt nicht wo der liegt ;-) (und was will der mit Whitespace (Leerzeichen?!?!)

(P.S. die Spalten in der Tabelle 'admins' sind : ID (auto_increment), user, password, description)

so..nun hoffe ich auf Antwort....by TobiaZ: Code umgebrochen, nchstes mal befolgst du bitte die Regeln. ;)

 
asp2php
29-12-2005, 09:19 
 
du mchtest den Umgang mit Array-Werte in String nochmals erlernen. http://www.php.net/manual/en/language.types.string.php

 
illusion
29-12-2005, 09:25 
 
glaubst du, wenn ID (auto_increment) ist, dass du in der INSERT Anweisung
'',
schreiben must?[

 
chrpun
29-12-2005, 09:35 
 
Original geschrieben von illusion
glaubst du, wenn ID (auto_increment) ist, dass du in der INSERT Anweisung
'',
schreiben must?[
hm ja.. denke schon. weil sonst will er den user namen in die ID spalte rein setzen was ja aber logischerweise net geht.

es gibt glaub ich zwar auch was wie

INSERT INTO admins ('Spalte 1', 'Spalte 2', 'Spalte 3') VALUES ('Wert zu 1', 'Wert zu 2', 'Wert zu 3')
aber das ist bei mir auch gescheitert. (vermutlich aus dem selben Grund wie mein momentaner Aufruf scheitert?!?)

Original geschrieben von asp2php
du mchtest den Umgang mit Array-Werte in String nochmals erlernen.

hat es was mit " und ' zu tun, oder forsche ich da in die falsche Richtung ?!?:dontknow: (und wo hab ich einen Array:confused: )

 
perfi
29-12-2005, 09:52 
 
Warum verwendest du die $_POST Variablen im query wenn du sie vorher zuweist?

btw. hast du dir schonmal die Variablen ($user, $pass, $descr) ausgeben lassen? Bekommst das gewnschte Ergebnis?

 
chrpun
29-12-2005, 09:58 
 
Original geschrieben von perfi
Warum verwendest du die $_POST Variablen im query wenn du sie vorher zuweist?

btw. hast du dir schonmal die Variablen ($user, $pass, $descr) ausgeben lassen? Bekommst das gewnschte Ergebnis?

die variablen sind richtig belegt und gesetzt. hab ich berprft.

die belegung der variablen $user, $pass und $descr sind ja auskommentiert. ich hatte das vorher so probiert, aber aus irgendwelchen grnden (die ich jetzt nicht mehr wei:D ) hatte ich mich doch entschieden die $_POST variablen in die MySQL Query zu geben

 
perfi
29-12-2005, 10:04 
 
Original geschrieben von chrpun
hat es was mit " und ' zu tun, oder forsche ich da in die falsche Richtung ?!?:dontknow: (und wo hab ich einen Array:confused: ) [/B]

Ja es hat was mit ' zu tun, in deinem query!
Und ja du hast einen array -> $_POST ;)
Allerdings erkennt er die werte nicht wegen den ' die du vergessen hast.

 
prego
29-12-2005, 10:29 
 
<?php
$str = "Huhu, hallo, blaaa - und jetzt noch ne ".$arr['variable']." zum ausgeben";
?>

 
dragon90
29-12-2005, 12:19 
 
sorry falscher post :(

 
chrpun
29-12-2005, 20:49 
 
@perfi:
ok... $_POST ist n array.. hatte ich so noch nie drber nachgedacht ;-)

aber wenn ich zB $user mit $user = $_POST['user']; belegen kann, warum kann ich dann in der SQL-Query nicht auch genau diese Syntax verwenden ?!?

oh man.... ich werd noch verr�ckt... wo sollen den bitte noch mehr " ' " hin (wie perfi meint)

@prego:
die syntax ist mir klar... aber ich kann da jetzt keinen ZUsammenhang herstellen zu meinem Prob (oder ist er sooo offensichtlich das ich ihn dauert als selbstverst�ndlich �bersehe?!?)


EDIT:
oder muss ich mysql_query("INSERT INTO admins VALUES ('','$_POST[user]','md5($_POST[pass])','$_POST[descr])'") benutzen?!?:)

 
perfi
30-12-2005, 09:32 
 
funktioniert es denn so?
Wenn nicht dann schau dir bitte den Link von asp2php an ;)


ok... $_POST ist n array.. hatte ich so noch nie drber nachgedacht ;-)

aber wenn ich zB $user mit

PHP:
$user = $_POST['user'];

belegen kann, warum kann ich dann in der SQL-Query nicht auch genau diese Syntax verwenden ?!?

Kannst du! Der eine macht es so, der andere so... ist geschmacksache! Gehen tut es auf jeden Fall ;)

 
chrpun
02-01-2006, 02:24 
 
$user = $_POST['user'];
$pass = md5($_POST['pass']);
$descr = $_POST['descr'];


mysql_query("INSERT INTO admins VALUES ('','$user','$pass','$descr')")
or trigger_error(mysql_error(),E_USER_ERROR);
echo 'lol..alles drin ;-))';


so geht es! *freu*

aber eine frage hab ich noch: wie kann ich nun verhindern dass ich fr die ID-Spalte immer die zwei Hochkommatas setzten muss??
(n kleiner codeschnipsel wre angebracht:D )

danke leute

 
penizillin
02-01-2006, 02:26 
 
1. wozu? :goth:

2. brich bitte deinen code um. so schwer ist es nicht.

3. deine zuweisungen ergeben keinen sinn.

 
TobiaZ
02-01-2006, 02:47 
 
aber eine frage hab ich noch: wie kann ich nun verhindern dass ich fr die ID-Spalte immer die zwei Hochkommatas setzten muss?? RTFM

 
chrpun
02-01-2006, 03:01 
 
@penizillin:
zu 1) es interessiert mich einfach
zu 2) sorry, hab flat-widescreen (1650px) habs nicht bemerkt
zu 3) ich werde die variablen auf der seite noch weiterverwenden. und es ist einfacher $user zu verwenden als $_POST['user'], oder??

@TobiaZ:
genau auf diese 4 buchstaben hab ich GEwartet.... aber ERwarten (bdde, bdde) tu ich immernoch einen codeschnipsel lol

 
TobiaZ
02-01-2006, 14:19 
 
Deinen Codesnippet gibts eben genau dort. Guck dir mal die verschiedenen INSERT Syntax an.

 
pingzaong
02-01-2006, 14:59 
 
<?php
#Datenbankverbindung steht......

$pwd = md5($pass);

mysql_query("INSERT INTO admins (user, pass, descr) VALUES ('$user','$pwd','$descr')");
or trigger_error(mysql_error(),E_USER_ERROR);
echo 'lol..alles drin ;-))';

?>


dies ist doch die einfachste Lsung, nicht??? und funktioniert einwandfrei.
Prost :beer:

ach ja, msste dieses Thema nicht ins MySQL-Forum verschoben werden?

 
chrpun
02-01-2006, 17:53 
 
danke pingzaong....:grin: :danke:


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