MYSQL update Problem

Fruppsi

Mitglied
Guten Abend, Ich habe ein Problem beim updaten von MKysql Daten über ein Formular, das Formular wird mit action post an eine Datei zum verarbeiten weitergegeben , nun wollte ich in dieser abfragen op dass Passwortfeld leer ist oder nicht und je nahc dem dass passwort updaten oder eben nicht , allerdings bekomme ich immer die Fehlermeldung dass man nicht updaten Konnte
PHP:
<?php
session_start();
if(!session_is_registered('nick') || $_SESSION['nick'] == "") {
	header("location:login.php");
	die;
}
include"../config/config.inc.php";
$connection = mysql_connect ($host,$user,$pw)
			  	or die ("Connectiounsfehler");
			  mysql_select_db($numm)
			  	or die ("Dei Datenbank existeiert net!");
$nick=$_SESSION['nick'];	
$vnumm = $_POST['vnumm'];
$nnumm = $_POST['nnumm'];
$pass = MD5($_POST['password']);
$mail = $_POST['mail'];

if($_POST['password'] != $_POST['password2']) {
	echo '<form action="intern.php" method="post">';
	echo '<p align="center">D Passwierder sin verschidden<br><br>';
	echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
	echo '<input type="submit" name="zurueck" value="Zur&uuml;ck"></p>';
	echo '</form>';
}elseif($_POST['password'] = ""){
$ufro = "UPDATE $usertabell SET vnumm ='".$vnumm."' , SET numm ='".$nnumm."' ,SET mail ='".$mail."' WHERE nick ='".$nick."'";
}else {
$ufro = "UPDATE $usertabell SET vnumm =$vnumm , SET numm =$nnumm ,SET mail =$mail,SET pw =$pass WHERE nick ='".$nick."'";
}
if (mysql_db_query ($numm, $ufro, $connection)) {
print ("<p align=\"center\">User Daten geupdate<br><br><a href=\"intern.php\">Internen Bereich</a></p>");
} else {
print ("<p align=\"center\">Problem beim updaten<br><br><a href=\"intern.php\">Zereck</a></p>");
}

?>

Das ist der Code der Verarbeittungsdatei,

Hier der Teil der für meine Fehlermeldung zuständig ist nach einmal:
PHP:
if (mysql_db_query ($numm, $ufro, $connection)) {
print ("<p align=\"center\">User Daten geupdate<br><br><a href=\"intern.php\">Internen Bereich</a></p>");
} else {
print ("<p align=\"center\">Problem beim updaten<br><br><a href=\"intern.php\">Zereck</a></p>");
}

Danke im Vorraus
 
Hallo,

wenn du mysql_select_db() bereits gemacht hast, kannst du gleich mit mysql_query() arbeiten, dann erspart du dir hinten immer wieder die $connection Angabe.

Wieso steht im mysql_query ein $nnumm? Was enthält diese Variable? Ich würde das query einfach nur mit $ufro ausführen.

Lg Andi
 
Hallo,

wenn du mysql_select_db() bereits gemacht hast, kannst du gleich mit mysql_query() arbeiten, dann erspart du dir hinten immer wieder die $connection Angabe.

Wieso steht im mysql_query ein $nnumm? Was enthält diese Variable? Ich würde das query einfach nur mit $ufro ausführen.

Lg Andi
habe das jetzt versucht dies löst main Problem leider nicht, Trotzdem danke
 
Gewöhne dir bitte an, richtige Fehlermeldungen auszugeben.
Siehe Script...

Und Versuch das erstmal:
PHP:
<?php
session_start();
if(!isset ( $_SESSION['nick'] || $_SESSION['nick'] == "") {
    header("location:login.php");
    exit; // EXIT, nicht DIE
}
include"../config/config.inc.php";
$connection = mysql_connect ($host,$user,$pw)
                  or die ("Connectiounsfehler");
              mysql_select_db($numm)
                  or die ("Dei Datenbank existeiert net!");
$nick=$_SESSION['nick'];    
$vnumm = $_POST['vnumm'];
$nnumm = $_POST['nnumm'];
$pass = MD5($_POST['password']);
$mail = $_POST['mail'];

if($_POST['password'] != $_POST['password2']) {
    echo '<form action="intern.php" method="post">';
    echo '<p align="center">Die Passwoerter sind verschieden<br><br>';
    echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
    echo '<input type="submit" name="zurueck" value="Zur&uuml;ck"></p>';
    echo '</form>';
}elseif($_POST['password'] = ""){

$ufro = 'UPDATE
            `' .$usertabell. '`
        SET
            `vnumm` = "' .$vnumm. '",
            `numm` = "' .$nnumm. '" ,
            `mail` = "' .$mail. '"
        WHERE
            `nick` = "' .$nick. '"';
            
}else {

$ufro = 'UPDATE
            `' .$usertabell. '`
        SET
            `vnumm` = "' .$vnumm. '",
            `numm` = "' .$nnumm. '" ,
            `mail` = "' .$mail. '",
            `pw` = "'. $pass. '"
        WHERE
            `nick` = "' .$nick. '"';
}

if ( mysql_query ($ufro) ) { // mysql_db_query nicht mehr benutzen. Die Vebrindungskennung ist in deinem Fall auch nicht nötig.

    echo "<p align=\"center\">User Daten geupdate<br><br><a href=\"intern.php\">Internen Bereich</a></p>";

} else {
        
        echo mysql_errno(). ': ' mysql_error(); // "Richtige" Fehlermeldung
        #echo "<p align=\"center\">Problem beim updaten<br><br><a href=\"intern.php\">Zereck</a></p>";

    }

?>

//edit: Ausserdem ist es immer hilfreich var_dump oder print_r auf $_POST, $_SESSION usw. anzuwenden. Oftmals sind einfach irgendwelche
Variablen leer. Und das kann ich zum Beispiel dann nicht mehr nachvollziehen.
 
Zuletzt bearbeitet:
Danke für dioe Antwort,

Jetzt bekomm ich jedoch folgende fehlermeldung

Parse error: syntax error, unexpected T_BOOLEAN_OR, expecting ',' or ')' in /var/www/webXXX/html/test/user/editwork.php on line 3
 
Tschuldigung, hab ne Klammer vergessen:
PHP:
if( !isset ( $_SESSION['nick'] ) || $_SESSION['nick'] == "")
 
ok nach dem ich folgendes
PHP:
 ': '
bei
PHP:
 echo mysql_errno(). ': ' mysql_error(); // "Richtige" Fehlermeldung
weggelassen habe , und und aus errno error lief das ganze , Vielen Vielen Herzlichen dank für eure Hilfe
 
Jaaa, da hab ich einen Punkt vergessen :-(

PHP:
echo mysql_errno(). ': ' .mysql_error(); // "Richtige" Fehlermeldung
 
Nun arbeite ich mit dem Templatesystem aus dem Tutorials von hier ,und wollte Folegnder massen mein Menu aufbauen
PHP:
<table>
	<tr><th><a href="javascript:setRequest('home')">Startsait</a></th></tr>
	<?php include"config/config.inc.php";
	$connection = mysql_connect ($host,$user,$pw)
			  	or die ("Connectiounsfehler");
			  mysql_select_db($numm)
			  	or die ("Dei Datenbank existeiert net!");

$ufro = "SELECT * from $artikeltabell where menu ='Jo'";
$result = mysql_db_query ($numm, $ufro, $connection);
 while ($ausgabe = mysql_fetch_array ($result))
 {echo("<tr><th><a href=\"index.php?id=$ausgabe[id]\">$ausgabe[Betreff]</a></th></tr>");}?>
</table>

um mit Get zu arbeiten musste ich noch die module.php bearbeiten die sieht jetzt soi aus :
PHP:
<?php 
$id=$_GET['id']; 
include"config/config.inc.php";
$connection = mysql_connect ($host,$user,$pw)
			  	or die ("Connectiounsfehler");
			  mysql_select_db($numm)
			  	or die ("Dei Datenbank existeiert net!");
if(!defined('CONFIG')) {
    include("config.php");
    include("functions.php");
}
    elseif($_POST['disp'] == true) {
        display($_POST['mod']);
        die();
    }
        
    elseif(isset($_POST['mod']) AND file_exists(MOD_DIR.$_POST['mod'].MOD_EXT)){
        include(MOD_DIR.$_POST['mod'].MOD_EXT);}

	elseif($_GET['id'] == ""){
	$ufro = "SELECT * from $artikeltabell Where startsait ='Jo'";
	$result = mysql_db_query ($numm, $ufro, $connection);
 	while ($ausgabe = mysql_fetch_array ($result))
 	{print("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td>$ausgabe[text]</td>
  </tr>
</table>");}}
else{
	$ufro = "SELECT * from $artikeltabell Where id ='".$id."'";
	$result = mysql_query ($numm, $ufro, $connection);
 	while ($ausgabe = mysql_fetch_array ($result))
 	{print("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td>$ausgabe[text]</td>
  </tr>
</table>");}}?>

Geh ich jetzt auf die seite bekomme ich den artikel wo startsait jo ist angezeigt
aber das menu geht nicht
 
Zurück