PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sehr viele Newbie Fragen



K3nny
19.05.2010, 15:07
Hey ho Coder !!


Ich hab mal ein paar anfänger fragen, kann mir mal jemand eine PN zu kommen lassen ??

Ich will hie nicht alle stellen !





Problem 1




?php
<?php
if( isset($_POST['token']) )
{
if($_POST['token'] == 'step2')
{

$db = mysql_connect("localhost","root","admin"); // Verbindung zu DB Herstellen ;-)
if(!$db)
{

die('Verbindung fehlgeschlagen: '.mysql_error()); // Verbindung Checken
}

mysql_select_db('',$db);


$sql = 'INSERT INTO user (username, pass, gid, kommentar) VALUES("'.$_POST['name'].'", "'.$_POST['passwort1'].'", "'.$_POST['groupID'].'", "'.$_POST['kommentar'].'")'; // Daten von POST �bernehmen
if(mysql_query($sql))
{
}
else
{
echo "Fehler beim Anlegen des Datensatzes!".mysql_error();
}

}
}

?>

<?php

$db = mysql_connect("localhost","root","admin"); // Verbindung zu DB Herstellen ;-)
if(!$db){
die('Verbindung fehlgeschlagen: '.mysql_error()); // Verbindung Checken
}


mysql_select_db('',$db);

$sql = 'SELECT user.*, groups.* FROM user, groups WHERE user.gid=groups.gid ORDER BY uid DESC'; //LIMIT 0,10

$res = mysql_query($sql);


echo'<div id="form" style="display:block"><form method="post" name="userverwaltung">'.
'<table width="100%" style="font-size:1.2em">'.
'<tr><td></td><th>uid:</th><th>Username:</th>'.
'<th>Gruppenname:</th></tr>';
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){
echo '<tr><td><input type="radio" name="userid" value="'.
$row['uid'].'"/></td><td align="center">'.$row['uid'].'</td><td align="center">'.
$row['username'].'</td><td align="center">'.$row['gruppe'].'</td></tr>';
}

echo '<tr><td><input type="radio" name="userid" value="neu"/>'.
'</td><td colspan="3">Neuer User</td></tr>';

echo '<tr><td colspan="4"><input type="submit" value="los"/>'.
'<input type="hidden" name="token" value="edit"/>'.
'<input type="submit" value="User l&ouml;schen.."'.
'onclick="return deletuser()"/></td></tr></td></tr>';

echo '</table></form></div>';

?>
<div id="show" style="display:none" >
<form name="form" align="center" method="post" onsubmit="checkform()">
<input type="hidden" name="token" value="step2"/>
<table cellspacing="2" cellpadding="2">
<tr>
<td>Accountname</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td></td>
<td id="font">(z.B. Spakolowe)</td>
</tr>
<tr>
<td>Gruppen ID:</td>
<td><input type="text" name="groupID"/></td>
</tr>
<tr>
<td></td>
<td id="font">(z.B. 1=Admin 2=Mod 3=USER)</td>
</tr>
<tr>
<td>Passwort</td>
<td><input type="password" name="passwort1"/></td>
</tr>
<tr>
<td></td>
<td id="font">(Ein Password halt!)</td>
</tr>
<tr>
<td>Kommentar</td>
<td><input type="text" name="kommentar"/></td>
</tr>
<tr>
<td></td>
<td id="font">(Irgendwas, wenns wichtig ist)</td>
</tr>

<input action="session.php" name="Weiter" type="submit" value="Okay!">
<input name="form" type="hidden">





Wie schaffe ich es hier, dass es den UPDATE SQL befehl ausführt, den User in die SQL-DB einträgt UND ich zusätzlich noch auf ne andere Seite kann ??



So, dass waren jetzt mal so ziemlich die größten Probleme von mir ;-)




Problem 2 hat sich grade geklärt ;-)


Sind nurnoch ein paar Offen ;-)

/push

jemand muss mir ja helfen können..


es ist wirklich sehr wichtig

fred777
20.05.2010, 12:21
Dann schilder nochmal genau deine Probleme und stell die Scripte übersichtlich hin.
Zu 1:

<?php

if(isset($_POST['token']) AND $_POST['token'] == 'step2') {

$db = mysql_connect("localhost","root","admin") or die('Verbindung fehlgeschlagen: '.mysql_error());
mysql_select_db('',$db);

$sql = 'INSERT INTO user (username, pass, gid, kommentar)
VALUES("'.mysql_real_escape_string($_POST['name']).'", "'.mysql_real_escape_string($_POST['passwort1']).'", "'.mysql_real_escape_string($_POST['groupID']).'", "'.mysql_real_escape_string($_POST['kommentar']).'")';

mysql_query($sql) or echo 'Fehler';
mysql_close($db);

?>

K3nny
20.05.2010, 15:07
Okay, also

Mein Problem ist es einen User mit dem Code anzulegen und dann im System anzulegen.

Das hier ist mein Formular um einen User zu erstellen.



<form name="form" align="center" method="post" onsubmit="checkform()">
<input type="hidden" name="token" value="step2"/>
<table cellspacing="2" cellpadding="2">
<tr>
<td>Accountname</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>
</td>
<td id="font">(z.B. Spakolowe)</td>
</tr>
<tr>
<td>Gruppen ID:</td>
<td><input type="text" name="groupID"/></td>
</tr>
<tr>
<td>
</td>
<td id="font">(z.B. 1=Admin 2=Mod 3=USER)</td>
</tr>
<tr>
<td>Passwort</td>
<td>
<input type="password" name="passwort1"/>
</td>
</tr>
<tr>
<td>
</td>
<td id="font">(Ein Password halt!)</td>
</tr>
<tr>
<td>Kommentar</td>
<td>
<input type="text" name="kommentar"/>
</td>
</tr>
<tr>
<td>
</td>
<td id="font">(Irgendwas, wenns wichtig ist)</td>
</tr>
<input name="Weiter" type="submit" value="Okay!">
<input name="form" type="hidden">



Nun mein Problem. Ich kann entweder den User NUR in der Datenbank anlegen
oder ich mach bei dem <form> ein aktion rein <form action="system.php"></form>

dann kann ich den User NUR am System anlegen.

hier ist der Code vom System.php



<?php

$command = "su www-data";
$command = "sudo useradd -p $_POST['passwort1'] $_POST['name'] -m";

$errorMessage = exec($command, $output);

echo count($output);

for ($i = 0; $i < count($output); $i++)
{
echo $output[$i]."<br/>";
}

echo $errorMessage."<br/>";
?>





Ein weiters Problem ist, dass wenn ich nach dem User anlegen (NUR DB) die seite Aktualisiere, wird mir der User nochmal angelegt.
Und da weiss ich auch keinen Rat wo und vorallem WIE ich da was ändern muss dass der User dann nur 1 mal angelegt bleibt ;-)


Ich hoffe das ist jetzt vertständlicher und ihr könnt mir helfen.

c4pone
20.05.2010, 19:07
Ein weiters Problem ist, dass wenn ich nach dem User anlegen (NUR DB) die seite Aktualisiere, wird mir der User nochmal angelegt.
Und da weiss ich auch keinen Rat wo und vorallem WIE ich da was ändern muss dass der User dann nur 1 mal angelegt bleibt ;-)Ne ganz einfache Methode ist es auf ne Seite weiterzuleiten wo du kurz ne bestätigung gibts und dann wieder auf die Seite weiterleitest die gewünscht ist

http://img338.imageshack.us/img338/4968/weiterleitung.png (http://img338.imageshack.us/i/weiterleitung.png/)

err000r
20.05.2010, 21:19
habe jetzt nur kurz drüber gelesen. dein problem mit dem doppelten datensatz kann man mit der datenbankstruktur ändern. wenn du die datenbank anlegst, setze ein UNIQUE, dann werden identische datensätze ignoriert.

litlein
24.05.2010, 17:18
Um beides gleichzeitig anzulegen, kopiere einfach die System.php in die Datei rein, wo du auch den User in der Datenbank anlegst. So wird bei einem Submit beides ausgeführt und du musst die Sachen nicht irgendwie weitergeben.

K3nny
25.05.2010, 11:57
OMFG ^^ Vielen dank, da hätte ich auch selber drauf kommen können ;-)

Ich werd ma beide Mthoden Probieren, mal gucken welche besser rüber kommt. VIELEN VIELEN DANK....

Ich hoffe ihr helft mir weiter wenn ich wieder ein paar fragen habe ;-)

Muss ich schon nicht immer ein extra THread öffnen