• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

2 kleine fragen/probleme

Status
Für weitere Antworten geschlossen.

Vos

Neues Mitglied
1)

ich wollte ein kleines Rechte system schreiben, also hab ich mal angefangen,
zuerst in ner Datenbank neue tabelle mit 2 spalten einmal User, und rechte,

die ruf ich ab und lese die rechte aus, die ausgelesenen rechte geb ich in ein array und von daaus sollen sie dan einzelt abgerufen werden können, dabei bedeutet 1 = hat das recht und 0 = hat das recht nicht!

hier mal der code:

PHP:
<?php
include ("../dblogin.php");
$sql = "SELECT nick, rechte FROM game_user WHERE nick='$nutzer' ";
$adressen_query_rechteanzeigen = mysql_query($sql) or die("Anfrage nicht erfolgreich2");
while ($adr = mysql_fetch_array($adressen_query_rechteanzeigen)){
$allerechte = array($adr['rechte']);
}
if ($allerechte[0] == 1){
echo "ja";
}
else{
echo"nein";
}
if ($allerechte[1] == 1){
echo "ja";
}
else{
echo "nein";
}

in der DB würde zb
1, 0
stehen, ausgeben tut der dies auch das hab ich shcon mit nem array befehl getest,

die erste if abfrage wird auch korrekt ausgeführt,
jetzt kommt im raus

janein

ist ja auch richtig nur jetzt ändern wir die 0 zur eins und anstat
jaja
komt
janein

der zweite eintrag im array wird immer als 0 gelesen? warum hab ich fehler im code?

2)
ich habe zu jedem user auch eine email adresse in der db gespeichert, diese soll der user selbständig ändern können, jedoch bei zahlen funtioniert es 100% nur buchstaben kann er nicht ändern? warum dies?

ihr auch mal der code

HTML:
<form action="andern_email.php"  method="POST">
<tr>
<td colspan="2" class="designU">
<center>E-Mail &auml;ndern</center>
</td>
</tr>
<tr>
<td class="designN">Neue E-mail adresse:</td><td class="designN"><input type="text" name="NEmail" maxlength="40" id="intern_textfelder"></td>
</tr>
<tr>
<td class="designN">&nbsp;</td><td class="designN"><input type="submit" value="&Auml;ndern"></td>
</tr>
</form>

// tabelle geht im noch weiter ist nur ein teil der tabelle

PHP:
include ("../dblogin.php");
$sql = "UPDATE game_user SET email = ".$_POST["NEmail"]." WHERE nick = '$nutzer' ";
$adressen_query_email = mysql_query($sql) or die("Anfrage nicht erfolgreich2");
header ("Location: account.php?erfolg_email=1");

also dan lautet der fehler Anfrage nicht erfolgreich2

an der einstellugn des feldes in der DB kann es ja nich liegen da ich manuel in der datenbank die adresse ändern kan?

danke für antworten ich hoffe man versteht was ich meine!

grüße
 
Zuletzt bearbeitet von einem Moderator:
1. Wenn in der DB "1,0" steht, also mit dem Komma, muss dein Code wie folgt lauten:
while ($adr = mysql_fetch_array($adressen_query_rechteanzeigen)){
$allerechte = explode(",",$adr['rechte']);

2. Du musst bei SET in deinem Query den Wert in einfache Anführungen setzen. Also
SET email = '".$_POST["NEmail"]."'
 
jo türlich funst dat vielen dank nochmal!!!

aber ich hab noch ein kleines frägchen ich hab schon im netz gesucht und ich mein das ich das problem schonmal hatte aber ich weiß nich mehr wie mans löst,

wie krieg ich es hin, das wenn ich einen text aus einem TEXTAREA in ein DB speicher das dan absetzte, 3 leerzeichen ect auch gespeichert werden? es is nervig dies alles mit html zu formatieren... ich hab in meiner DB das feld auf TEXT stehen!

Grüße und danke
 
Nein nicht rausholen... sondern mit Zeilenumbrüchen abspeichern,

also ich hab ein <textarea> und da schreibt der user
d
d
d
d

rein, so nun drückt der auf okay oder was was ich und das php script speicher das in die db, so wenn das nun wieder aufgerufen wird mit php, kommt

dddd

raus, ändern kann man das, ist mir klar, sofort beim der eingabe <br>
also
d<br>
d<br>
d<br>
d<br>
dabeischreiben das will ihc aber nich lol
 
Probiers mal so:
PHP:
<?php
$sql = "INSERT INTO bla (name, text) VALUES ('".$_POST['name']."', '".nl2br($_POST['text'])."')";
?>
Sprich, speicher deinen Text doch gleich mit den Zeilenumbrüchen.
 
Die Zeilenumbruche werden mitgespeichert! Schau dir mal deine Einträge in PhpMyAdmin an. Du musst nur bei der Ausgabe der Einträge dann nl2br(); verwenden. Das wandelt die Zeilenumbrüche in </ br> um!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben