PHP mySQL DB eintrag

bogys

Cadet 3rd Year
Registriert
Feb. 2007
Beiträge
50
moin

ich hab da ma nen kleines problem muss ne registrierung schreiben.. sprich daten eingeben und die werden denn in meiner db abgespeichert..

DB steht
HP steht
so nun hier mein script sagt mir mal bitte was fehlt oder was falsch is..


89: <?php
90: session_start();
91: $connect = mysql_connect("SERVER","MEIN-NICK","MEIN-PW");
92: mysql_select_db("onlineshop");
93: $sql= "INSERT INTO `users` ( `UserID` , `vname` , `nname` , `ort` , `plz` , `strasse` , `email` , `passwort` );
94: $sql= "VALUES ('""', '" .$_POST['vname']. "', '" .$_POST['nname']. "', '" .$_POST['ort']. "', '" .$_POST['plz']. "', '" .$_POST['strasse']. "',
'" .$_POST['email']. "', '" .$_POST['passwort']. "')";
95: mysql_close($connect);
96:
97: php?>


z.z. bekomm ich folgenden fehler .. Parse error: parse error, unexpected T_STRING in C:\localhost\regis.php on line 94



würd mich über eure hilfe freun =)
 
Zuletzt bearbeitet:
In Z. 93 fehlt am Ende ein Gänsefüßchen. :)
Ausserdem überschreibt Z. 94 die Z.93.

So in der Art zusammenfassen:

$sql= "INSERT INTO `users` ( `UserID` , `vname` , `nname` , `ort` , `plz` , `strasse` , `email` , `passwort`) VALUES ('', '" .$_POST['vname']. "', '" .$_POST['nname']. "', '" .$_POST['ort']. "', '" .$_POST['plz']. "', '" .$_POST['strasse']. "','" .$_POST['email']. "', '" .$_POST['passwort']. "')";
 
Zuletzt bearbeitet:
ah ok =) thx habs geändert jetzt kommt

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\localhost\regis.php on line 94
 
VOR
mysql_close($connect);
fehlt natürlich noch ein mysql_query($sql);

Poste nochmal den ganzen code wie du jetzt hast.
Ansonsten kann es sich nur noch um irgend ein falsches oder fehlendes Hochkomma oder Gänsefüßchen handeln.
 
89: <?php
90: session_start();
91: $connect = mysql_connect("****","****","****");
92: mysql_select_db("onlineshop");
93: $sql= "INSERT INTO `users` ( `UserID` , `vname` , `nname` , `ort` , `plz` , `strasse` , `email` , `passwort` )VALUES ('""', '" .$_POST['vname']. "', '" .$_POST['nname']. "', '" .$_POST['ort']. "', '" .$_POST['plz']. "', '" .$_POST['strasse']. "', '" .$_POST['email']. "', '" .$_POST['passwort']. "')";
94: mysql_query($sql);
95: mysql_close($connect);
96:
97: php?>
 
ja klar du hast meine Beispiel nicht richtig übernommen.
FALSCH = VALUES ('""',
RICHTIG = VALUES ('',
 
jo cool die page wird wieder angezeigt

jetzt mault er nur noch wegen der session rum... is es besser die session nich gleich am anfang wennd er benutzer auf die index.php kommt zu starten ?? oder muss ich die auf jeder page starten ??

naja jetzt steht hier

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\localhost\regis.php:17) in C:\localhost\regis.php on line 90

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\localhost\regis.php:17) in C:\localhost\regis.php on line 90
 
Der Fehler kommt, wenn schon Daten ausgegeben wurden, bevor die Session gestartet ist.
Du musst die Session einmal, VOR irgendwelchen Ausgaben (echo, print etc.) starten.
Am besten in eine include legen und auf jeder php-Seite ganz oben einbinden, aber nicht innerhalb von weiteren includes nochmal!
Es sei denn sie wurde vorher geschlossen oder zerstört.
 
ok

mir is gerad aufgefallen das zwar kein fehler mehr angezeigt wird außer halt das mit der session..
aber keine daten in die db übetragen werden...
also es sieht so aus das ein eintrag zwar dazu kommt aber leer ist, sprich keine daten enthält


hier mal nen größeres stück aus dem code

<form>
<u><h1><font face="Tw Cen MT Condensed"><div align="center">Registrierung</div></font></h1></u>
<table align="center" valign="top">
<tr>
<td><font face="Tw Cen MT Condensed">Vorname</font></td>
<td><input type="Text" name="vname" value="name" size="" maxlength=""></td>
</tr>
<tr>
<td><font face="Tw Cen MT Condensed">Name</font></td>
<td><input type="Text" name="nname" value="name2" size="" maxlength=""></td>
</tr>
<tr>
<td><font face="Tw Cen MT Condensed">Ort</font></td>
<td><input type="Text" name="ort" value="ort" size="" maxlength=""></td>
</tr>
<tr>
<td><font face="Tw Cen MT Condensed">PLZ</font></td>
<td><input type="Text" name="plz" value="plz" size="" maxlength=""></td>
</tr>
<tr>
<td><font face="Tw Cen MT Condensed">Straße</font><br></td>
<td><input type="Text" name="strasse" value="str" size="" maxlength=""></td>
</tr>
<tr>
<td><font face="Tw Cen MT Condensed">E-Mail</font> </td>
<td><input type="Text" name="email" value="email" size="" maxlength=""></td>
</tr>
<tr>
<td><font face="Tw Cen MT Condensed">Passwort</font></td>
<td><input type="Password" name="pw" value="" size="" maxlength=""></td>
</tr>
<tr>
<td><font face="Tw Cen MT Condensed">Passwort(wiedeholen)</font> </td>
<td><input type="Password" name="pww" value="" size="" maxlength=""> </td>
</tr>
<tr align="center">
<td><input type="image" src="pics/regis1.jpg" alt="Absenden"> </td>
<td><a href="agb.php"><img src="pics/agb.jpg" width="108" height="22" border="0" alt=""></a></td>
</tr>
</table>
<?php
session_start();
$connect = mysql_connect("****","****","****");
mysql_select_db("onlineshop");
$sql= "INSERT INTO `users` ( `UserID` , `vname` , `nname` , `ort` , `plz` , `strasse` , `email` , `passwort` )
VALUES ('', '" .$_POST['vname']. "', '" .$_POST['nname']. "', '" .$_POST['ort']. "', '" .$_POST['plz']. "', '" .$_POST['strasse']. "', '" .$_POST['email']. "', '" .$_POST['passwort']. "')";
mysql_query($sql);
mysql_close($connect);

php?>


</form>
 
Der <form> Tag ist etwas unvollständig, gelinde gesagt. ;) (Name, method, action etc. fehlen)
Es werden wohl dadurch gar keine Post-Daten übermittelt und folglich nur leere Variablen in die DB eingetragen. ^^
 
kann ich das iwo nachlesen wie ich das machen muss?? und wenn wo ? =)
 
jo vielen dank
werd denn ma weiter bsteln =)

ma sehen was da noch alles kommt ^^
kenn mich halt nur bischen dmait aus und muss da jetzt so enn ganzes projekt mit machen oO ... naja ma ssehen


aber danke schonmal =)

mfg bogys
 
<?
session_start();
?>

<form name="form" method="post" action="xxx.php">
<u><h1><font face="Tw Cen MT Condensed"><div align="center">Registrierung</div></font></h1></u>
<table align="center" valign="top">

...blablubb

</form>

<?
$connect = mysql_connect("****","****","****");

...blablubb

?>


Achso so richtig sicher und gut ist dein script natürlich dadurch auch noch nicht.
den php-insert teil würde ich nur mit Auswertung/Plausibilitätscheck der übergebenen Variablen abarbeiten lassen.
Und das ganze gleich am Anfang der Seite vor dem Html-Teil.
Wozu Du überhaupt die Session startest weiss ich jetzt auch net. Ich hoffe mal du verarbeitest/prüfst die Session-ID an anderer Stelle?
 
Zuletzt bearbeitet:
ach hier ^^ eine frage noch ^^

ich will das pw mit md 5 verschlüsseln... also auf der page verschlüsseln und den daraus entstandenen code in der db speichern.. z.z. wird alles in die db übernommen bis auf das PW.. weder im klartext noch als vershclüsselter text... wo muss ich das md5() mit reinschreiben ?
 
hast du icq, teamspeck oder skype?? ^^ würd das ganze nen bsichen einfache rmachen ^^
 
wie s das jetzt.. ich will das man alle felder ausfüllen muss und das die beiden pw felder ausgefüllt werden müssen

<?php

if ($pw=$pww){
dann gehts weiter
}
else{
echo "error.php"
}
php?>
 
Wenn dann if ($pw == $pww)

Naja dann musst Du jede übergebene Variable einzeln auf Inhalt und Länge (strlen) prüfen.
Kannste alles ganz einfach mit If-Anweisungen machen.

Mit regex, arrays, Sessionverwaltung uvm. will jetzt garnicht anfangen, habe gerade keinen Bock, einen kompletten Programmier- und php-Kurs zu erteilen. ;)
Ich kann Dir nur raten, schau Dir die Kommentare zu den einzelnen Funktionen auf php.net an. Da findet man viele Beispiele und Denkanstösse. Ich habs mir auch selbst beigebracht, durch viel Lesen und try & error.
 
^^ jo danke .. hab noch 6 wochen zeit werd da wohl das ein oder andere ncoh lern müssen ^^

aber dnake schonmal
 
Zurück
Oben