"We are back" « oc.at

php noob - formular :-(

guvi 03.03.2003 - 12:39 1406 24
Posts

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
Hallo Leute.

hab mich jetzt endlich dazu aufraffen können, mich ein bisschen mit PHP, MySQL usw. zu beschäftigen. doch leider steh ich schon vor meinem ersten problem.

habe ein nettes tut gefunden über das thema. habe mittlerweile phpmyadmin usw. zum laufen bekommen, auch meine erste sql datebank erstellt, daten eingetragen, auf einer hp ausgelesen...

nun möchte ich gerade die befehler erlernen, mit denen man mittels webformular daten in die sql datenbank schreiben kann. doch leider steht auf einmal im TUT: "Ich setze jetzt also ein Formular voraus, in das die Url, der Name des Links, der Name des Seitenbesitzers, eine Bannerurl und eine Beschreibung eingetragen werden. Diese Sachen speichern wir in den Variablen url, hpname, name, banner und beschreibung. "

Doch gerade da steh ich an. wie muss ein formular aussehen, mit denen ich meine variablen definieren kann um sie danach in meine sql-db eintragen zu können!?? :(

das ist ein standardformular... und wie muss ich dann die var. definieren?

<form name="linkseintrag" method="post" action="">
<p>URL:
<input type="text" name="url">
</p>
<p>URLName:
<input type="text" name="urlname">
</p>
<p>Name:
<input type="text" name="name">
</p>
<p>Banner:
<input type="text" name="banner">
</p>
<p>Beschreibung:
<input type="text" name="beschreibung">
</p>
<p>
<input type="submit" name="Submit" value="Abschicken">
</p>
</form>


bitte um eure hilfe!

guvi

jAcKz

Legend
fool martyr
Avatar
Registered: Dec 2000
Location: cross
Posts: 21376
nunja, jetzt brauchst du nurnoch den filenamen als action eintragen und die in den input feldern eingegebenen werte werden mit dem jeweiligen "name" als variablenname übergeben! :)

noledge

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6838
bei action musst du eintragen, welches script ausgeführt werden soll - also entweder ein anderes file, oder das selbe file, wo du am anfang checkst, ob ein submit gemacht wurde oder nicht.
(in deinem fall 'if isSet($POST_[submit])' )

die variablen werden dann anhand des namens definiert, nämlich $_POST[banner] , $_POST[beschreibung], etc.
bei register_globals = on in der php.ini würd auch $beschreibung und $banner funktionieren; trotzdem ist es generell besser mit Register globals = off.

würdest du die variablen per GET übermitteln, hiesse es $_GET[beschreibung].

ich hoffe, das hilft dir weiter, ansonsten frag einfach :)

mad-mat

Addicted
Avatar
Registered: Feb 2001
Location: Undercity
Posts: 426
den code für die abfrage lass die einfach vom phpadmin geben, musst nur ein include für dbconnect und mit action"einfügenabfrage.php (die datei mit dem code der abfrage)" sollt das dann funzen

Gruß, M.

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
Zitat von mad-mat
den code für die abfrage lass die einfach vom phpadmin geben, musst nur ein include für dbconnect und mit action"einfügenabfrage.php (die datei mit dem code der abfrage)" sollt das dann funzen

Gruß, M.

das würd mich mal interessieren, wie das geht?

danke auch den anderen... kann mir schon vorstellen wie das gehen soll.

hab jetzt eine eintrag.php gemacht.

wenn jemand den submit-button drückt, werden die inhalte vom formular übergeben.

in eintrag.php steht jetzt drin (nachdem am anfang wieder ein dbconnect gemacht wurde. ich nehm mal an, dass muss auf jeder seite passieren, die zugriff auf die db hat) :

<?
$eintrag = "INSERT INTO links (url, urlname, name, banner,
beschreibung) VALUES ('$url', '$urlname', '$name', '$banner',
'$beschreibung')";
?>

<?
$eintragen = mysql_query($eintrag);
?>



jetzt wird hier sofort mit den variablen $url usw. gearbeitet. weiss php, dass das automatisch die formularfelder sind oder muss i davor noch extrig die variablen definieren, wie oben angesprochen mit:

$url = $HTTP_POST_VARS["url"];


guvi

mad-mat

Addicted
Avatar
Registered: Feb 2001
Location: Undercity
Posts: 426
nö, geht automatisch
variablen-name == formularfeld-name
variablen-wert == formularfeld-wert

ja, dbconnect in jede seite rein

Gruß, M.

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
:bash: :bash:

danke leute.... vom code her hätte es eh die ganze zeit gestimmt! nur der user vom dbconnect hatte keine schreibrecht und darum keine inhalt in meiner db.

aber was ich noch net ganz check ist die formatierung von PHP...

momentan wenn ich mir die daten ausgeben lasse, steht alles nur in einer zeile... gibts einen befehl, der pro datensatz eine neue zeile beginnt? :)

guvi

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
du meinst, etwas wie..?
echo "<BR>"; // insert any HTML tag you like

noledge

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6838
html ;)

<br> für einen zeilenumbruch zB ;)

edit: 0wned by atrox

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
Zitat von noledge
html ;)

<br> für einen zeilenumbruch zB ;)

edit: 0wned by atrox

supi cool! *stolzbin..phpaneinemtagmal*

<?
$abfrage = "SELECT * FROM links ORDER BY url";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->url; echo " ";
echo $row->urlname; echo " ";
echo $row->name; echo " ";
echo $row->banner; echo " ";
echo $row->beschreibung; echo " "; echo "<BR>";
}
?>

gibts für sowas eine elegantere lösung oder muss ich das echo " " immer hinten dazu?

bzw. wie sieht das dann aus, wenn ich z.b. den URL FETT schreiben möcht?

guvi

noledge

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6838
echo "$row->url $row->urlname $row->name $row->banner $row->beschreibung<BR>";

zb ;)

für fetten url zB

echo "<b><a href=\"link.php\">link</a><b>";

das <b> macht 'bold'. aufpassen bei anführungszeichen in solchen echo's, die müssen escaped werden -> \"

edit: darn, verfranst :)
für fetten url

echo "<b>$row->url</b> $row->urlname $row->name $row->banner $row->beschreibung<BR>";

das hast wohl gemeint ;)

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
Zitat von noledge
echo "$row->url $row->urlname $row->name $row->banner $row->beschreibung<BR>";

echo "<b>$row->url</b> $row->urlname $row->name $row->banner $row->beschreibung<BR>";

das hast wohl gemeint ;)

yop... genauso hab ich mir das vorgestellt. :D

cool. fürn 1. tag php gar netmal so übel... jetzt hab ich wenigstens einen ansporn zum weitermachen. wenn i nix zambracht hätte, würd i wieder aufgeben ;)

noledge

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6838
schau dir noch ein bisschen html an - dan bekommst das ganze auch in eine tabelle rein, ist dann schöner anzusehen :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von guvi
supi cool! *stolzbin..phpaneinemtagmal*

<?
$abfrage = "SELECT * FROM links ORDER BY url";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->url; echo " ";
echo $row->urlname; echo " ";
echo $row->name; echo " ";
echo $row->banner; echo " ";
echo $row->beschreibung; echo " "; echo "<BR>";
}
?>

gibts für sowas eine elegantere lösung oder muss ich das echo " " immer hinten dazu?

bzw. wie sieht das dann aus, wenn ich z.b. den URL FETT schreiben möcht?

guvi
du kannst strings mit einem "." zusammenstückeln, dabei isses praktisch egal welche datentypen du da zusammenwirfst zb:
Code: PHP
echo $integer.". Ergebnis: ".$var."=".$ergebnis;
könnte jetzt "1. Ergebnis: x=25" ausgeben ;)

ps: frontpage-user? :rolleyes:

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
Zitat von watchout
du kannst strings mit einem "." zusammenstückeln, dabei isses praktisch egal welche datentypen du da zusammenwirfst zb:
Code: PHP
echo $integer.". Ergebnis: ".$var."=".$ergebnis;
könnte jetzt "1. Ergebnis: x=25" ausgeben ;)

ps: frontpage-user? :rolleyes:

das hab ich schon mitbekommen. jetzt muss ich mir mal das alles genau noch mal anschaun bez. formatierung usw.
gin grad am tüfteln wie man jetzt mit meiner variablen $url gleich einen link macht und net einfach nur anzeigen lässt...

das wird halt noch ein bisschen arbeit, bis ich was brauchbares zambring...

und nein kein frontpage. verwende dreamweaver in der codeansicht.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz