🔒 Closed Anu kaya kulang sa code ko?

Status
Not open for further replies.

loktoy

Established
bakit kaya ganito error ko

Warning: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 94

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 94

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 98

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 98

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 109

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 109

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 110

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 110

Warning
: Undefined array key "new-picture" in C:\xampp\htdocs\Innerjoin\user\profile.php on line 116

Warning
: Trying to access array offset on value of type null in C:\xampp\htdocs\Innerjoin\user\profile.php on line 116

ito code ko :
<div class="mt-3">
<input class="form-control" type="text" name="old-picture" value="<?php echo $picture; ?>">
<label for="formFile" class="form-label ">Upload Image</label>
<input class="form-control" type="file" name="new-profile" onchange ="displayPreview(this.files)" id="formFile">
</div>
<center>
<span id="preview"></span>
</center>
<hr class="my-4">
<button class="w-100 mb-2 btn btn-sm btn-lg rounded-3 btn-primary" name= "update" type="submit">Update</button>
</div>
</div>
</form>
<?php
if (isset($_POST['update'])){
$user_id =$_POST ['user_id'];
$payee_name = $_POST['fname'];
$email_address = $_POST['email'];
$username = $_POST['nname'];
$password = $_POST['pword'];
$cpword = $_POST['cpword'];
$old_picture = $_POST['old-picture'];
$new_picture = $_FILES['new-picture']['name'];
if($new_picture !==''){
$update_filename = $_FILES['new-picture']['name'];
}
else {
$update_filename = $old_picture;
}
$mysqli_query = "UPDATE registration SET payee_name = '$payee_name', email_address = '$email_address', username = '$username', password = '$password', confirm_password = '$cpword', image = '$update_filename' WHERE user_id = '$user_id'";
$query_run =mysqli_query($con, $mysqli_query);
if ($query_run){
if($_FILES['new-picture']['name'] !==''){
$image_name = $_FILES['new-picture']['name'];
$exploded_array = explode('.',$image_name);
$ext = end($exploded_array);
$image_name = "Profile_picture".rand(000,999).'.'.$ext;
$source_path = $_FILES['new-picture']['tmp_name'];
$destination_path = "photo_folder/".$image_name;

$uploadOk = 1;
if ($uploadOk == 1) {
if (move_uploaded_file($source_path, $destination_path)) {
$file_path = mysqli_real_escape_string($con, $destination_path);
unlink("photo_folder/" .$old_picture);
}else{
} }}
}}
?>
 
Ang error na iyong nakikita ay nagmumula sa mga undefined array keys at pag-access sa array offsets ng isang null value. Ito ay nangyayari dahil sa mga sumusunod na posibleng mga dahilan:

1. Undefined Array Key: Ito ay nagrerefer sa pag-access sa isang key sa isang array na hindi pa naideklara. Sa iyong code, nakikita natin ang mga undefined array keys na "new-picture" at "old-picture". Upang malunasan ito, siguraduhin na mayroong mga values para sa mga ito bago mo sila gamitin.

2. Trying to Access Array Offset on Value of Type Null: Ito ay nagrerefer sa pag-access sa isang offset ng isang array na ang value ay null. Ang mga undefined array keys na nabanggit sa itaas ay nagreresulta sa mga ganitong mga error. Upang malunasan ito, maaari mong suriin kung ang value ng array ay hindi null bago mo subukang ma-access ang offset nito.

Isa pang bagay na maaaring maging sanhi ng error ay ang hindi wastong paggamit ng variable names sa iyong code. Siguraduhin na ang mga variable names na iyong ginagamit sa pag-access ng mga values sa $_POST at $_FILES arrays ay tumpak at naaayon sa mga naideklarang mga keys.

Narito ang ilang mga pagpapayo upang maayos ang iyong code:

1. Palitan ang mga references sa "new-picture" at "old-picture" sa iyong HTML form ng tamang mga variable names. Halimbawa, palitan ang "new-profile" ng "new-picture" sa attribute na "name" ng input element.

2. Siguraduhin na may mga default values para sa "new-picture" at "old-picture" bago mo sila gamitin sa iyong PHP code. Maaari mong gamitin ang isset() function upang suriin kung mayroong mga values para sa mga ito.

3. I-update ang mga references ng mga undefined array keys sa iyong PHP code. Halimbawa, palitan ang "new-picture" ng "new-profile" at "old-picture" ng "old-picture" sa mga references ng $_FILES at $_POST arrays.

4. Suriin kung ang mga variable names na iyong ginagamit sa pag-access ng mga values sa $_POST at $_FILES arrays ay tumpak at naaayon sa mga naideklarang mga keys. Siguraduhing ang mga variable names na iyong ginagamit ay tumpak na nairepresenta ang mga naideklarang keys.

5. Surin ang iba pang bahagi ng iyong code upang matiyak na walang ibang mga error na nagdudulot ng mga warning na iyong nakikita.

Sana ay natulungan ka ng mga payo na ito. Kung mayroon kang iba pang mga katanungan, mangyaring sabihin lamang.
 
Status
Not open for further replies.

About this Thread

  • 3
    Replies
  • 495
    Views
  • 2
    Participants
Last reply from:
Unknown user

Trending Topics

Online now

Members online
1,277
Guests online
3,317
Total visitors
4,594

Forum statistics

Threads
2,307,381
Posts
29,178,642
Members
1,193,376
Latest member
lordhokageone
Back
Top