PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : INSERT und mysql


Stella
11.07.2003, 15:23:54
Hallo,

ich habe folgendes Problem: Ich habe eine Tabelle kontakt, in die möchte ich name, abteilung, telefon, fax, mobil und email über eine eingabe datensätze hinzufügen.

Ich habe mir jetzt ein formular gemacht:
<FORM name="form1" method="post" action="insert.php">
<TABLE width="450" border="0" cellspacing="5" cellpadding="0">
<TR><TD>Name</TD><TD><INPUT type="text" name="name"></TD></TR>
<TR><TD>Abteilung</TD><TD><INPUT type="text" name="abteilung"></TD></TR>
<TR><TD>Telefon</TD><TD><INPUT type="text" name="telefon"></TD></TR>
<TR><TD>Fax</TD><TD><INPUT type="text" name="fax"></TD></TR>
<TR><TD>Handy</TD><TD><INPUT type="text" name="mobil"></TD></TR>
<TR><TD>Email</TD><TD><INPUT type="text" name="email"></TD></TR>
<TR><TD>&nbsp;</TD>
<TD><INPUT type="submit" name="Abschicken" value="Abschicken"></TD></TR>
</TABLE>
</FORM>


Ich habe das script in eine andere datei, damit ich leichter arbeiten kann.<?php

$tabelle = "kontakt";
$sql="INSERT_INTO_$tabelle_(name,_abteilung,_telefon, fax, mobil, email)_VALUES_('$name', '$abteilung', '$telefon', '$fax', '$mobil', '$email')";

$result=mysql_query($sql);

?>


Geht das so überhaupt?

c4
11.07.2003, 15:33:29
Ah, eine Mac-Nutzerin.... ;)

Theoretisch kann das alles so klappen, wie Du das willst.

Falls es nicht klappt:
"Vermutlich das:
Da seit PHP Version 4.1 ein neues Sicherheitskonzept aktiviert ist, musst Du alle übergebenen Variablen mit
$_GET - für Urlparameter
$_POST - für mit method=post versendete Parameter
$_REQUEST - $_POST & $_GET zusammen
$_COOKIE - für Cookies
$_FILES - für hochgeladene Files
$_SERVER - für Servervars (z.B. PHP_SELF)
$_ENV - für Umgebungsvars
ansprechen. Also ehemals $str mit $_GET['str']
Oder Du setzt in der php.ini register_globals (o.ä.) auf on. Davon rate ich aber ab."

chris17
11.07.2003, 15:33:49
Hi Stella,

hast Du es schon ausprobiert? Sollte schon klappen.
Es sei denn, Du hast Register-Globals=Off, dann müsstest Du statt $name -> $_POST['name'] usw. schreiben...

Gruss

chris17
Zweiter!

c4
11.07.2003, 15:38:23
Standardposts haben Vorrang! :)

Stella
11.07.2003, 15:49:06
$sql="INSERT_INTO_$tabelle_(name,_abteilung,_telefon, fax, mobil, email)_VALUES_($_POST['name'], $_POST['abteilung'], $_POST['telefon'], $_POST['fax'], $_POST['mobil'], $_POST['email'])";

So in etwa? Leider bekomm ich da mal wieder einen TString fehler...

c4
11.07.2003, 15:53:33
In welcher Zeile ist der String-Fehler und was steht dort?

Mach es außerdem mal lieber so:
INSERT INTO $tabelle (name, abteilung, telefon, fax, mobil, email) VALUES (".$_POST['name'].", ".$_POST['abteilung'].", ".$_POST['telefon'].", ".$_POST['fax'].", ".$_POST['mobil'].", ".$_POST['email'].")";
Damit klammerst Du alle Variablen aus der Zeichenkette aus. Macht sich besser.

Stella
11.07.2003, 16:00:01
So sah die Fehlermeldung aus:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /homepages/18/d11606198/htdocs/colordruck/php/insert.php on line 21

Das ist der obengenannte 4sql ...

Ich habe jetzt deins mal eingebaut und bekomme:
Parse error: parse error in /homepages/18/d11606198/htdocs/colordruck/php/insert.php on line 21

Nichts schöners als an einem Freitag
als sowas... ;-)

c4
11.07.2003, 16:03:40
Hab auch was vergessen:
INSERT INTO $tabelle (name, abteilung, telefon, fax, mobil, email) VALUES ('".$_POST['name']."', '".$_POST['abteilung']."', '".$_POST['telefon']."', '".$_POST['fax']."', '".$_POST['mobil']."', '".$_POST['email']."')";
Das ändert zwar nix an der Fehlermeldung aber egal.

Zeig mal bitte ein wenig von dem Code rings um die Fehlermeldung. Wenn's nicht zu viel ist einfach alles. Ach ja, bitte die Zeile mit dem Fehler kenntlich machen.

Stella
11.07.2003, 16:05:36
<?php
////////////////////////////////Datenbankverbindung

$host = "";
$user = "";
$passwort = "";
$db = mysql_connect ($host,$user,$passwort);

//////////Anfrage Connection DB
if($db)
{
echo"Verbindung erfolgreich";
}
else
{
echo"Verbindung wurde nicht aufgebaut";
}

//////
$tabelle = "kontakt";
INSERT INTO $tabelle (name, abteilung, telefon, fax, mobil, email) VALUES (".$_POST['name'].", ".$_POST['abteilung'].", ".$_POST['telefon'].", ".$_POST['fax'].", ".$_POST['mobil'].", ".$_POST['email'].")"; ////Fehlerline

$result=mysql_query($sql);

?>

Stella
11.07.2003, 16:07:40
Wie blöd... selbst schuld wenn man die $sql löscht...
Aber leider geht es immer noch nicht...

c4
11.07.2003, 16:09:38
Dann schreib mal
$result=mysql_query($sql) or die(mysql_error($db));

Oder kommt auch so schon eine Fehlermeldung?

chris17
11.07.2003, 16:10:26
Schau Dir noch mal genau c4's SQL Anweisung an!
Du hast die ' vergessen!

Stella
11.07.2003, 16:11:21
Das ist die Fehlermeldung:

No Database Selected

???? hab ich wohl was vergessen hä?

c4
11.07.2003, 16:12:27
Ja, das ist wohl wahr:
mysql_select_db('db_name', $db);

Stella
11.07.2003, 16:14:57
es geht... danke für die liebe und schnelle hilfe...

c4
11.07.2003, 16:16:40
Kein Problem nicht.
Hast Du den Beitrag von chris gelesen und auch was daraus geschlussfolgert? Wenn ja, dann gut. Wenn nicht, dann nachholen. Empfiehlt sich.

Stella
11.07.2003, 16:23:25
wenn mir noch einer sagt was mit c4 gemeint ist, mach ich das sofort...

c4
11.07.2003, 16:25:48
Das ist mein dummer Nick, das Ding, mit dem mich irgendwie jeder hier anspricht. ;)

Es geht dabei um diesen Teil des Beitrages:
INSERT INTO $tabelle (name, abteilung, telefon, fax, mobil, email) VALUES ('".$_POST['name']."', '".$_POST['abteilung']."', '".$_POST['telefon']."', '".$_POST['fax']."', '".$_POST['mobil']."', '".$_POST['email']."')";
Wenn Du die ' nicht in Deiner Abfrage drin hast, dann solltest Du die noch hinzufügen.

Stella
11.07.2003, 16:30:07
ok... :-) mach ich.
das ist mir zwar klar wie das mit den string geht, aber sobald es mehr wird, stolper ich quasi über mich selbst und flieg hin.

chris17
11.07.2003, 16:50:06
@Stella
Apropos "Benutzer Profil" :-)
Schwetzingen bei Ketsch/Hockenheim?
Einen schönen Gruss über den Rhein aus Speyer!
wenn mir noch einer sagt was mit c4 gemeint ist, mach ich das sofort...Hihihi, ich könnt' mich wegwerfen...

toweter
11.07.2003, 17:17:24
Speier?
Da war ich grad...
Grüße aus KA ;)

chris17
12.07.2003, 03:07:03
Danke, Gruss zurück!