PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie bekomme ich Formular ( Variablenname ) in die MySQL



localhost
02-02-2003, 15:51
Wie bekomme ich das Formular ( die Variablenname ) in die mysql ??
Die taben sind schon gemacht.
Ich habs noch immer nciht hinbekommen das ich das mit den absenden in die mysql bekomme oder überhaubt mal in die Mysql.




<form name=blaf action="http://192.168.1.101/?m=gb_" method="post">
<?
$eintrag = "INSERT INTO gb (name, mail, titel, blabla)
VALUES ('$name', '$mail', '$titel', '$blabla')";
?>

<input type="text" name="name">

<input type="text" name="mail" >

<input type="text" name="titel" >

<textarea name="blabla" cols=70 rows=8> </textarea>

<input type="submit" value="Abschicken">
</form>

msi
02-02-2003, 16:41
so garantiert nicht!
du musst zuerst ein Formular ausgeben:

formular.html


....
<form action=/formular.php method=post>
<input type=text name=name>
....
<input type=submit name=add value=Eintragen>
</form>
...



formular.php


....
<?php
if (isset($_POST['add'])) {
$sql = "... values('" . $_POST['name'] . "'........
mysql_query($sql);
}
?>
...


bei ... musst du halt noch ergänzen

Gaert
02-02-2003, 16:50
Hi!
Du hast eigentlich nur mysql_query vergessen.
Ich habs noch ein bisschen schöner Formatiert und ein If davor gebastelt und dem Submit Button noch nen Namen gegeben, den ich abfrage.
Das von MSI ist auch richtig... bei seinem Beispiel ist Skript und HTML halt getrennt.

Da fällt mir gerade auf...
@MSI: Kein guter Stil überall die Anführungszeichen wegzulassen.



<form name="blaf" action="http://192.168.1.101/?m=gb_" method="post">
<?
if (isset($_POST['submit']) {
$eintrag = "INSERT INTO gb (name, mail, titel, blabla)
VALUES ('" .
$_POST['name'] . "', '" .
$_POST['mail'] . "', '" .
$_POST['titel'] . "', '" .
$_POST['blabla'] . "')";
mysql_query($eintrag);
}
?>
<input type="text" name="name">
<input type="text" name="mail" >
<input type="text" name="titel" >
<textarea name="blabla" cols=70 rows=8> </textarea>
<input type="submit" name="submit" value="Abschicken">
</form>

localhost
02-02-2003, 16:58
dan bekomme ich einen fehler
dan kommt Parse error: parse error in /var/www/g-book on line 25


<? $abfrage = "SELECT name FROM gb"; ?>

<table width=750 border=0 align=center cellpadding=1 cellspacing=1 bgcolor=000000>
<tr>
<td bgcolor=FFFFFF>
<b>G&auml;stebuch</b>
</td>
</tr>
</table>

<table cellpadding=1 cellspacing=1><tr><td></td></tr></table>

<table width=750 border=0 align=center cellpadding=1 cellspacing=1 bgcolor=000000>

<tr>
<td bgcolor=ffffff colspan=2>_</td>
</tr>

<form name=blaf action="http://192.168.1.101/?m=gb_" method="post">
<?
$eintrag = "INSERT INTO gb (name, mail, titel, blabla)
VALUES ('$name', '$mail', '$titel', '$blabla')";
?>
<?
if (isset($_POST['name']) {
$eintrag = "INSERT INTO gb (name, mail, titel, blabla)
VALUES ('" .
$_POST['name'] . "', '" .
$_POST['mail'] . "', "' .
$_POST['titel'] . "', '" .
$_POST['blabla'] . "')";
mysql_query($eintrag);
}
?>

<tr>
<td width=169 bgcolor=FFFFFF>Name</td>
<td width=598 bgcolor=FFFFFF><input type="text" name="name"></td>
</tr>

<tr>
<td width=169 bgcolor=FFFFfF>Mailadresse</td>
<td width=598 bgcolor=FFFFFF><input type="text" name="mail"></td>
</tr>

<tr>
<td width=169 bgcolor=FFFFfF>Titel</td>
<td width=598 bgcolor=FFFFFF><input type="text" name="titel"></td>
</tr>

<tr>
<td width=169 bgcolor=FFFFfF>bla bla</td>
<td width=598 bgcolor=FFFFFF><textarea name="blabla" cols=70 rows=8></textarea></td>
</tr>

<tr>
<td width=169 bgcolor=FFFFfF>cood</td>
<td width=598 bgcolor=FFFFFF>

</td>

</tr>

<tr>
<td bgcolor=ffffff colspan=2><center><input type="submit" value="Abschicken"></center></tr>
</form>
</table>

msi
02-02-2003, 17:13
Original geschrieben von Gaert
Hi!
Du hast eigentlich nur mysql_query vergessen.
Ich habs noch ein bisschen schöner Formatiert und ein If davor gebastelt und dem Submit Button noch nen Namen gegeben, den ich abfrage.
Das von MSI ist auch richtig... bei seinem Beispiel ist Skript und HTML halt getrennt.

Da fällt mir gerade auf...
@MSI: Kein guter Stil überall die Anführungszeichen wegzulassen.


das war jetzt auch nur schnell geschrieben. Normalerweise mach ich schon Anfürhungszeichen.
Das formular und den php-code hab ich bewusst getrennt (mach ich normal nicht), da localhost hier schon öfter solche Fragen gestellt hat und scheinbar das ganze mit php noch nicht so ganz versteht. (man schaue sich mal seine BEiträge an :D).

msi
02-02-2003, 17:16
@localhost,
du hast in Zeile 25 " ' anstatt ' " geschrieben.
außerdem kannst du das:


<?

$eintrag_=_"INSERT_INTO_gb_(name,_mail,_titel,_blabla)

VALUES_('$name', '$mail', '$titel', '$blabla')";

?>

raustun, $eintrag wird doch danach neu gesetzt und auf POST Variablen solltest du mit $_POST['varname'] zugreifen und nicht einfach mit $varname.

localhost
02-02-2003, 17:46
kann mir mal jemand das so posten wie es geht ich hab jetzt so viel docs gelsen und pla pla pla und ich bekomme es nicht hin .,,.,

msi
02-02-2003, 17:48
Original geschrieben von localhost
kann mir mal jemand das so posten wie es geht ich hab jetzt so viel docs gelsen und pla pla pla und ich bekomme es nicht hin .,,.,

du hast in Zeile 25 " ' anstatt ' " geschrieben, hast du das ausgebessert??
wenn du das gemacht hast, sollte es funktionieren!

silvercross
03-02-2003, 15:10
formular.php


<form action=senden.php method=post>

<input type=text name=Vorname>
<input type=text name=Nachname>
<br>
<input type=submit value=Speichern>
</form>


senden.php

$query = "INSERT INTO TABELLE(Vorname,Nachname) VALUES('$Vorname','$Nachname')";

mysql_query($query);

mfg
Michael

msi
03-02-2003, 15:41
Original geschrieben von silvercross
formular.php


<form action=senden.php method=post>

<input type=text name=Vorname>
<input type=text name=Nachname>
<br>
<input type=submit value=Speichern>
</form>


senden.php

$query = "INSERT INTO TABELLE(Vorname,Nachname) VALUES('$Vorname','$Nachname')";

mysql_query($query);

mfg
Michael

auf eine POST Variable direkt mit $varname zuzugreifen ist keine gute idee!
machs lieber mit $_POST['varname']

silvercross
04-02-2003, 07:35
ja . gebe ich dir recht, ist ein schönerer Programmierstil, aber da bin i selbst schlampig ;-)

mfg
Michael

localhost
07-02-2003, 18:49
Original geschrieben von msi
du hast in Zeile 25 " ' anstatt ' " geschrieben, hast du das ausgebessert??
wenn du das gemacht hast, sollte es funktionieren!



in zeile 25 steht

if (isset($_POST['name']) {